RCurl/0000755000176000001440000000000012665263324011342 5ustar ripleyusersRCurl/post.R0000644000176000001440000000142012437571707012453 0ustar ripleyuserslibrary(RCurl) u = "http://requestb.in/168944w1" json = '{ "project": 1, "event_id": "fc6d8c0c43fc4630ad850ee518f1b9d0", "culprit": "my.module.function_name", "timestamp": "2011-05-02T17:41:36", "message": "SyntaxError: Wattttt!" "sentry.interfaces.Exception": { "type": "SyntaxError": "value": "Wattttt!", "module": "__builtins__" } }' hdr = c('X-Sentry-Auth' = 'Sentry sentry_version=2.0, sentry_signature=a3901c854752a61636560638937237c8d7a9561d, sentry_timestamp=1329096377, sentry_key=b70a31b3510c4cf793964a185cfe1fd0, sentry_client=raven-python/1.0') httpPOST(u, httpheader = hdr, postfields = json, verbose = TRUE) RCurl/inst/0000755000176000001440000000000012541076340012310 5ustar ripleyusersRCurl/inst/examples/0000755000176000001440000000000012665241523014132 5ustar ripleyusersRCurl/inst/examples/upload.R0000644000176000001440000000117212437571707015551 0ustar ripleyuserslibrary(RCurl) upFile = system.file("DESCRIPTION", package = "RCurl") postForm("http://eeyore.ucdavis.edu/cgi-bin/testForm1.pl", "fileData" = fileUpload(upFile), .opts = list(verbose = TRUE)) # Give the contents from R postForm("http://eeyore.ucdavis.edu/cgi-bin/testForm1.pl", "fileData" = fileUpload("", paste(readLines(upFile), collapse = "\n")), .opts = list(verbose = TRUE, header = TRUE)) postForm("http://eeyore.ucdavis.edu/cgi-bin/testForm1.pl", "fileData" = fileUpload("", paste(readLines(upFile), collapse = "\n"), "text/plain"), .opts = list(verbose = TRUE, header = TRUE)) RCurl/inst/examples/worm.S0000644000176000001440000000333312437571707015253 0ustar ripleyuserscounter = function(max = 10) { counts = numeric() numRecords = 0 read = function(txt) { id = gsub("^>(.*) .*", "\\1", txt) vals = table(id) for(id in names(vals)) counts[id] <<- ifelse(id %in% names(counts), counts[id], 0) + vals[id] numRecords <<- numRecords + 1 if(numRecords >= max) { msg = list(message = "Reached maximum count") class(msg) = c("CountException", "error", "condition") stop(msg) } # sum(nchar(txt)) } list(read = read, counts = function() counts) } theCount = counter() f = chunk2LineReader(theCount$read) x = postForm("http://www.wormbase.org/db/searches/advanced/dumper", species = "elegans", list = "AC3.8 M7 X IV III:1000..4000", feature = "BLASTX Hits", DNA = "feature coordinates only", flank5 = "0", flank3 = "0", relative = "Chromosome", orientation = "Relative to feature", dump = "Plain TEXT", DUMP = "DUMP", .cgifields = c("feature", "orientation", "dump", "relative", "DNA"), .opts = list(writefunction = f$read)) nchar(x) # DNA = 'feature and flanking sequences', # DUMP = 'DUMP', #species = 'elegans', x = postForm('http://www.wormbase.org/db/searches/advanced/dumper', species="briggsae", list="AC3.8 M7 X IV III:1000..4000", flank3="0", flank5="0", feature="Gene Models", dump = "Plain TEXT", orientation = "Relative to feature", relative = "Chromsome", DNA ="flanking sequences only", .cgifields = paste(c("feature", "orientation", "DNA", "dump", "relative"), collapse=", ")) print(x) RCurl/inst/examples/ftpList.R0000644000176000001440000000100212437571707015702 0ustar ripleyusers library(RCurl) url = "ftp://ftp.wwpdb.org/pub/pdb/data/structures/all/pdb/" fileNames = getURL(url, .opts = list(customrequest = "NLST *.gz") ) fileNames = strsplit(fileNames, "\\\r\\\n")[[1]] # Now you can download these directly but you have to deal # with the compression. This is possible with RCurl by # specifying a binary reader. # Alternatively, get the entiore directory listing and have to pull # the names out of this much bigger download. z = getURL(url, .opts = list(customrequest = "LIST *.gz") ) RCurl/inst/examples/passwd2.S0000644000176000001440000000117312437571707015652 0ustar ripleyusersx = getURL("http://192.168.0.3/stat141/Winter04/Homework/Solutions/index.html", # userpwd = "name:passwd:", # userpwd = "bob:", header = TRUE, verbose = TRUE, cookiefile = "/home/duncan/Rcookies", netrc = TRUE, maxredirs = as.integer(20), netrc.file = "/home2/duncan/.netrc1", followlocation = TRUE) # This is no longer supported in libcurl. # , passwdfunction = promptPassword) RCurl/inst/examples/multi.S0000644000176000001440000000147612665241535015423 0ustar ripleyuserslibrary(RCurl) uris = c("http://www.omegahat.net/index.html", "http://www.omegahat.net/RecentActivities.html", "http://www.omegahat.net/RCurl/index.html", "http://www.omegahat.net/RCurl/philosophy.xml", "http://www.omegahat.net/RCurl/philosophy.html") write = multiTextGatherer(uris) system.time(ans <- getURIAsynchronous(uris, write = write, perform = 1000)) system.time(invisible(getURI(uris, async = FALSE))) atimes = sapply(1:40, function(i) system.time(getURI(uris))) stimes = sapply(1:40, function(i) system.time(getURI(uris, async = FALSE))) times = data.frame(user = c(atimes[1,], stimes[1,]), system = c(atimes[2,], stimes[2,]), elapsed = c(atimes[3,], stimes[3,]), style = factor(c(rep("Asynchronous", 40), rep("Serial", 40)))) RCurl/inst/examples/headers.S0000644000176000001440000000020112437571707015671 0ustar ripleyuserscurl = getCurlHandle() setCurlHeaders(c("Accept" = "text/html"), curl) getURL("http://192.168.0.3", verbose = TRUE, curl = curl) RCurl/inst/examples/post.c0000644000176000001440000000153112437571707015272 0ustar ripleyusers#include int main(int argc, char *argv[]) { CURL *h; char url[] = "http://www.speakeasy.org/~cgires/perl_form.cgi"; CURLcode status; struct curl_httppost *post = NULL, *last = NULL; h = curl_easy_init(); curl_easy_setopt(h, CURLOPT_URL, url); curl_formadd(&post, &last, CURLFORM_PTRNAME, "some_text", CURLFORM_PTRCONTENTS, "Duncan", CURLFORM_END); curl_formadd(&post, &last, CURLFORM_PTRNAME, "choice", CURLFORM_PTRCONTENTS, "Ho", CURLFORM_END); curl_formadd(&post, &last, CURLFORM_PTRNAME, "radbut", CURLFORM_PTRCONTENTS, "eep", CURLFORM_END); curl_formadd(&post, &last, CURLFORM_PTRNAME, "box", CURLFORM_PTRCONTENTS, "box1", CURLFORM_END); curl_easy_setopt(h, CURLOPT_HTTPPOST, post); curl_easy_perform(h); return(0); } RCurl/inst/examples/progress.S0000644000176000001440000000022712665241535016126 0ustar ripleyuserslibrary(RCurl) getURL("http://www.omegahat.net/RCurl/index.html", progressfunction = function(down, up) {print(down); print(up)}, noprogress = FALSE) RCurl/inst/examples/soap.S0000644000176000001440000000161312437571707015230 0ustar ripleyusersbody = '\ \ \ \ \ \n' curlPerform(url="http://services.soaplite.com/hibye.cgi", httpheader=c(Accept="text/xml", Accept="multipart/*", SOAPAction='"http://www.soaplite.com/Demo#hi"', 'Content-Type' = "text/xml; charset=utf-8"), postfields=body, verbose = TRUE ) RCurl/inst/examples/speakeasy.S0000644000176000001440000000044012437571707016250 0ustar ripleyusersprint(postForm("http://www.speakeasy.org/~cgires/perl_form.cgi", "some_text" = "Duncan", "choice" = "Ho", "radbut" = "eep", "box" = "box1, box2" # "box" = "box1" # and try c("box1", "box2") )) RCurl/inst/examples/concurrent.S0000644000176000001440000000437312665241535016452 0ustar ripleyusers# See concurrent.xml for more details library(RCurl) getURIs = function(uris, ..., multiHandle = getCurlMultiHandle(), .perform = TRUE) { content = list() curls = list() for(i in uris) { curl = getCurlHandle() content[[i]] = basicTextGatherer() opts = curlOptions(URL = i, writefunction = content[[i]]$update, ...) curlSetOpt(.opts = opts, curl = curl) multiHandle = push(multiHandle, curl) } if(.perform) { complete(multiHandle) lapply(content, function(x) x$value()) } else { return(list(multiHandle = multiHandle, content = content)) } } uris = c("http://www.omegahat.net/index.html", "http://www.r-project.org/src/contrib/PACKAGES.html", "http://developer.r-project.org/index.html", "http://www.slashdot.org/philosophy.xml", "http://fxfeeds.mozilla.org/rss20.xml", "http://www.nytimes.com/index.html") #atimes = sapply(1:40, function(i) system.time(getURIs(uris, maxconnects = 100))) #stimes = sapply(1:40, function(i) system.time(lapply(uris, getURI))) n = 100 # do one function call for each URI serialTimes = replicate(n, system.time(lapply(uris, getURI))) # do all in function call but sequentially vectorizedTimes = replicate(n, system.time(getURI(uris, async = FALSE))) # use the asynchronous approach performingAsyncTimes = replicate(n, system.time({ getURIs(uris) })) # And do the asynchronous approach more manually asyncTimes = replicate(n, system.time({ z = getURIs(uris, .perform = FALSE) complete(z$multiHandle) lapply(z$content, function(x) x$value()) # Can fetch the download times of the individual documents #sapply(z$multiHandle@subhandles, function(x) getCurlInfo(x)$total.time) })) timings = data.frame(user = c(performingAsyncTimes[1,], vectorizedTimes[1,], serialTimes[1,]), system = c(performingAsyncTimes[2,], vectorizedTimes[2,], serialTimes[2,]), elapsed = c(performingAsyncTimes[3,], vectorizedTimes[3,], serialTimes[3,]), mode = factor(rep(c("Asynchronous", "Vectorized", "Serial"), rep(n, 3)))) RCurl/inst/examples/encoding.R0000644000176000001440000000202012665241535016040 0ustar ripleyuserslibrary(RCurl) Sys.setlocale(, "en_US.UTF-8") x = getURL("http://www.omegahat.net/RCurl/index.html") Encoding(x) f = system.file("NAMESPACE", package = "RCurl") x = postForm("http://eeyore.ucdavis.edu/cgi-bin/testForm1.pl", "fileData" = fileUpload(f), .opts = list(header =TRUE)) x = postForm("http://eeyore.ucdavis.edu/cgi-bin/testForm1.pl", "fileData" = fileUpload(f)) x = postForm("http://eeyore.ucdavis.edu/cgi-bin/testForm1.pl", "fileData" = fileUpload(f), .opts = list(writefunction = function(x) {browser(); nchar(x)})) # This determines the encoding from the HTTP header of the response x = getURL("http://www.cl.cam.ac.uk/%7Emgk25/ucs/examples/UTF-8-demo.txt", header = TRUE, write = function(x) {print(Encoding(x)) # print(nchar(x)) # this causes problems about invalid multibyte string. Why? Are we on a boundary # i.e. the chunks come nchar(x, "bytes")}) RCurl/inst/examples/html.S0000644000176000001440000000002212437571707015223 0ustar ripleyusers function() { } RCurl/inst/examples/omg.netrc0000644000176000001440000000006712665241535015757 0ustar ripleyusersmachine www.omegahat.net login bob password welcome RCurl/inst/examples/postFormPasswd.R0000644000176000001440000000211412665241535017251 0ustar ripleyusers# Perl script (and HTML form for testing in the browser) taken from # http://www.elated.com/articles/form-validation-with-perl-and-cgi/ # Provide the login & password directly postForm("http://www.omegahat.net/RCurl/testPassword/form_validation.cgi", your_name = "Duncan", your_age = "35-55", your_sex = "m", submit = "submit", .opts = list(userpwd = "bob:welcome")) # Get the login & password in ~/.netrc postForm("http://www.omegahat.net/RCurl/testPassword/form_validation.cgi", your_name = "Duncan", your_age = "35-55", your_sex = "m", submit = "submit", .opts = list(netrc = TRUE)) # Get the login & password from a different netrc file postForm("http://www.omegahat.net/RCurl/testPassword/form_validation.cgi", your_name = "Duncan", your_age = "35-55", your_sex = "m", submit = "submit", .opts = list(netrc = TRUE, netrc.file = "/Users/duncan/Projects/org/omegahat/R/RCurl/inst/examples/omg.netrc")) RCurl/inst/examples/concurrent.xml0000644000176000001440000001521312665241535017043 0ustar ripleyusers
Multiple Concurrent Downloads using <r:package>RCurl</r:package>
Overview In this example, we look at how we can send multiple HTTP requests and process them concurrently. The basic idea is this. We specify a collection of URIs to download when establishing the HTTP requests, but don't send any of the requests until they are all constructed. Then, we send the requests and harvest the results. When the last one finishes, we return control to the caller. This is different from processing the requests in the background. In that case, having dispatched the requests, control would be returned to the caller and R would be able to do other things. Notification of pending content from the request would be done via the event loop. This is feasible (at least on Unix), but different from the example we are describing here.
The Basics The implementation requires using the multi interface for libcurl. We create a multi handle and then we create a regular curl handle for each individual request, i.e. for each URI to be fetched. We add each of these regular/easy curl handles to the multi handler and then call curlMultiPerform until it terminates. Terminating means either an error or that each of the requests has completed. To test this, we can fetch pages from the Omegahat Web site: getURIs(c("http://www.omegahat.net/index.html", "http://www.omegahat.net/RecentActivities.html")) To see what effect we have on timing, let's run the asynchronous version and the serial version and compute their times. How does this vary with larger numbers of URIs? The key thing to note is that the user and system CPU times are much lower for the serialized downloads, but the overall elapsed time is significantly higher. This is quite reasonable when one thinks about it. The asynchronous version spends time switching between the downloads, checking if there is anything to be read on each. The serialized version does not have to do this switching but can focus on each single download. The switch is done in a call to select. This can be arranged not to consume CPU time, if I recall correctly, but it will do so if a timeout is specified. This tradeoff between elapsed time and CPU time is a convenient one. The user can chose which is important for their particular situation. Being statisticians, we should repeat the measurement process and get data about the variability of the times taken in each approach. atimes = sapply(1:40, function(i) system.time(getURI(uris))) stimes = sapply(1:40, function(i) system.time(getURI(uris, async = FALSE))) times = data.frame(user = c(atimes[1,], stimes[1,]), system = c(atimes[2,], stimes[2,]), elapsed = c(atimes[3,], stimes[3,]), style = factor(c(rep("Asynchronous", 40), rep("Serial", 40)))) by(times, times$style, summary) times$style: Asynchronous user system elapsed style Min. :0.340 Min. :0.0300 Min. :0.430 Asynchronous:40 1st Qu.:1.665 1st Qu.:0.1275 1st Qu.:2.085 Serial : 0 Median :2.135 Median :0.1700 Median :2.865 Mean :2.319 Mean :0.1790 Mean :3.091 3rd Qu.:2.740 3rd Qu.:0.2025 3rd Qu.:3.683 Max. :5.780 Max. :0.5400 Max. :7.410 ------------------------------------------------------------ times$style: Serial user system elapsed style Min. :0.0500 Min. :0.00000 Min. : 1.780 Asynchronous: 0 1st Qu.:0.0875 1st Qu.:0.00750 1st Qu.: 3.788 Serial :40 Median :0.1050 Median :0.01000 Median : 5.320 Mean :0.1168 Mean :0.01325 Mean : 5.973 3rd Qu.:0.1225 3rd Qu.:0.02000 3rd Qu.: 7.875 Max. :0.2500 Max. :0.04000 Max. :14.020 As usual, a picture makes things clearer. A stripplot of elapsed time shows us the different distributions for the serial and asynchronous transfer. Clearly, the download times for the asynchronous download are significantly shorter than for the serial download. And the variability is also much larger. Stripplots for user and system times show the difference between the two modes of downloading also and that the asynchronous method makes more use of system resources.
library(RCurl)
RCurl/inst/examples/proxy.R0000644000176000001440000000033412437571707015445 0ustar ripleyuserslibrary(RCurl) if(FALSE) { getURL("http://curl.haxx.se/mail/archive-2004-04/0035.html", proxy="wwwproxy.ru.ac.za:3128", proxyauth=TRUE, proxyuserpwd="mysuername:mypassword") #withrelevant username etc } RCurl/inst/examples/time.R0000644000176000001440000000133412437571707015223 0ustar ripleyuserslibrary(RCurl) body = ' GMT ' curlPerform( url = "http://www.nanonull.com/TimeService/TimeService.asmx", httpheader = c(accept = "multipart/*", "Content-Type" = "text/xml; charset=utf-8", SOAPAction = '"http://www.Nanonull.com/TimeService/getTimeZoneTime"'), postfields = body) RCurl/inst/examples/getinfo.S0000644000176000001440000000020512437571707015715 0ustar ripleyuserscurl = getCurlHandle() x = getURL("http://192.168.0.3", verbose = TRUE, curl = curl) getCurlInfo(.Call("R_getCURLInfoEnum"), curl) RCurl/inst/examples/nestedHTML.xml0000644000176000001440000001745612665241535016643 0ustar ripleyusers
Nested HTML Downloads
Overview The goal of this example is to show how we can parse and HTML document and download the files to which it has links, i.e. <a href=...> elements. As we process the original document, we arrange to download the others. There are three possible "obvious" approaches. One approach is to parse the original document in entirety and extract its links (either by fetching the document and then parsing it or "on the fly" by connecting the output of the curl request directly to the xml parser). We then download each of those linked documents. Another approach is to start the parsing of the top-level document and when we encounter a link, we immediately download that and then continue on with the parsing of the original document. In other words, when we encounter a link, we hand control to the downloading of that link. An intermediate approach is to parse the first document and as we encounter a link, send a request for that document and arrange to have it be processed concurrently with the other documents. Essentially, we arrange for the processing of the links to be done asynchronously. Having encountered a link, we don't wait until it is completely downloaded and nor do wait to download all of the links after we have processed the original document. Rather, we add a request to download the link as we encounter it and continue processing.
Asynchronous, concurrent link processing The strategy in this approach is to start the parsing of the original document. We do this in almost exactly the same way that we do in the xmlParser example. That is, we create a multi CURL handler and we create a function that will feed data from the HTTP response to the XML parser when it is required. We then put the downloading of the original/top-level file on the stack for the multi handler. The creation of the regular curl handle and pushing it onto the multiHandle stack is equivalent to handle = getURLAsynchronous(uri, write = streams$getHTTPResponse, multiHandle = multiHandle, perform = FALSE) At this point, the initial HTTP request has not actually been performed and therefore there is no data. And this is good. We want to start the XML parser. So we establish the handlers that will process the elements of interest in our document, e.g. a <ulink> for a Docbook document, or <a> for an HTML document. The function downloadLinks is the function used to do this. And now we are ready to start the XML parser via a call to xmlEventParse. links = downloadLinks(multiHandle, "http://www.omegahat.net", "ulink", "url", verbose = TRUE) xmlEventParse(streams$supplyXMLContent, handlers = links, saxVersion = 2) At this point, the XML parser asks for some input. It calls the supplyXMLContent and this fetches data from the HTTP reply. In our case, this will cause the HTTP request to be sent to the server and we will wait until we get the first part of the document. The XML parser then takes this chunk and parses it. When it encounters an element of interest, i.e. a ulink, it calls the approriate handler function given in links. And this gets the URI of the link and then arranges to add to the multi handle an HTTP request to fetch that document. The next time that the multi curl handle is requested to get input for the XML parser, it will send that new HTTP request and the response will be available. The write handler for the new HTTP request simply collects all the text for the document into a single string. We use basicTextGatherer for this. There is one last little detail before we can access the results. It is possible that the XML event parser will have digested all its input before the downloads for the other documents have finished. There will be nothing causing libcurl to return to process those HTTP responses. So they may be stuck in limbo, with input pending but nobody paying attention. To ensure that this doesn't happen, we can use the complete function to complete all the pending transactions on the multi handle. complete(multiHandle) And now that we have guaranteed that all the processing is done (or an error has occurred), we can access the results. The result of calling downloadLinks gives us a function to access the download documents. links$contents() To get the original document also, we have to look inside the streams object and ask it for the contents that it downloaded. This is why we called HTMLReaderXMLParser with for the save argument. The definition of the XML event handlers is reasonably straightforward at this point. We need a handler function for the link element that adds an HTTP request for the link document to the multi curl handle. And we need a way to get the resulting text back when the request is completed. We maintain a list of text gatherer objects in the variable docs. These are indexed by the names of the documents being downloaded. The function that processes a link element in the XML document merely determines whether the document is already being downloaded (to avoid duplicating the work) or not. If not, it pushes the new request for that document onto the curl handle and returns. This is the function op. There are details about dealing with relative links. We have ignored them here and only dealt with links that have an explicit http: prefix.
library(RCurl)
RCurl/inst/examples/chunks.S0000644000176000001440000000077612665241535015566 0ustar ripleyuserssummer = function() { total = 0.0 numValues = 0 list(read = function(txt) { con = textConnection(txt) on.exit(close(con)) els = scan(con) numValues <<- numValues + length(els) total <<- total + sum(els) "" }, result = function() c(total = total, numValues = numValues)) } s = summer() getURL("http://www.omegahat.net/RCurl/matrix.data", write = chunkToLineReader(s$read)$read) RCurl/inst/examples/logo.jpg0000644000176000001440000000614512437571707015611 0ustar ripleyusersJFIF++ExifMM*C  !"$"$CLd"G !1AQaq2B"6R$37Urst#bDVWu!!1A ?r548oQ)t[` o%$r'6W F3U'6#)oq~ O-k{^) cg9- +5Eƚ[ՇTU޾k=Ç~ڕ, W@S㑐ȹ,w9E.׌`}H-۪We^>+ thԚWVjOQV?8$%TcU%N'Q#\qvSy-}6}YoklWkN~p&ka斠![Vz5ܤ`} j֪dCIprPN36wjJomf,(ޕ 4+ՑM(fZ&Xo4Yq6(D_(VEp/%,?e{;);A5ʋ{PSr":8j:dL&ծ)fߥ)^8ae'<<:-Cf[ A@Osխq8B8d*<#TGxNU5ou8{O3|{=M_m|4FV?5B:vZ 4q7$]q?qxF23uU6}O1T4띙 gMA[6: p !I$xI:)d KfJCUFzO>$<RE'U]iR}BϊWѽ!HPJA^FA'mK{ZXƖ[mwg} VgijQl_VGxsՑFjmJr njqIGeYWʪE)PSxsՑأU!IO >4&w&JDYv3~HmhxkE@Qy-_,k_dk̾~PYhxw4]0 f9D+J#:ҭ;Ǽuj_36N<c8t>=!)1dn糫:^Ӹ6;OS-Z:h ΝOԔ==-lKFҒ9>J:(5ŕ:I HQXu6'h;cȸ*]n:ӋDG9oܡ[cv?p$)sj%'#;H=a9̐/z>HTau)'nEhE 2|jOgrSt뎳KViӪٙхrq#k$hZijTRwwRā{FZu.;D)H}{ӜYͫWzﰺ'dO0էr> ljʣR[Rk-N-B)y

Photo to Upload:

Your Email Address:


Duncan Temple Lang <duncan@wald.ucdavis.edu>
Last modified: Tue Oct 4 09:01:45 PDT 2005 RCurl/inst/examples/xmlParse.xml0000644000176000001440000002164212665241535016457 0ustar ripleyusers
An example of nested downloads using RCurl.
Overview This example uses RCurl to download an HTML document and then collect the name of each link within that document. The purpose of the example is to illustrate how we can combine the RCurl package to download a document and use this directly within the XML (or HTML) parser without having the entire content of the document in memory. We start the download and pass a function to the xmlEventParse function for processing. As that XML parser needs more input, it fetches more data from the HTTP response stream. This is useful for handling very large data that is returned from Web queries. To do this, we need to use the multi interface for libcurl in order to have asynchronous or non-blocking downloading of the document. The idea is quite simple. We initiate the download and associate a "writer" to slurp up the body of the HTTP response. This is registered with libcurl and is invoked whenever libcurl is in control and is processing the HTTP response. If there is information to be read on the HTTP stream from the server, this function reads it and appends it to a variable pending. The second part of this mechanism is that we need a function that is called by xmlEventParse which can provide input to the XML parser. Of course, it will use the content coming from the HTTP server that is collected in the function getHTTPResponse. So we create a sibling function that shares the state of the getHTTPResponse function and so can see the contents of the variable pending. When the XML parser demands some input, our function supplyXMLContent checks to see if pending has non-trivial content (i.e. is not the empty string). If it has some content, it returns that. Otherwise, it tells libcurl to read some more from the HTTP stream. When it hands control to libcurl in this way, libcurl will invoke our getHTTPResponse function, populating the contents of pending. So when libcurl yields control, we will now have content to pass to the XML parser. The only additional issue that we have to deal with in this setup is that the XML event parser asks for input up to a certain size. We cannot necessarily give it all of the content of pending. If pending has more characters than the XML parser wants, we must give it the first maxLen characters and then leave the remainder in pending for the next request from the XML parser. The following generator function defines the two functions that do the pulling of the text from libcurl and the pushing to the XML parser. = maxLen) { ans = substring(pending, 1, maxLen-1) pending <<- substring(pending, maxLen) } else { ans = pending pending <<- "" } if(verbose) cat("Sending '", ans, "' to XML\n", sep = "") ans } list(getHTTPResponse = getHTTPResponse, supplyXMLContent = supplyXMLContent, pending = function() pending, text = function() paste(text, collapse = "") ) } ]]> The remaining part is how we combine these pieces with RCurl and the XML packages to do the parsing in this asynchronous, interleaved manner. The code below performs the basic steps The steps in the code are as explained as follows. We first create a 'multi handle'. This gives us the asynchronous behavior that returns control back to us from libcurl rather than sending the request and slurping back all the data in one single atomic action. Next, we create our functions to do the pulling and pushing of text from HTTP to the XML parser. These are returned from the call to HTTPReaderXMLParser. And we then setup the request to fetch the content of the URI with the call to getURLAsynchronous. Note that we tell it not to actually perform the request, i.e. perform = FALSE. We are just setting it up to be done when the XML parser requests input. This is important as this call must return so that we can call xmlEventParse. If we did perform the request, we would merely start the download and perhaps slurp up some of the response. This would still be available to the XML parser so no data would be lost. It may just marginally spoil the efficiency of the approach, but really only marginally if at all. The next step is to establish the XML event parser. We provide a collection of handlers that process the XML content in the way that we want (see below). And now we are off, and the XML parser will request input and the functions will read from the HTTP stream. To process the links within the Docbook document, we are looking for each ulink element and fetching its url attribute. So we can provide a collection of handlers that consist of a function only for ulink. And it need only look at the attributes it is given and determine if there is a url entry. If there is, it appends the value to its internal collection of links. When we are finished the parsing, we can ask for this collection of links using the additional function links. To run this code, we need to load both the RCurl and XML packages. library(RCurl) library(XML)
Test This is a test that the basic asynchronous mechanism works generally. In this example, we just provide a reader that displays the text from the HTTP response on the console. We create a 'multi handle' and setup the HTTP request with our specialized reader. Then, we call curlMultiPerform to start the ball rolling. This will force one or more invocations of the function f. We can continue to loop until there is no more data available in the 'multi handle' by comparing the number of elements in the stack. 0) status = curlMultiPerform(handle) ]]> Now we can compare the results with what we get from an direct download.
RCurl/inst/examples/concurrent.html0000644000176000001440000001756312665241535017221 0ustar ripleyusers Multiple Concurrent Downloads using RCurl

Multiple Concurrent Downloads using RCurl


Overview

In this example, we look at how we can send multiple HTTP requests and process them concurrently. The basic idea is this. We specify a collection of URIs to download when establishing the HTTP requests, but don't send any of the requests until they are all constructed. Then, we send the requests and harvest the results. When the last one finishes, we return control to the caller.

This is different from processing the requests in the background. In that case, having dispatched the requests, control would be returned to the caller and R would be able to do other things. Notification of pending content from the request would be done via the event loop. This is feasible (at least on Unix), but different from the example we are describing here.

The Basics

The implementation requires using the multi interface for libcurl. We create a multi handle and then we create a regular curl handle for each individual request, i.e. for each URI to be fetched. We add each of these regular/easy curl handles to the multi handler and then call curlMultiPerform() until it terminates. Terminating means either an error or that each of the requests has completed.

getURIs =
function(uris, ..., multiHandle = getCurlMultiHandle(), .perform = TRUE)
{
  content = list()
  curls = list()

  for(i in uris) {
    curl = getCurlHandle()
    content[[i]] = basicTextGatherer()
    opts = curlOptions(URL = i, writefunction = content[[i]]$update, ...)    
    curlSetOpt(.opts = opts, curl = curl)
    multiHandle = push(multiHandle, curl)
  }

  if(.perform) {
     perform(multiHandle)
     lapply(content, function(x) x$value())
   } else {
     return(list(multiHandle = multiHandle, content = content))
   }
}


To test this, we can fetch pages from the Omegahat Web site: getURIs(c("http://www.omegahat.net/index.html", "http://www.omegahat.net/RecentActivities.html")) To see what effect we have on timing, let's run the asynchronous version and the serial version and compute their times.

uris = c("http://www.omegahat.net/index.html", "http://www.omegahat.net/RecentActivities.html")

atime = system.time(z <- getURIs(uris))
stime = system.time(zz <- lapply(uris, getURL))

How does this vary with larger numbers of URIs?

uris = c("http://www.omegahat.net/index.html", 
         "http://www.omegahat.net/RecentActivities.html",
         "http://www.omegahat.net/RCurl/index.html", 
         "http://www.omegahat.net/RCurl/philosophy.xml",
         "http://www.omegahat.net/RCurl/philosophy.html")

atime = system.time(z <- getURIs(uris))
stime = system.time(zz <- lapply(uris, getURL))

The key thing to note is that the user and system CPU times are much lower for the serialized downloads, but the overall elapsed time is significantly higher. This is quite reasonable when one thinks about it. The asynchronous version spends time switching between the downloads, checking if there is anything to be read on each. The serialized version does not have to do this switching but can focus on each single download. The switch is done in a call to select. This can be arranged not to consume CPU time, if I recall correctly, but it will do so if a timeout is specified.

This tradeoff between elapsed time and CPU time is a convenient one. The user can chose which is important for their particular situation.

Being statisticians, we should repeat the measurement process and get data about the variability of the times taken in each approach.
atimes = sapply(1:40, function(i) system.time(getURI(uris)))
stimes = sapply(1:40, function(i) system.time(getURI(uris, async = FALSE)))
times = data.frame(user = c(atimes[1,], stimes[1,]),
                   system = c(atimes[2,], stimes[2,]),
                   elapsed = c(atimes[3,], stimes[3,]),
                   style = factor(c(rep("Asynchronous", 40), rep("Serial", 40))))
by(times, times$style, summary)
times$style: Asynchronous
      user           system          elapsed               style   
 Min.   :0.340   Min.   :0.0300   Min.   :0.430   Asynchronous:40  
 1st Qu.:1.665   1st Qu.:0.1275   1st Qu.:2.085   Serial      : 0  
 Median :2.135   Median :0.1700   Median :2.865                    
 Mean   :2.319   Mean   :0.1790   Mean   :3.091                    
 3rd Qu.:2.740   3rd Qu.:0.2025   3rd Qu.:3.683                    
 Max.   :5.780   Max.   :0.5400   Max.   :7.410                    
------------------------------------------------------------ 
times$style: Serial
      user            system           elapsed                style   
 Min.   :0.0500   Min.   :0.00000   Min.   : 1.780   Asynchronous: 0  
 1st Qu.:0.0875   1st Qu.:0.00750   1st Qu.: 3.788   Serial      :40  
 Median :0.1050   Median :0.01000   Median : 5.320                    
 Mean   :0.1168   Mean   :0.01325   Mean   : 5.973                    
 3rd Qu.:0.1225   3rd Qu.:0.02000   3rd Qu.: 7.875                    
 Max.   :0.2500   Max.   :0.04000   Max.   :14.020                    
As usual, a picture makes things clearer. A stripplot() of elapsed time shows us the different distributions for the serial and asynchronous transfer. Clearly, the download times for the asynchronous download are significantly shorter than for the serial download. And the variability is also much larger.

Stripplots for user and system times show the difference between the two modes of downloading also and that the asynchronous method makes more use of system resources.
library(RCurl)
RCurl/inst/examples/headers2.S0000644000176000001440000000014412437571707015761 0ustar ripleyusersx = getURL("http://192.168.0.3", httpheader = c(Accept="text/html", Duncan="bob"), verbose = TRUE) RCurl/inst/examples/nestedHTML.html0000644000176000001440000002142012665241535016771 0ustar ripleyusers Nested HTML Downloads

Nested HTML Downloads


Overview

The goal of this example is to show how we can parse and HTML document and download the files to which it has links, i.e. <a href=...> elements. As we process the original document, we arrange to download the others. There are three possible "obvious" approaches.
  • One approach is to parse the original document in entirety and extract its links (either by fetching the document and then parsing it or "on the fly" by connecting the output of the curl request directly to the xml parser). We then download each of those linked documents.
  • Another approach is to start the parsing of the top-level document and when we encounter a link, we immediately download that and then continue on with the parsing of the original document. In other words, when we encounter a link, we hand control to the downloading of that link.
  • An intermediate approach is to parse the first document and as we encounter a link, send a request for that document and arrange to have it be processed concurrently with the other documents. Essentially, we arrange for the processing of the links to be done asynchronously. Having encountered a link, we don't wait until it is completely downloaded and nor do wait to download all of the links after we have processed the original document. Rather, we add a request to download the link as we encounter it and continue processing.

Asynchronous, concurrent link processing

The strategy in this approach is to start the parsing of the original document. We do this in almost exactly the same way that we do in the xmlParser example. That is, we create a multi CURL handler and we create a function that will feed data from the HTTP response to the XML parser when it is required. We then put the downloading of the original/top-level file on the stack for the multi handler.

uri = "http://www.omegahat.net/index.html"
uri = "http://www.omegahat.net/RCurl/philosophy.xml"

multiHandle = getCurlMultiHandle()
streams = HTTPReaderXMLParser(multiHandle, save = TRUE)

curl = getCurlHandle(URL = uri, writefunction = streams$getHTTPResponse)
multiHandle = push(multiHandle, curl)


[1] At this point, the initial HTTP request has not actually been performed and therefore there is no data. And this is good. We want to start the XML parser. So we establish the handlers that will process the elements of interest in our document, e.g. a <ulink> for a Docbook document, or <a> for an HTML document. The function downloadLinks() is the function used to do this. And now we are ready to start the XML parser via a call to xmlEventParse() .
links = downloadLinks(multiHandle, "http://www.omegahat.net", "ulink", "url", verbose = TRUE)
xmlEventParse(streams$supplyXMLContent, handlers = links, saxVersion = 2)

At this point, the XML parser asks for some input. It calls the supplyXMLContent and this fetches data from the HTTP reply. In our case, this will cause the HTTP request to be sent to the server and we will wait until we get the first part of the document. The XML parser then takes this chunk and parses it. When it encounters an element of interest, i.e. a ulink, it calls the approriate handler function given in links. And this gets the URI of the link and then arranges to add to the multi handle an HTTP request to fetch that document. The next time that the multi curl handle is requested to get input for the XML parser, it will send that new HTTP request and the response will be available. The write handler for the new HTTP request simply collects all the text for the document into a single string. We use basicTextGatherer() for this.

There is one last little detail before we can access the results. It is possible that the XML event parser will have digested all its input before the downloads for the other documents have finished. There will be nothing causing libcurl to return to process those HTTP responses. So they may be stuck in limbo, with input pending but nobody paying attention. To ensure that this doesn't happen, we can use the complete() function to complete all the pending transactions on the multi handle.
complete(multiHandle)

And now that we have guaranteed that all the processing is done (or an error has occurred), we can access the results. The result of calling downloadLinks() gives us a function to access the download documents.
links$contents()

To get the original document also, we have to look inside the streams object and ask it for the contents that it downloaded. This is why we called HTMLReaderXMLParser() with TRUE for the save argument.

The definition of the XML event handlers is reasonably straightforward at this point. We need a handler function for the link element that adds an HTTP request for the link document to the multi curl handle. And we need a way to get the resulting text back when the request is completed. We maintain a list of text gatherer objects in the variable docs. These are indexed by the names of the documents being downloaded.

The function that processes a link element in the XML document merely determines whether the document is already being downloaded (to avoid duplicating the work) or not. If not, it pushes the new request for that document onto the curl handle and returns. This is the function op() .

There are details about dealing with relative links. We have ignored them here and only dealt with links that have an explicit http: prefix.

downloadLinks =
function(curlm, base, elementName = "a", attr = "href", verbose = FALSE)
{
 docs = list()

 contents = function() { 
    sapply(docs, function(x) x$value())
 }

 ans =  list(docs = function() docs,
             contents = contents)


 op = function(name, attrs, ns, namespaces) {

   if(attr %in% names(attrs)) {

      u = attrs[attr]
      if(length(grep("^http:")) == 0)
         return(FALSE)

      if(!(u %in% names(docs))) {
         if(verbose)
            cat("Adding", u, "to document list\n")
         write = basicTextGatherer()
         curl = getCurlHandle(URL = u, writefunction = write$update)
         curlm <<- push(curlm, curl)

         docs[[u]] <<- write
      }
   }

   TRUE
 }

 ans[elementName] = op
 
 ans
}


library(RCurl)



HTTPReaderXMLParser




[1] The creation of the regular curl handle and pushing it onto the multiHandle stack is equivalent to

handle = getURLAsynchronous(uri, 
                           write = streams$getHTTPResponse,
                           multiHandle = multiHandle, perform = FALSE)


RCurl/inst/examples/curl.c0000644000176000001440000000063612665241535015253 0ustar ripleyusers#include char *DefaultURL = "http://www.omegahat.net/index.html"; int main(int argc, char *argv[]) { CURL *h; char **url; CURLcode status; *url = DefaultURL; h = curl_easy_init(); status = curl_easy_setopt(h, CURLOPT_URL, NULL); if(status) { fprintf(stderr, "Expected error %d", status);fflush(stderr); } curl_easy_setopt(h, CURLOPT_URL, *url); curl_easy_perform(h); return(0); } RCurl/inst/examples/elapsed.png0000644000176000001440000002435012437571707016270 0ustar ripleyusersPNG  IHDRN0*gAMABO pHYs  $tEXtSoftwareQuickTime 7.0.2 (Mac OS X)BtIME X3 IDATxUC9 EIfUŬ觀kX㺦\VaY DEATPPa^Ɓ8s{~U}:L#9 &`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&` hǎow3qٳӻHbҳgn~cXw^:ujz7Xp^:$g,DL"&`0I"'qЫ׆.ժUKqxɜ㋌&qɔ)S:IxZjI&Mdoh޼y%K^zz7\\\lܸQ4h&p`0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I݀sN믥^zRXTnڵ?~ɛ7o/YD*U$39wL_-%ȕݶGK*8λ(r}Ld{%ELxN3me;WLnV]lPdE?Kdz=ـ7odɒEW~J--"r]C5aHUٴ(/eȿf|Xh_zHzh`-uko"NZ>p϶yȸDH`!R=.<] s!mΑE!(_Z$ #K@?L;B[6C:oE$H u'Rra^Յ4u{Hbۺ=vځjx~ 7m۷WUm4ƸqM.,_szSm.=}cn]'\n?/:¾ƅ.a֝c¶n<'7I2GsuyVaj?Ehܾ//l?um胥n" mO& T,_\֬Y^fc;1{81c˞50t16H<.>T>CvON7+ /:NFK}S&6/"^^Qe"rLXI-,2jȷk)C~ 4X!: !KNNW\g`8o =v .u< Lk- tI+RPP&'6j?sm{w}x<5?ZUui[gek㬩Mtu8 \?6(?i eiT i_1ogz4~wJÑx-;J_ ([ϩ9ϧTZGKxL{p֝P0atcmڴΝ;ˤI|կ_s\tEGkt^{[nU\Ŋo߾2mڴ3&שU%ҡf8uRVάT. ~m>^dPu‘4;kh(=sEϴpa7\/B55څ@2akCw"A~vyMpnpaXȝ #-EnZD ׅO;zoPu Fp*UB) g@Z=,}_MGzt:6t} ]br<-Cp@ )g ՁM6)~x8ZmyB_Ϋje*?G^/4 synN'~uu;)}=:9.aÆ2l0\CұcG)P;Vz%o] +)"ݺu=zȨQSz:CA+ptVj Q^7`=+%O;)+:G߬ WRRaH _Pjg[HAmW GsDMȅݡ+W0tze^. J8w]į;6閕/G.cpZj9֕zeV. +yhwnŒUy%P[6.8-ψt;TIz@ZHO!, Ke+ݻwaݻwPXѢEsny;8 NB =-ч֭9rH<޻wڵWbz:Jp6I;k# 1Yj̙ߔ^휕W!#&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DLMlʕaÆ4_Ǝ;t#kZ/СCҬY3W=:͖ / 7 W\qE-#XU?EiRNyǟ~z;(ҮzxͱL[)tw@MNqZDoɗCTUErwN"\[Ƌ\\VdTGLDzkku˝H|$moOzl#RȥDBwsMwn'"2nrf <7]EY]enu];sfs(nȅDz]-#k7Kdn-n})G&!C"NdۮskFϟ/6m:N:u{S>}.>>^7o.V[oʕ+'?^ӲeK)St׹gv_:E"w1OokkB8>C'ؽBI+D.t/Sja)q!hsmMmwm\ԅ]G]t'Sۭ\{>4wyVGÆ ɤIᅲVZI~ /{??c ɓ'dɒE Cnʔ)2`K/T-[&v) ɯZڶmo>Nxb)[ 8Pol!P4@JT bȜ)T"Zatڎھ_[NvSچ̇=kh^ۡP8'whW.6گJo:O7:m{!~a]j mݹ?,KQ|zwяԉm7Fz`ܲ 4ʟ?2vX*K,a_ I_~}2ĉ2~xi׮GܹO+2^ʧPB1 s =PTѢE^*c3^RcM_|~?,:ujڍ\VQ"K6#vɹMv/;CeCr J%?]u*6CCh}ο=~VY)C ktppF\_!rvО%[DnUnӮ&׿unkAW+Jm6X>'CC煪eP}:dOB֢> è~p-1*oC@iUPA&u:5m㄰"տ=`Qo 40V`oyJbŎ9.Lg7n\s%ߓ'O/0oQsg:jo߾>S۞3ׁb,JmN"/c/ҭQVj?tl]pUE `BK2 禆jC" ml^ׁ_TFt>(?鳥. J1 M.*aߟ/v.H׆u!7[)?T`Z4sj[f20 qM/t}]mb*1 n3G0Ur̉TsfcE}/L4 QG߿{L}Q?k&Mg}ҥ<ңG_1K{nݺI…}މLUߕW^)7à*U;f͚>zMt|RaJRtϔOk0ܤt8Np_pLg><,#Pfy}Wx\.4tZ^ [9:䴓 e$TNaiw&AA߱yp<~ƍҠA4*UHxiPezizjKLx˧*5mr᥎^+#sjiW))0Z^0 &`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0I$ `0DL"&`0ILލ8[lڴI "y9tsJ!-[_ӻ)HK Y]J.-_~|ݤZ*U䩧ZjyLFG9`ȶmێ*Td.7w!k׮weػHŊe֭Go޼YW-BLƍoeʔIڵkyDơC:Ge zCK./=9}ЧOyW߿Y1cę3g_g޹s8sqGn\}Ւ/_>?WT!tMҲeK>$$'OM4 )×f@zOQ>2+qPzRqf#&q `0DL"&`0Ipӯ^⿃" HC~ष\r?meƌzO> KBҘ~erO~c~ H iǯ˗?,7|+R&N6m?Jٲe.+V{>)Y4h_3[޽ZN۶ms_O4I{93f1BƎkժ6l(SL^Le{wzs=͗\r"dt"4__[o/zҹsg /f~C}ݒ-[68p[Nf͚xrʽgGB~}k&uP҅ ʰat:eoٲ%M1N !ilӦMV*;1ׯ3 ߵRŋ~ڟ?ٳT\WN+Wk޼7UVK˝R/kP<ҩS'_#<駟|%׫W/߾}~:o$h * ͚5QUiӦG^ֺu^p,hgߡC?4&gΜGߵkבWwtNAZojU3Hǎk4T!z<=7ƆODJth0j͛'s9*΁iLh%ÀJ8Z >5R:XjU)Rԋ=ʕ+']v,YaGJԋ/RӰҥRB_==km۶dۭdhթ?GeԮ][~Ǔ*0 ,jK*qpw}.\X.U^%4zHzQȠAviwLQ%zI,&sgJk6OУV2hlpYb4/kb؉H!fIfg?':#c+xiXoS= %𰥾_OO>~lQ2c.]6l{N&C^mW!7Ϙ3v:xne<]vݜ}^o!? ='nwry; ͫ}κ5o)Bg~3ݽ]w]y]xyh |;ZGșyqxiO:MNw y]ٷflm-'ׁC=uôA.g};|8|.I)zC`gbSN]FՉ/vYf;_6eon8;C6m*Sgk6nGup=x}&]5Xg/4l?g>fπ{3[k^+xb[&DF6 ۽;xpҌtlv7^?zi7"'oa]ٰ}:;f8a^C-PO^׳/޸;f׎>⦹ |i8ꎢgi9 [C=Nډ_ |_Gg@ƙd-'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`xԏe*;&p* ?aǏb;'0ہϚ ]˽soo  ww?XaC_tr"{MO-{сG<,ۑ8K;y(Q^y'0< O`x'0'KDv{4wuoy]ٵUZi/WvB][_Utf<]>ʕNr?ǭ~Z+A$WY+}tSt (zMOH`x'0< O`x'0< O`xACIENDB`RCurl/inst/examples/passwd.S0000644000176000001440000000127012437571707015566 0ustar ripleyuserspromptPassword = function(prompt, len) { cat(prompt, ": (max of ", len, " characters)> ", sep="") scan(what = "", nmax = 1) } getURL("http://192.168.0.2/stat141/Winter04/Homework/Solutions", passwdfunction = promptPassword) x = getURL("https://my.ucdavis.edu", userpwd = "", header = TRUE, verbose = TRUE, cookiefile = "/home/duncan/Rcookies", netrc = TRUE, maxredirs = as.integer(20), #netrc.file = "/home2/duncan/.netrc1", followlocation = TRUE) # , passwdfunction = promptPassword) print(x) RCurl/inst/examples/cis1.R0000644000176000001440000000310612437571707015123 0ustar ripleyusersif(FALSE) { require(RCurl) require(XML) #myCurl = getCurlHandle() #getURL("http://www.statindex.org/CIS/psqlQuery/", cookiejar = "-", curl = myCurl) #.opts = list(cookie = '_ZopeId="19324353A25Uc.N15jM"', verbose = TRUE)) zopeId = '"39704374A25hoMfuqVU"' # "39704374A25hoMfuqVU" mycookie <- '_ZopeId="19324353A25Uc.N15jM"' CISQuery <- function(author = "Ihaka", title = "", keyword = "", journal = "", yearbeg = "", yearend = "", format = "bib", url = "http://www.statindex.org/CIS/psqlQuery/Searcher", zope = zopeId, cookie= mycookie){ v <- postForm(url, skip = "+", authed = "+", authed = "a", authorstring = author, titlestring = title, keywordstring = keyword, jnt = "jp", jnamestring = journal, pt= "+", pt = "b", pt = "j", pt = "p", pt = "+", yearbeg = yearbeg, yearend = yearend, startDisplay = "1", endDisplay = "50", fmt = format, .opts = list(cookie = paste('_ZopeId=', zope, sep = ""), verbose = TRUE)) g <- htmlTreeParse(v, asText = TRUE, useInternal = TRUE) if(length(g["//*[. = 'You are not an authenticated user']"])) stop("Not an authenticated CIS user") print(saveXML(g)) x = g[["//body/pre"]] browser() h <- h[["pre"]][["text"]] i <- unlist(strsplit(h$value,"@"))[-1] j <- gsub("\n+$","",i) k <- gsub("^","@",j) l <- sapply(k, function(x) strsplit(x,"\n"),USE.NAMES = FALSE) lapply(l,function(x) {x; class(x) <- "Bibtex"; x}) } f <- CISQuery() } RCurl/inst/examples/CIS/0000755000176000001440000000000012665241523014550 5ustar ripleyusersRCurl/inst/examples/CIS/cis.R0000644000176000001440000000333612437571707015465 0ustar ripleyusers# From Roger Koenker. "http://www.statindex.org/CIS/CIS/CIS/psqlQuery/Searcher?>>> > skip=+&authed=>>> > +&authed=a&authed=e&authorstring=koenker&titlestring=rank&keywordstrin>>> > g=&jnt=jp&jnamestring=&pt=+&pt=b&pt=j&pt=p&pt=+&yearbeg=&yearend=&startDisplay=1&endDisplay=50&fmt=extended scis <- "http://www.statindex.org/CIS/CIS/CIS/psqlQuery/Searcher?skip=+&authed=+&authed=a&authed=e&authorstring=koenker&titlestring=rank&keywordstring=&jnt=jp&jnamestring=&pt=+&pt=b&pt=j&pt=p&pt=+&yearbeg=&yearend=&startDisplay=1&endDisplay=50&fmt=extended" h = getCurlHandle(cookiejar = "/tmp/MyCookies") # XXX Fill in user id and password here. postForm("https://www.amstat.org/membersonly/index.cfm?fuseaction=login", txtUser = "106823", txtPassword = "Jasper8Hazel", curl = h) #getURL("https://www.amstat.org/membersonly/index.cfm?fuseaction=CISWeb") # This gets us back the _ZopeId cookie v = getURI("https://www.statindex.org/psqlQuery", curl = h) u = "http://www.statindex.org/psqlQuery" u = "http://www.statindex.org/CIS/psqlQuery/Searcher" u = "http://www.statindex.org/psqlQuery/Searcher" newHandle = getCurlHandle(cookie = '_ZopeId="44748384A25VQtBtVWY"') cookie = '_ZopeId="59407264A25VRGMoY0Q"' tmp = postForm(u, skip = "+", authed = "+", authed = "a", authorstring = "Ihaka", titlestring = "", keywordstring ="", jnt = "jp", jnamestring = "", pt= "+", pt = "b", pt = "j", pt = "p", pt = "+", yearbeg = "", yearend = "", startDisplay = "1", endDisplay = "50", fmt = "extended", .opts = list(verbose = TRUE), curl = h) # cookie = '_ZopeId="95878868A25Ttl.5Nd0"' getForm("https://www.statindex.org/psqlQuery") ########################################################################### RCurl/inst/examples/CIS/cis1.R0000644000176000001440000000275612437571707015553 0ustar ripleyusersrequire(RCurl) require(XML) #myCurl = getCurlHandle() #getURL("http://www.statindex.org/CIS/psqlQuery/", cookiejar = "-", curl = myCurl) #.opts = list(cookie = '_ZopeId="19324353A25Uc.N15jM"', verbose = TRUE)) zopeId = '"39704374A25hoMfuqVU"' mycookie <- '_ZopeId="19324353A25Uc.N15jM"' CISQuery <- function(author = "Ihaka", title = "", keyword = "", journal = "", yearbeg = "", yearend = "", format = "bib", url = "http://www.statindex.org/CIS/psqlQuery/Searcher", zope = zopeId, cookie= mycookie){ v <- postForm(url, skip = "+", authed = "+", authed = "a", authorstring = author, titlestring = title, keywordstring = keyword, jnt = "jp", jnamestring = journal, pt= "+", pt = "b", pt = "j", pt = "p", pt = "+", yearbeg = yearbeg, yearend = yearend, startDisplay = "1", endDisplay = "50", fmt = format, .opts = list(cookie = paste('_ZopeId=', zope, sep = ""), verbose = TRUE)) g <- htmlTreeParse(v, asText = TRUE, useInternal = TRUE) if(length(g["//*[. = 'You are not an authenticated user']"])) stop("Not an authenticated CIS user") print(saveXML(g)) h <- h[["pre"]][["text"]] i <- unlist(strsplit(h$value,"@"))[-1] j <- gsub("\n+$","",i) k <- gsub("^","@",j) l <- sapply(k, function(x) strsplit(x,"\n"),USE.NAMES = FALSE) lapply(l,function(x) {x; class(x) <- "Bibtex"; x}) } f <- CISQuery() RCurl/inst/examples/readHeader.S0000644000176000001440000000036712437571707016317 0ustar ripleyuserslibrary(RCurl) h = basicTextGatherer() txt = getURL("http://192.168.0.3", header= TRUE, headerfunction = h[[1]], httpheader = c(Accept="text/html", Duncan="bob"), verbose = TRUE) read.dcf(textConnection(paste(h$value(NULL)[-1], collapse=""))) RCurl/inst/examples/system.png0000644000176000001440000000504612437571707016200 0ustar ripleyusersPNG  IHDRJ N PLTEEtRNS@* IDATxۍvQ ~$@2|^k-Ӽ ]sع O`x'0< O`x'0< O`x'0< O`xû8ae,o\8Wʅs\8Wʅs\8W>y%0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< (mb* mmc?N$Y,pJ%P[oýJ~u߂-;Z7  C  Zy+U 0j^AwC(:ZApt"pӄi8T8O7S\ξlGw&6kpqvsYնյM nFWQ72ups 8NߛW{7k8y$فK$ϥ<;>5i[yo]* 5E{FGz%hTQhS*xv'w'Vp8N$t< WVepJ/]3U,p -hK ~쇢* '0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`xm޽YZyn+fu[iy< .o"6 Apzok×rsPGp;Qjvrg3fvzW.[nN~ut$\b”Z1+Mҳ:ܼ4|.~n=^ OӽK:ݖ~]Eoa; ]{jx-s ^nо`;4My8<|}wmxsb|Wx8&zr\u6p;HnYVÀ%&z͗s~Jն_`\8)?+ew<]>rΎH;έo}|W۵ O-pfu{ͦ}]ѯ{[3/W <8ymGǻ(zSm2޹8~}~D3;n<E//aqU߱\UT6pȴnkws;߅Wiǹ=>UWYQ*i|*lywW3,*?ml+Upm3 O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`x'0< O`xE}e,o\8Wʅs\8Wʅs\8W'0<] <4]?zǗ9~Y:Ƽ{Z]3rH3Ͳx4*>B> ytǯYӷOZoL/.fóW:P&<4vywWǎ?4cG=´R'`e'0< O`x'0< K9ǿ->oxց'Q5bnZ18)xV?+o}}5yT__[]KA{ zWS?qյy w22[&}h(=n&m An example of nested downloads using RCurl.

An example of nested downloads using RCurl.


Overview

This example uses RCurl to download an HTML document and then collect the name of each link within that document. The purpose of the example is to illustrate how we can combine the RCurl package to download a document and use this directly within the XML (or HTML) parser without having the entire content of the document in memory. We start the download and pass a function to the xmlEventParse() function for processing. As that XML parser needs more input, it fetches more data from the HTTP response stream. This is useful for handling very large data that is returned from Web queries.

To do this, we need to use the multi interface for libcurl in order to have asynchronous or non-blocking downloading of the document. The idea is quite simple. We initiate the download and associate a "writer" to slurp up the body of the HTTP response. This is registered with libcurl and is invoked whenever libcurl is in control and is processing the HTTP response. If there is information to be read on the HTTP stream from the server, this function reads it and appends it to a variable pending. The second part of this mechanism is that we need a function that is called by xmlEventParse() which can provide input to the XML parser. Of course, it will use the content coming from the HTTP server that is collected in the function getHTTPResponse. So we create a sibling function that shares the state of the getHTTPResponse function and so can see the contents of the variable pending. When the XML parser demands some input, our function supplyXMLContent() checks to see if pending has non-trivial content (i.e. is not the empty string). If it has some content, it returns that. Otherwise, it tells libcurl to read some more from the HTTP stream. When it hands control to libcurl in this way, libcurl will invoke our getHTTPResponse() function, populating the contents of pending. So when libcurl yields control, we will now have content to pass to the XML parser.

The only additional issue that we have to deal with in this setup is that the XML event parser asks for input up to a certain size. We cannot necessarily give it all of the content of pending. If pending has more characters than the XML parser wants, we must give it the first maxLen characters and then leave the remainder in pending for the next request from the XML parser.

The following generator function defines the two functions that do the pulling of the text from libcurl and the pushing to the XML parser.

HTTPReaderXMLParser =
function(curl, verbose = FALSE, save = FALSE)
{
   pending =  ""
   text = character()

   getHTTPResponse = 
   function(txt) {

      pending <<- paste(pending, txt, sep = "")

      if(save)
        text <<- c(text, txt)

      if(verbose) {
        cat("Getting more information from HTTP response\n")
        print(pending)
      }

      ""  # Give back something real.
   }

  supplyXMLContent = 
   function(maxLen) {
      if(verbose)
        cat("Getting data for XML parser\n")


     if(pending == "") {

         if(verbose)
            cat("Need to fetch more data for XML parser from HTTP response\n")

         while(pending == "") {
            status = curlMultiPerform(curl, multiple = TRUE)
            if(status[2] == 0) 
               break
         } 
     }

     if(pending == "") {
         # There is no more input available from this request.
       return(character())
     }


      # Now, we have the text, and we return at most maxLen - 1
      # characters
     if(nchar(pending) >= maxLen) {
        ans = substring(pending, 1, maxLen-1)
        pending <<- substring(pending, maxLen)
     } else {
        ans = pending
        pending <<- ""
     }

     if(verbose)
        cat("Sending '", ans, "' to XML\n", sep = "")

     ans
   }

   list(getHTTPResponse = getHTTPResponse,
        supplyXMLContent = supplyXMLContent,
        pending = function() pending,
        text = function() paste(text, collapse = "")
       )
}


The remaining part is how we combine these pieces with RCurl and the XML packages to do the parsing in this asynchronous, interleaved manner. The code below performs the basic steps

uri = "http://www.omegahat.net/RCurl/philosophy.xml"


handle = getCurlMultiHandle()
streams = HTTPReaderXMLParser(handle)

uri = "http://www.omegahat.net/RDoc/overview.xml"
handle = getURLAsynchronous(uri, 
                           write = streams$getHTTPResponse,
                           multiHandle = handle, 
                           perform = FALSE)

links = getDocbookLinks() 
xmlEventParse(streams$supplyXMLContent, handlers = links, saxVersion = 2)
links$links()

The steps in the code are as explained as follows. We first create a 'multi handle'. This gives us the asynchronous behavior that returns control back to us from libcurl rather than sending the request and slurping back all the data in one single atomic action. Next, we create our functions to do the pulling and pushing of text from HTTP to the XML parser. These are returned from the call to HTTPReaderXMLParser() . And we then setup the request to fetch the content of the URI with the call to getURLAsynchronous() . Note that we tell it not to actually perform the request, i.e.
perform = FALSE

. We are just setting it up to be done when the XML parser requests input. This is important as this call must return so that we can call xmlEventParse() . [1] The next step is to establish the XML event parser. We provide a collection of handlers that process the XML content in the way that we want (see below). And now we are off, and the XML parser will request input and the functions will read from the HTTP stream.

To process the links within the Docbook document, we are looking for each ulink element and fetching its url attribute. So we can provide a collection of handlers that consist of a function only for ulink. And it need only look at the attributes it is given and determine if there is a url entry. If there is, it appends the value to its internal collection of links. When we are finished the parsing, we can ask for this collection of links using the additional function links.

getDocbookLinks =
function()
{
 links = character()

 ulink = function(name, attrs, ns, namespaces) {
    if("url" %in% names(attrs))
      links[length(links) + 1 ] <<- attrs["url"]
 }

 list(ulink = ulink,
      links = function() links)
}


To run this code, we need to load both the RCurl and XML packages.
library(RCurl)
library(XML)

Test

This is a test that the basic asynchronous mechanism works generally. In this example, we just provide a reader that displays the text from the HTTP response on the console. We create a 'multi handle' and setup the HTTP request with our specialized reader. Then, we call curlMultiPerform() to start the ball rolling. This will force one or more invocations of the function f() . We can continue to loop until there is no more data available in the 'multi handle' by comparing the number of elements in the stack.



[1] If we did perform the request, we would merely start the download and perhaps slurp up some of the response. This would still be available to the XML parser so no data would be lost. It may just marginally spoil the efficiency of the approach, but really only marginally if at all.

RCurl/inst/enums/0000755000176000001440000000000012665241523013443 5ustar ripleyusersRCurl/inst/enums/Renums.c0000644000176000001440000002636212437571707015100 0ustar ripleyusers#include int main(int argc, char *argv[]) { fprintf(stdout, "CURLOPT_FILE = %d\n", CURLOPT_FILE); fprintf(stdout, "CURLOPT_URL = %d\n", CURLOPT_URL); fprintf(stdout, "CURLOPT_PORT = %d\n", CURLOPT_PORT); fprintf(stdout, "CURLOPT_PROXY = %d\n", CURLOPT_PROXY); fprintf(stdout, "CURLOPT_USERPWD = %d\n", CURLOPT_USERPWD); fprintf(stdout, "CURLOPT_PROXYUSERPWD = %d\n", CURLOPT_PROXYUSERPWD); fprintf(stdout, "CURLOPT_RANGE = %d\n", CURLOPT_RANGE); fprintf(stdout, "CURLOPT_INFILE = %d\n", CURLOPT_INFILE); fprintf(stdout, "CURLOPT_ERRORBUFFER = %d\n", CURLOPT_ERRORBUFFER); fprintf(stdout, "CURLOPT_WRITEFUNCTION = %d\n", CURLOPT_WRITEFUNCTION); fprintf(stdout, "CURLOPT_READFUNCTION = %d\n", CURLOPT_READFUNCTION); fprintf(stdout, "CURLOPT_TIMEOUT = %d\n", CURLOPT_TIMEOUT); fprintf(stdout, "CURLOPT_INFILESIZE = %d\n", CURLOPT_INFILESIZE); fprintf(stdout, "CURLOPT_POSTFIELDS = %d\n", CURLOPT_POSTFIELDS); fprintf(stdout, "CURLOPT_REFERER = %d\n", CURLOPT_REFERER); fprintf(stdout, "CURLOPT_FTPPORT = %d\n", CURLOPT_FTPPORT); fprintf(stdout, "CURLOPT_USERAGENT = %d\n", CURLOPT_USERAGENT); fprintf(stdout, "CURLOPT_LOW_SPEED_LIMIT = %d\n", CURLOPT_LOW_SPEED_LIMIT); fprintf(stdout, "CURLOPT_LOW_SPEED_TIME = %d\n", CURLOPT_LOW_SPEED_TIME); fprintf(stdout, "CURLOPT_RESUME_FROM = %d\n", CURLOPT_RESUME_FROM); fprintf(stdout, "CURLOPT_COOKIE = %d\n", CURLOPT_COOKIE); fprintf(stdout, "CURLOPT_HTTPHEADER = %d\n", CURLOPT_HTTPHEADER); fprintf(stdout, "CURLOPT_HTTPPOST = %d\n", CURLOPT_HTTPPOST); fprintf(stdout, "CURLOPT_SSLCERT = %d\n", CURLOPT_SSLCERT); fprintf(stdout, "CURLOPT_KEYPASSWD = %d\n", CURLOPT_KEYPASSWD); fprintf(stdout, "CURLOPT_CRLF = %d\n", CURLOPT_CRLF); fprintf(stdout, "CURLOPT_QUOTE = %d\n", CURLOPT_QUOTE); fprintf(stdout, "CURLOPT_WRITEHEADER = %d\n", CURLOPT_WRITEHEADER); fprintf(stdout, "CURLOPT_COOKIEFILE = %d\n", CURLOPT_COOKIEFILE); fprintf(stdout, "CURLOPT_SSLVERSION = %d\n", CURLOPT_SSLVERSION); fprintf(stdout, "CURLOPT_TIMECONDITION = %d\n", CURLOPT_TIMECONDITION); fprintf(stdout, "CURLOPT_TIMEVALUE = %d\n", CURLOPT_TIMEVALUE); fprintf(stdout, "CURLOPT_CUSTOMREQUEST = %d\n", CURLOPT_CUSTOMREQUEST); fprintf(stdout, "CURLOPT_STDERR = %d\n", CURLOPT_STDERR); fprintf(stdout, "CURLOPT_POSTQUOTE = %d\n", CURLOPT_POSTQUOTE); fprintf(stdout, "CURLOPT_WRITEINFO = %d\n", CURLOPT_WRITEINFO); fprintf(stdout, "CURLOPT_VERBOSE = %d\n", CURLOPT_VERBOSE); fprintf(stdout, "CURLOPT_HEADER = %d\n", CURLOPT_HEADER); fprintf(stdout, "CURLOPT_NOPROGRESS = %d\n", CURLOPT_NOPROGRESS); fprintf(stdout, "CURLOPT_NOBODY = %d\n", CURLOPT_NOBODY); fprintf(stdout, "CURLOPT_FAILONERROR = %d\n", CURLOPT_FAILONERROR); fprintf(stdout, "CURLOPT_UPLOAD = %d\n", CURLOPT_UPLOAD); fprintf(stdout, "CURLOPT_POST = %d\n", CURLOPT_POST); fprintf(stdout, "CURLOPT_DIRLISTONLY = %d\n", CURLOPT_DIRLISTONLY); fprintf(stdout, "CURLOPT_APPEND = %d\n", CURLOPT_APPEND); fprintf(stdout, "CURLOPT_NETRC = %d\n", CURLOPT_NETRC); fprintf(stdout, "CURLOPT_FOLLOWLOCATION = %d\n", CURLOPT_FOLLOWLOCATION); fprintf(stdout, "CURLOPT_TRANSFERTEXT = %d\n", CURLOPT_TRANSFERTEXT); fprintf(stdout, "CURLOPT_PUT = %d\n", CURLOPT_PUT); fprintf(stdout, "CURLOPT_PROGRESSFUNCTION = %d\n", CURLOPT_PROGRESSFUNCTION); fprintf(stdout, "CURLOPT_PROGRESSDATA = %d\n", CURLOPT_PROGRESSDATA); fprintf(stdout, "CURLOPT_AUTOREFERER = %d\n", CURLOPT_AUTOREFERER); fprintf(stdout, "CURLOPT_PROXYPORT = %d\n", CURLOPT_PROXYPORT); fprintf(stdout, "CURLOPT_POSTFIELDSIZE = %d\n", CURLOPT_POSTFIELDSIZE); fprintf(stdout, "CURLOPT_HTTPPROXYTUNNEL = %d\n", CURLOPT_HTTPPROXYTUNNEL); fprintf(stdout, "CURLOPT_INTERFACE = %d\n", CURLOPT_INTERFACE); fprintf(stdout, "CURLOPT_KRBLEVEL = %d\n", CURLOPT_KRBLEVEL); fprintf(stdout, "CURLOPT_SSL_VERIFYPEER = %d\n", CURLOPT_SSL_VERIFYPEER); fprintf(stdout, "CURLOPT_CAINFO = %d\n", CURLOPT_CAINFO); fprintf(stdout, "CURLOPT_MAXREDIRS = %d\n", CURLOPT_MAXREDIRS); fprintf(stdout, "CURLOPT_FILETIME = %d\n", CURLOPT_FILETIME); fprintf(stdout, "CURLOPT_TELNETOPTIONS = %d\n", CURLOPT_TELNETOPTIONS); fprintf(stdout, "CURLOPT_MAXCONNECTS = %d\n", CURLOPT_MAXCONNECTS); fprintf(stdout, "CURLOPT_CLOSEPOLICY = %d\n", CURLOPT_CLOSEPOLICY); fprintf(stdout, "CURLOPT_FRESH_CONNECT = %d\n", CURLOPT_FRESH_CONNECT); fprintf(stdout, "CURLOPT_FORBID_REUSE = %d\n", CURLOPT_FORBID_REUSE); fprintf(stdout, "CURLOPT_RANDOM_FILE = %d\n", CURLOPT_RANDOM_FILE); fprintf(stdout, "CURLOPT_EGDSOCKET = %d\n", CURLOPT_EGDSOCKET); fprintf(stdout, "CURLOPT_CONNECTTIMEOUT = %d\n", CURLOPT_CONNECTTIMEOUT); fprintf(stdout, "CURLOPT_HEADERFUNCTION = %d\n", CURLOPT_HEADERFUNCTION); fprintf(stdout, "CURLOPT_HTTPGET = %d\n", CURLOPT_HTTPGET); fprintf(stdout, "CURLOPT_SSL_VERIFYHOST = %d\n", CURLOPT_SSL_VERIFYHOST); fprintf(stdout, "CURLOPT_COOKIEJAR = %d\n", CURLOPT_COOKIEJAR); fprintf(stdout, "CURLOPT_SSL_CIPHER_LIST = %d\n", CURLOPT_SSL_CIPHER_LIST); fprintf(stdout, "CURLOPT_HTTP_VERSION = %d\n", CURLOPT_HTTP_VERSION); fprintf(stdout, "CURLOPT_FTP_USE_EPSV = %d\n", CURLOPT_FTP_USE_EPSV); fprintf(stdout, "CURLOPT_SSLCERTTYPE = %d\n", CURLOPT_SSLCERTTYPE); fprintf(stdout, "CURLOPT_SSLKEY = %d\n", CURLOPT_SSLKEY); fprintf(stdout, "CURLOPT_SSLKEYTYPE = %d\n", CURLOPT_SSLKEYTYPE); fprintf(stdout, "CURLOPT_SSLENGINE = %d\n", CURLOPT_SSLENGINE); fprintf(stdout, "CURLOPT_SSLENGINE_DEFAULT = %d\n", CURLOPT_SSLENGINE_DEFAULT); fprintf(stdout, "CURLOPT_DNS_USE_GLOBAL_CACHE = %d\n", CURLOPT_DNS_USE_GLOBAL_CACHE); fprintf(stdout, "CURLOPT_DNS_CACHE_TIMEOUT = %d\n", CURLOPT_DNS_CACHE_TIMEOUT); fprintf(stdout, "CURLOPT_PREQUOTE = %d\n", CURLOPT_PREQUOTE); fprintf(stdout, "CURLOPT_DEBUGFUNCTION = %d\n", CURLOPT_DEBUGFUNCTION); fprintf(stdout, "CURLOPT_DEBUGDATA = %d\n", CURLOPT_DEBUGDATA); fprintf(stdout, "CURLOPT_COOKIESESSION = %d\n", CURLOPT_COOKIESESSION); fprintf(stdout, "CURLOPT_CAPATH = %d\n", CURLOPT_CAPATH); fprintf(stdout, "CURLOPT_BUFFERSIZE = %d\n", CURLOPT_BUFFERSIZE); fprintf(stdout, "CURLOPT_NOSIGNAL = %d\n", CURLOPT_NOSIGNAL); fprintf(stdout, "CURLOPT_SHARE = %d\n", CURLOPT_SHARE); fprintf(stdout, "CURLOPT_PROXYTYPE = %d\n", CURLOPT_PROXYTYPE); fprintf(stdout, "CURLOPT_ENCODING = %d\n", CURLOPT_ENCODING); fprintf(stdout, "CURLOPT_PRIVATE = %d\n", CURLOPT_PRIVATE); fprintf(stdout, "CURLOPT_HTTP200ALIASES = %d\n", CURLOPT_HTTP200ALIASES); fprintf(stdout, "CURLOPT_UNRESTRICTED_AUTH = %d\n", CURLOPT_UNRESTRICTED_AUTH); fprintf(stdout, "CURLOPT_FTP_USE_EPRT = %d\n", CURLOPT_FTP_USE_EPRT); fprintf(stdout, "CURLOPT_HTTPAUTH = %d\n", CURLOPT_HTTPAUTH); fprintf(stdout, "CURLOPT_SSL_CTX_FUNCTION = %d\n", CURLOPT_SSL_CTX_FUNCTION); fprintf(stdout, "CURLOPT_SSL_CTX_DATA = %d\n", CURLOPT_SSL_CTX_DATA); fprintf(stdout, "CURLOPT_FTP_CREATE_MISSING_DIRS = %d\n", CURLOPT_FTP_CREATE_MISSING_DIRS); fprintf(stdout, "CURLOPT_PROXYAUTH = %d\n", CURLOPT_PROXYAUTH); fprintf(stdout, "CURLOPT_FTP_RESPONSE_TIMEOUT = %d\n", CURLOPT_FTP_RESPONSE_TIMEOUT); fprintf(stdout, "CURLOPT_IPRESOLVE = %d\n", CURLOPT_IPRESOLVE); fprintf(stdout, "CURLOPT_MAXFILESIZE = %d\n", CURLOPT_MAXFILESIZE); fprintf(stdout, "CURLOPT_INFILESIZE_LARGE = %d\n", CURLOPT_INFILESIZE_LARGE); fprintf(stdout, "CURLOPT_RESUME_FROM_LARGE = %d\n", CURLOPT_RESUME_FROM_LARGE); fprintf(stdout, "CURLOPT_MAXFILESIZE_LARGE = %d\n", CURLOPT_MAXFILESIZE_LARGE); fprintf(stdout, "CURLOPT_NETRC_FILE = %d\n", CURLOPT_NETRC_FILE); fprintf(stdout, "CURLOPT_USE_SSL = %d\n", CURLOPT_USE_SSL); fprintf(stdout, "CURLOPT_POSTFIELDSIZE_LARGE = %d\n", CURLOPT_POSTFIELDSIZE_LARGE); fprintf(stdout, "CURLOPT_TCP_NODELAY = %d\n", CURLOPT_TCP_NODELAY); fprintf(stdout, "CURLOPT_FTPSSLAUTH = %d\n", CURLOPT_FTPSSLAUTH); fprintf(stdout, "CURLOPT_IOCTLFUNCTION = %d\n", CURLOPT_IOCTLFUNCTION); fprintf(stdout, "CURLOPT_IOCTLDATA = %d\n", CURLOPT_IOCTLDATA); fprintf(stdout, "CURLOPT_FTP_ACCOUNT = %d\n", CURLOPT_FTP_ACCOUNT); fprintf(stdout, "CURLOPT_COOKIELIST = %d\n", CURLOPT_COOKIELIST); fprintf(stdout, "CURLOPT_IGNORE_CONTENT_LENGTH = %d\n", CURLOPT_IGNORE_CONTENT_LENGTH); fprintf(stdout, "CURLOPT_FTP_SKIP_PASV_IP = %d\n", CURLOPT_FTP_SKIP_PASV_IP); fprintf(stdout, "CURLOPT_FTP_FILEMETHOD = %d\n", CURLOPT_FTP_FILEMETHOD); fprintf(stdout, "CURLOPT_LOCALPORT = %d\n", CURLOPT_LOCALPORT); fprintf(stdout, "CURLOPT_LOCALPORTRANGE = %d\n", CURLOPT_LOCALPORTRANGE); fprintf(stdout, "CURLOPT_CONNECT_ONLY = %d\n", CURLOPT_CONNECT_ONLY); fprintf(stdout, "CURLOPT_CONV_FROM_NETWORK_FUNCTION = %d\n", CURLOPT_CONV_FROM_NETWORK_FUNCTION); fprintf(stdout, "CURLOPT_CONV_TO_NETWORK_FUNCTION = %d\n", CURLOPT_CONV_TO_NETWORK_FUNCTION); fprintf(stdout, "CURLOPT_CONV_FROM_UTF8_FUNCTION = %d\n", CURLOPT_CONV_FROM_UTF8_FUNCTION); fprintf(stdout, "CURLOPT_MAX_SEND_SPEED_LARGE = %d\n", CURLOPT_MAX_SEND_SPEED_LARGE); fprintf(stdout, "CURLOPT_MAX_RECV_SPEED_LARGE = %d\n", CURLOPT_MAX_RECV_SPEED_LARGE); fprintf(stdout, "CURLOPT_FTP_ALTERNATIVE_TO_USER = %d\n", CURLOPT_FTP_ALTERNATIVE_TO_USER); fprintf(stdout, "CURLOPT_SOCKOPTFUNCTION = %d\n", CURLOPT_SOCKOPTFUNCTION); fprintf(stdout, "CURLOPT_SOCKOPTDATA = %d\n", CURLOPT_SOCKOPTDATA); fprintf(stdout, "CURLOPT_SSL_SESSIONID_CACHE = %d\n", CURLOPT_SSL_SESSIONID_CACHE); fprintf(stdout, "CURLOPT_SSH_AUTH_TYPES = %d\n", CURLOPT_SSH_AUTH_TYPES); fprintf(stdout, "CURLOPT_SSH_PUBLIC_KEYFILE = %d\n", CURLOPT_SSH_PUBLIC_KEYFILE); fprintf(stdout, "CURLOPT_SSH_PRIVATE_KEYFILE = %d\n", CURLOPT_SSH_PRIVATE_KEYFILE); fprintf(stdout, "CURLOPT_FTP_SSL_CCC = %d\n", CURLOPT_FTP_SSL_CCC); fprintf(stdout, "CURLOPT_TIMEOUT_MS = %d\n", CURLOPT_TIMEOUT_MS); fprintf(stdout, "CURLOPT_CONNECTTIMEOUT_MS = %d\n", CURLOPT_CONNECTTIMEOUT_MS); fprintf(stdout, "CURLOPT_HTTP_TRANSFER_DECODING = %d\n", CURLOPT_HTTP_TRANSFER_DECODING); fprintf(stdout, "CURLOPT_HTTP_CONTENT_DECODING = %d\n", CURLOPT_HTTP_CONTENT_DECODING); fprintf(stdout, "CURLOPT_NEW_FILE_PERMS = %d\n", CURLOPT_NEW_FILE_PERMS); fprintf(stdout, "CURLOPT_NEW_DIRECTORY_PERMS = %d\n", CURLOPT_NEW_DIRECTORY_PERMS); fprintf(stdout, "CURLOPT_POSTREDIR = %d\n", CURLOPT_POSTREDIR); fprintf(stdout, "CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 = %d\n", CURLOPT_SSH_HOST_PUBLIC_KEY_MD5); fprintf(stdout, "CURLOPT_OPENSOCKETFUNCTION = %d\n", CURLOPT_OPENSOCKETFUNCTION); fprintf(stdout, "CURLOPT_OPENSOCKETDATA = %d\n", CURLOPT_OPENSOCKETDATA); fprintf(stdout, "CURLOPT_COPYPOSTFIELDS = %d\n", CURLOPT_COPYPOSTFIELDS); fprintf(stdout, "CURLOPT_PROXY_TRANSFER_MODE = %d\n", CURLOPT_PROXY_TRANSFER_MODE); fprintf(stdout, "CURLOPT_SEEKFUNCTION = %d\n", CURLOPT_SEEKFUNCTION); fprintf(stdout, "CURLOPT_SEEKDATA = %d\n", CURLOPT_SEEKDATA); fprintf(stdout, "CURLOPT_CRLFILE = %d\n", CURLOPT_CRLFILE); fprintf(stdout, "CURLOPT_ISSUERCERT = %d\n", CURLOPT_ISSUERCERT); fprintf(stdout, "CURLOPT_ADDRESS_SCOPE = %d\n", CURLOPT_ADDRESS_SCOPE); fprintf(stdout, "CURLOPT_CERTINFO = %d\n", CURLOPT_CERTINFO); fprintf(stdout, "CURLOPT_USERNAME = %d\n", CURLOPT_USERNAME); fprintf(stdout, "CURLOPT_PASSWORD = %d\n", CURLOPT_PASSWORD); fprintf(stdout, "CURLOPT_PROXYUSERNAME = %d\n", CURLOPT_PROXYUSERNAME); fprintf(stdout, "CURLOPT_PROXYPASSWORD = %d\n", CURLOPT_PROXYPASSWORD); fprintf(stdout, "CURLOPT_NOPROXY = %d\n", CURLOPT_NOPROXY); fprintf(stdout, "CURLOPT_TFTP_BLKSIZE = %d\n", CURLOPT_TFTP_BLKSIZE); fprintf(stdout, "CURLOPT_SOCKS5_GSSAPI_SERVICE = %d\n", CURLOPT_SOCKS5_GSSAPI_SERVICE); fprintf(stdout, "CURLOPT_SOCKS5_GSSAPI_NEC = %d\n", CURLOPT_SOCKS5_GSSAPI_NEC); fprintf(stdout, "CURLOPT_PROTOCOLS = %d\n", CURLOPT_PROTOCOLS); fprintf(stdout, "CURLOPT_REDIR_PROTOCOLS = %d\n", CURLOPT_REDIR_PROTOCOLS); fprintf(stdout, "CURLOPT_LASTENTRY = %d\n", CURLOPT_LASTENTRY); } RCurl/inst/HTTPErrors/0000755000176000001440000000000012665241523014270 5ustar ripleyusersRCurl/inst/HTTPErrors/makeErrorClasses.R0000644000176000001440000000125512437571707017672 0ustar ripleyusers doc = htmlTreeParse("http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", useInternal = TRUE) types = xpathSApply(doc, "//h3", xmlValue) types = gsub("^10\\.[0-9]+(\\.[0-9]+)? ", "", types) types = types [ - grep("[0-9]xx$", types) ] scan(con, what = c("integer", "character")) status = gsub("^([0-9]+).*", "\\1", types) name = gsub("[0-9]+ (.*)", "\\1", types) name = gsub(" ", "_", name) sQuote = function(x) paste("'", x, "'", sep = "") cat("# Generated from inst/HTTPErrors/makeErrorClasses.R\n", "httpErrorClasses =\nc(", paste(sQuote( status ), sQuote(name), sep = " = ", collapse = ",\n "), "\n)", file = "~/Projects/org/omegahat/R/RCurl/R/httpErrors.R") RCurl/inst/CurlSSL/0000755000176000001440000000000012665241523013603 5ustar ripleyusersRCurl/inst/CurlSSL/ca-bundle.crt0000644000176000001440000103773312437571707016174 0ustar ripleyusers## ## ca-bundle.crt -- Bundle of CA Root Certificates ## ## This is a bundle of X.509 certificates of public ## Certificate Authorities (CA). These were automatically ## extracted from Mozilla's NSS v3.7 library's certificate database ## ## It contains the certificates in both ## plain text and PEM format and therefore can be directly used ## with an Apache+mod_ssl webserver for SSL client authentication. ## Just configure this file as the SSLCACertificateFile. ## ## (SKIPME) ## ABAecom (sub., Am. Bankers Assn.) Root CA ========================================= MD5 Fingerprint=41:B8:07:F7:A8:D1:09:EE:B4:9A:8E:70:4D:FC:1B:78 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDtTCCAp2gAwIBAgIRANAeQJAAAEZSAAAAAQAAAAQwDQYJKoZIhvcNAQEFBQAw gYkxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJEQzETMBEGA1UEBxMKV2FzaGluZ3Rv bjEXMBUGA1UEChMOQUJBLkVDT00sIElOQy4xGTAXBgNVBAMTEEFCQS5FQ09NIFJv b3QgQ0ExJDAiBgkqhkiG9w0BCQEWFWFkbWluQGRpZ3NpZ3RydXN0LmNvbTAeFw05 OTA3MTIxNzMzNTNaFw0wOTA3MDkxNzMzNTNaMIGJMQswCQYDVQQGEwJVUzELMAkG A1UECBMCREMxEzARBgNVBAcTCldhc2hpbmd0b24xFzAVBgNVBAoTDkFCQS5FQ09N LCBJTkMuMRkwFwYDVQQDExBBQkEuRUNPTSBSb290IENBMSQwIgYJKoZIhvcNAQkB FhVhZG1pbkBkaWdzaWd0cnVzdC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQCx0xHgeVVDBwhMywVCAOINg0Y95JO6tgbTDVm9PsHOQ2cBiiGo77zM 0KLMsFWWU4RmBQDaREmA2FQKpSWGlO1jVv9wbKOhGdJ4vmgqRF4vz8wYXke8OrFG PR7wuSw0X4x8TAgpnUBV6zx9g9618PeKgw6hTLQ6pbNfWiKX7BmbwQVo/ea3qZGU LOR4SCQaJRk665WcOQqKz0Ky8BzVX/tr7WhWezkscjiw7pOp03t3POtxA6k4ShZs iSrK2jMTecJVjO2cu/LLWxD4LmE1xilMKtAqY9FlWbT4zfn0AIS2V0KFnTKo+SpU +/94Qby9cSj0u5C8/5Y0BONFnqFGKECBAgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYB Af8CAQgwDQYJKoZIhvcNAQEFBQADggEBAARvJYbk5pYntNlCwNDJALF/VD6Hsm0k qS8Kfv2kRLD4VAe9G52dyntQJHsRW0mjpr8SdNWJt7cvmGQlFLdh6X9ggGvTZOir vRrWUfrAtF13Gn9kCF55xgVM8XrdTX3O5kh7VNJhkoHWG9YA8A6eKHegTYjHInYZ w8eeG6Z3ePhfm1bR8PIXrI6dWeYf/le22V7hXZ9F7GFoGUHhsiAm/lowdiT/QHI8 eZ98IkirRs3bs4Ysj78FQdPB4xTjQRcm0HyncUwZ6EoPclgxfexgeqMiKL0ZJGA/ O4dzwGvky663qyVDslUte6sGDnVdNOVdc22esnVApVnJTzFxiNmIf1Q= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: d0:1e:40:90:00:00:46:52:00:00:00:01:00:00:00:04 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=DC, L=Washington, O=ABA.ECOM, INC., CN=ABA.ECOM Root CA/Email=admin@digsigtrust.com Validity Not Before: Jul 12 17:33:53 1999 GMT Not After : Jul 9 17:33:53 2009 GMT Subject: C=US, ST=DC, L=Washington, O=ABA.ECOM, INC., CN=ABA.ECOM Root CA/Email=admin@digsigtrust.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:b1:d3:11:e0:79:55:43:07:08:4c:cb:05:42:00: e2:0d:83:46:3d:e4:93:ba:b6:06:d3:0d:59:bd:3e: c1:ce:43:67:01:8a:21:a8:ef:bc:cc:d0:a2:cc:b0: 55:96:53:84:66:05:00:da:44:49:80:d8:54:0a:a5: 25:86:94:ed:63:56:ff:70:6c:a3:a1:19:d2:78:be: 68:2a:44:5e:2f:cf:cc:18:5e:47:bc:3a:b1:46:3d: 1e:f0:b9:2c:34:5f:8c:7c:4c:08:29:9d:40:55:eb: 3c:7d:83:de:b5:f0:f7:8a:83:0e:a1:4c:b4:3a:a5: b3:5f:5a:22:97:ec:19:9b:c1:05:68:fd:e6:b7:a9: 91:94:2c:e4:78:48:24:1a:25:19:3a:eb:95:9c:39: 0a:8a:cf:42:b2:f0:1c:d5:5f:fb:6b:ed:68:56:7b: 39:2c:72:38:b0:ee:93:a9:d3:7b:77:3c:eb:71:03: a9:38:4a:16:6c:89:2a:ca:da:33:13:79:c2:55:8c: ed:9c:bb:f2:cb:5b:10:f8:2e:61:35:c6:29:4c:2a: d0:2a:63:d1:65:59:b4:f8:cd:f9:f4:00:84:b6:57: 42:85:9d:32:a8:f9:2a:54:fb:ff:78:41:bc:bd:71: 28:f4:bb:90:bc:ff:96:34:04:e3:45:9e:a1:46:28: 40:81 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE, pathlen:8 Signature Algorithm: sha1WithRSAEncryption 04:6f:25:86:e4:e6:96:27:b4:d9:42:c0:d0:c9:00:b1:7f:54: 3e:87:b2:6d:24:a9:2f:0a:7e:fd:a4:44:b0:f8:54:07:bd:1b: 9d:9d:ca:7b:50:24:7b:11:5b:49:a3:a6:bf:12:74:d5:89:b7: b7:2f:98:64:25:14:b7:61:e9:7f:60:80:6b:d3:64:e8:ab:bd: 1a:d6:51:fa:c0:b4:5d:77:1a:7f:64:08:5e:79:c6:05:4c:f1: 7a:dd:4d:7d:ce:e6:48:7b:54:d2:61:92:81:d6:1b:d6:00:f0: 0e:9e:28:77:a0:4d:88:c7:22:76:19:c3:c7:9e:1b:a6:77:78: f8:5f:9b:56:d1:f0:f2:17:ac:8e:9d:59:e6:1f:fe:57:b6:d9: 5e:e1:5d:9f:45:ec:61:68:19:41:e1:b2:20:26:fe:5a:30:76: 24:ff:40:72:3c:79:9f:7c:22:48:ab:46:cd:db:b3:86:2c:8f: bf:05:41:d3:c1:e3:14:e3:41:17:26:d0:7c:a7:71:4c:19:e8: 4a:0f:72:58:31:7d:ec:60:7a:a3:22:28:bd:19:24:60:3f:3b: 87:73:c0:6b:e4:cb:ae:b7:ab:25:43:b2:55:2d:7b:ab:06:0e: 75:5d:34:e5:5d:73:6d:9e:b2:75:40:a5:59:c9:4f:31:71:88: d9:88:7f:54 AddTrust External Root ====================== MD5 Fingerprint=1D:35:54:04:85:78:B0:3F:42:42:4D:BF:20:73:0A:3F PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root Validity Not Before: May 30 10:48:38 2000 GMT Not After : May 30 10:48:38 2020 GMT Subject: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:b7:f7:1a:33:e6:f2:00:04:2d:39:e0:4e:5b:ed: 1f:bc:6c:0f:cd:b5:fa:23:b6:ce:de:9b:11:33:97: a4:29:4c:7d:93:9f:bd:4a:bc:93:ed:03:1a:e3:8f: cf:e5:6d:50:5a:d6:97:29:94:5a:80:b0:49:7a:db: 2e:95:fd:b8:ca:bf:37:38:2d:1e:3e:91:41:ad:70: 56:c7:f0:4f:3f:e8:32:9e:74:ca:c8:90:54:e9:c6: 5f:0f:78:9d:9a:40:3c:0e:ac:61:aa:5e:14:8f:9e: 87:a1:6a:50:dc:d7:9a:4e:af:05:b3:a6:71:94:9c: 71:b3:50:60:0a:c7:13:9d:38:07:86:02:a8:e9:a8: 69:26:18:90:ab:4c:b0:4f:23:ab:3a:4f:84:d8:df: ce:9f:e1:69:6f:bb:d7:42:d7:6b:44:e4:c7:ad:ee: 6d:41:5f:72:5a:71:08:37:b3:79:65:a4:59:a0:94: 37:f7:00:2f:0d:c2:92:72:da:d0:38:72:db:14:a8: 45:c4:5d:2a:7d:b7:b4:d6:c4:ee:ac:cd:13:44:b7: c9:2b:dd:43:00:25:fa:61:b9:69:6a:58:23:11:b7: a7:33:8f:56:75:59:f5:cd:29:d7:46:b7:0a:2b:65: b6:d3:42:6f:15:b2:b8:7b:fb:ef:e9:5d:53:d5:34: 5a:27 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: AD:BD:98:7A:34:B4:26:F7:FA:C4:26:54:EF:03:BD:E0:24:CB:54:1A X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Basic Constraints: critical CA:TRUE X509v3 Authority Key Identifier: keyid:AD:BD:98:7A:34:B4:26:F7:FA:C4:26:54:EF:03:BD:E0:24:CB:54:1A DirName:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root serial:01 Signature Algorithm: sha1WithRSAEncryption b0:9b:e0:85:25:c2:d6:23:e2:0f:96:06:92:9d:41:98:9c:d9: 84:79:81:d9:1e:5b:14:07:23:36:65:8f:b0:d8:77:bb:ac:41: 6c:47:60:83:51:b0:f9:32:3d:e7:fc:f6:26:13:c7:80:16:a5: bf:5a:fc:87:cf:78:79:89:21:9a:e2:4c:07:0a:86:35:bc:f2: de:51:c4:d2:96:b7:dc:7e:4e:ee:70:fd:1c:39:eb:0c:02:51: 14:2d:8e:bd:16:e0:c1:df:46:75:e7:24:ad:ec:f4:42:b4:85: 93:70:10:67:ba:9d:06:35:4a:18:d3:2b:7a:cc:51:42:a1:7a: 63:d1:e6:bb:a1:c5:2b:c2:36:be:13:0d:e6:bd:63:7e:79:7b: a7:09:0d:40:ab:6a:dd:8f:8a:c3:f6:f6:8c:1a:42:05:51:d4: 45:f5:9f:a7:62:21:68:15:20:43:3c:99:e7:7c:bd:24:d8:a9: 91:17:73:88:3f:56:1b:31:38:18:b4:71:0f:9a:cd:c8:0e:9e: 8e:2e:1b:e1:8c:98:83:cb:1f:31:f1:44:4c:c6:04:73:49:76: 60:0f:c7:f8:bd:17:80:6b:2e:e9:cc:4c:0e:5a:9a:79:0f:20: 0a:2e:d5:9e:63:26:1e:55:92:94:d8:82:17:5a:7b:d0:bc:c7: 8f:4e:86:04 AddTrust Low-Value Services Root ================================ MD5 Fingerprint=1E:42:95:02:33:92:6B:B9:5F:C0:7F:DA:D6:B2:4B:FC PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEU MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3 b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMw MTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYD VQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ul CDtbKRY654eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6n tGO0/7Gcrjyvd7ZWxbWroulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyl dI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1Zmne3yzxbrww2ywkEtvrNTVokMsAsJch PXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJuiGMx1I4S+6+JNM3GOGvDC +Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8wHQYDVR0O BBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8E BTADAQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBl MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFk ZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENB IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxtZBsfzQ3duQH6lmM0MkhHma6X 7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0PhiVYrqW9yTkkz 43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJl pz/+0WatC7xrmYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOA WiFeIc9TVPC6b4nbqKqVz4vjccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Class 1 CA Root Validity Not Before: May 30 10:38:31 2000 GMT Not After : May 30 10:38:31 2020 GMT Subject: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Class 1 CA Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:96:96:d4:21:49:60:e2:6b:e8:41:07:0c:de:c4: e0:dc:13:23:cd:c1:35:c7:fb:d6:4e:11:0a:67:5e: f5:06:5b:6b:a5:08:3b:5b:29:16:3a:e7:87:b2:34: 06:c5:bc:05:a5:03:7c:82:cb:29:10:ae:e1:88:81: bd:d6:9e:d3:fe:2d:56:c1:15:ce:e3:26:9d:15:2e: 10:fb:06:8f:30:04:de:a7:b4:63:b4:ff:b1:9c:ae: 3c:af:77:b6:56:c5:b5:ab:a2:e9:69:3a:3d:0e:33: 79:32:3f:70:82:92:99:61:6d:8d:30:08:8f:71:3f: a6:48:57:19:f8:25:dc:4b:66:5c:a5:74:8f:98:ae: c8:f9:c0:06:22:e7:ac:73:df:a5:2e:fb:52:dc:b1: 15:65:20:fa:35:66:69:de:df:2c:f1:6e:bc:30:db: 2c:24:12:db:eb:35:35:68:90:cb:00:b0:97:21:3d: 74:21:23:65:34:2b:bb:78:59:a3:d6:e1:76:39:9a: a4:49:8e:8c:74:af:6e:a4:9a:a3:d9:9b:d2:38:5c: 9b:a2:18:cc:75:23:84:be:eb:e2:4d:33:71:8e:1a: f0:c2:f8:c7:1d:a2:ad:03:97:2c:f8:cf:25:c6:f6: b8:24:31:b1:63:5d:92:7f:63:f0:25:c9:53:2e:1f: bf:4d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: 95:B1:B4:F0:94:B6:BD:C7:DA:D1:11:09:21:BE:C1:AF:49:FD:10:7B X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Basic Constraints: critical CA:TRUE X509v3 Authority Key Identifier: keyid:95:B1:B4:F0:94:B6:BD:C7:DA:D1:11:09:21:BE:C1:AF:49:FD:10:7B DirName:/C=SE/O=AddTrust AB/OU=AddTrust TTP Network/CN=AddTrust Class 1 CA Root serial:01 Signature Algorithm: sha1WithRSAEncryption 2c:6d:64:1b:1f:cd:0d:dd:b9:01:fa:96:63:34:32:48:47:99: ae:97:ed:fd:72:16:a6:73:47:5a:f4:eb:dd:e9:f5:d6:fb:45: cc:29:89:44:5d:bf:46:39:3d:e8:ee:bc:4d:54:86:1e:1d:6c: e3:17:27:43:e1:89:56:2b:a9:6f:72:4e:49:33:e3:72:7c:2a: 23:9a:bc:3e:ff:28:2a:ed:a3:ff:1c:23:ba:43:57:09:67:4d: 4b:62:06:2d:f8:ff:6c:9d:60:1e:d8:1c:4b:7d:b5:31:2f:d9: d0:7c:5d:f8:de:6b:83:18:78:37:57:2f:e8:33:07:67:df:1e: c7:6b:2a:95:76:ae:8f:57:a3:f0:f4:52:b4:a9:53:08:cf:e0: 4f:d3:7a:53:8b:fd:bb:1c:56:36:f2:fe:b2:b6:e5:76:bb:d5: 22:65:a7:3f:fe:d1:66:ad:0b:bc:6b:99:86:ef:3f:7d:f3:18: 32:ca:7b:c6:e3:ab:64:46:95:f8:26:69:d9:55:83:7b:2c:96: 07:ff:59:2c:44:a3:c6:e5:e9:a9:dc:a1:63:80:5a:21:5e:21: cf:53:54:f0:ba:6f:89:db:a8:aa:95:cf:8b:e3:71:cc:1e:1b: 20:44:08:c0:7a:b6:40:fd:c4:e4:35:e1:1d:16:1c:d0:bc:2b: 8e:d6:71:d9 AddTrust Public Services Root ============================= MD5 Fingerprint=C1:62:3E:23:C5:82:73:9C:03:59:4B:2B:E9:77:49:7F PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEU MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3 b3JrMSAwHgYDVQQDExdBZGRUcnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAx MDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtB ZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIDAeBgNV BAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV 6tsfSlbunyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nX GCwwfQ56HmIexkvA/X1id9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnP dzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSGAa2Il+tmzV7R/9x98oTaunet3IAIx6eH 1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAwHM+A+WD+eeSI8t0A65RF 62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0GA1UdDgQW BBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUw AwEB/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDEL MAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRU cnVzdCBUVFAgTmV0d29yazEgMB4GA1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJv b3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4JNojVhaTdt02KLmuG7jD8WS6 IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL+YPoRNWyQSW/ iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh 4SINhwBk/ox9Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQm XiLsks3/QppEIW1cxeMiHV9HEufOX1362KqxMy3ZdvJOOjMMK7MtkAY= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Public CA Root Validity Not Before: May 30 10:41:50 2000 GMT Not After : May 30 10:41:50 2020 GMT Subject: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Public CA Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:e9:1a:30:8f:83:88:14:c1:20:d8:3c:9b:8f:1b: 7e:03:74:bb:da:69:d3:46:a5:f8:8e:c2:0c:11:90: 51:a5:2f:66:54:40:55:ea:db:1f:4a:56:ee:9f:23: 6e:f4:39:cb:a1:b9:6f:f2:7e:f9:5d:87:26:61:9e: 1c:f8:e2:ec:a6:81:f8:21:c5:24:cc:11:0c:3f:db: 26:72:7a:c7:01:97:07:17:f9:d7:18:2c:30:7d:0e: 7a:1e:62:1e:c6:4b:c0:fd:7d:62:77:d3:44:1e:27: f6:3f:4b:44:b3:b7:38:d9:39:1f:60:d5:51:92:73: 03:b4:00:69:e3:f3:14:4e:ee:d1:dc:09:cf:77:34: 46:50:b0:f8:11:f2:fe:38:79:f7:07:39:fe:51:92: 97:0b:5b:08:5f:34:86:01:ad:88:97:eb:66:cd:5e: d1:ff:dc:7d:f2:84:da:ba:77:ad:dc:80:08:c7:a7: 87:d6:55:9f:97:6a:e8:c8:11:64:ba:e7:19:29:3f: 11:b3:78:90:84:20:52:5b:11:ef:78:d0:83:f6:d5: 48:90:d0:30:1c:cf:80:f9:60:fe:79:e4:88:f2:dd: 00:eb:94:45:eb:65:94:69:40:ba:c0:d5:b4:b8:ba: 7d:04:11:a8:eb:31:05:96:94:4e:58:21:8e:9f:d0: 60:fd Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: 81:3E:37:D8:92:B0:1F:77:9F:5C:B4:AB:73:AA:E7:F6:34:60:2F:FA X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Basic Constraints: critical CA:TRUE X509v3 Authority Key Identifier: keyid:81:3E:37:D8:92:B0:1F:77:9F:5C:B4:AB:73:AA:E7:F6:34:60:2F:FA DirName:/C=SE/O=AddTrust AB/OU=AddTrust TTP Network/CN=AddTrust Public CA Root serial:01 Signature Algorithm: sha1WithRSAEncryption 03:f7:15:4a:f8:24:da:23:56:16:93:76:dd:36:28:b9:ae:1b: b8:c3:f1:64:ba:20:18:78:95:29:27:57:05:bc:7c:2a:f4:b9: 51:55:da:87:02:de:0f:16:17:31:f8:aa:79:2e:09:13:bb:af: b2:20:19:12:e5:93:f9:4b:f9:83:e8:44:d5:b2:41:25:bf:88: 75:6f:ff:10:fc:4a:54:d0:5f:f0:fa:ef:36:73:7d:1b:36:45: c6:21:6d:b4:15:b8:4e:cf:9c:5c:a5:3d:5a:00:8e:06:e3:3c: 6b:32:7b:f2:9f:f0:b6:fd:df:f0:28:18:48:f0:c6:bc:d0:bf: 34:80:96:c2:4a:b1:6d:8e:c7:90:45:de:2f:67:ac:45:04:a3: 7a:dc:55:92:c9:47:66:d8:1a:8c:c7:ed:9c:4e:9a:e0:12:bb: b5:6a:4c:84:e1:e1:22:0d:87:00:64:fe:8c:7d:62:39:65:a6: ef:42:b6:80:25:12:61:01:a8:24:13:70:00:11:26:5f:fa:35: 50:c5:48:cc:06:47:e8:27:d8:70:8d:5f:64:e6:a1:44:26:5e: 22:ec:92:cd:ff:42:9a:44:21:6d:5c:c5:e3:22:1d:5f:47:12: e7:ce:5f:5d:fa:d8:aa:b1:33:2d:d9:76:f2:4e:3a:33:0c:2b: b3:2d:90:06 AddTrust Qualified Certificates Root ==================================== MD5 Fingerprint=27:EC:39:47:CD:DA:5A:AF:E2:9A:01:65:21:A9:4C:BB PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEU MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3 b3JrMSMwIQYDVQQDExpBZGRUcnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1 MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcxCzAJBgNVBAYTAlNFMRQwEgYDVQQK EwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIzAh BgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG9w0B AQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwq xBb/4Oxx64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G 87B4pfYOQnrjfxvM0PC3KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i 2O+tCBGaKZnhqkRFmhJePp1tUvznoD1oL/BLcHwTOK28FSXx1s6rosAx1i+f4P8U WfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GRwVY18BTcZTYJbqukB8c1 0cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HUMIHRMB0G A1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0T AQH/BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6Fr pGkwZzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQL ExRBZGRUcnVzdCBUVFAgTmV0d29yazEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlm aWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBABmrder4i2VhlRO6aQTv hsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxGGuoYQ992zPlm hpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3 P6CxB9bpT9zeRXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9Y iQBCYz95OdBEsIJuQRno3eDBiFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5no xqE= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Qualified CA Root Validity Not Before: May 30 10:44:50 2000 GMT Not After : May 30 10:44:50 2020 GMT Subject: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Qualified CA Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:e4:1e:9a:fe:dc:09:5a:87:a4:9f:47:be:11:5f: af:84:34:db:62:3c:79:78:b7:e9:30:b5:ec:0c:1c: 2a:c4:16:ff:e0:ec:71:eb:8a:f5:11:6e:ed:4f:0d: 91:d2:12:18:2d:49:15:01:c2:a4:22:13:c7:11:64: ff:22:12:9a:b9:8e:5c:2f:08:cf:71:6a:b3:67:01: 59:f1:5d:46:f3:b0:78:a5:f6:0e:42:7a:e3:7f:1b: cc:d0:f0:b7:28:fd:2a:ea:9e:b3:b0:b9:04:aa:fd: f6:c7:b4:b1:b8:2a:a0:fb:58:f1:19:a0:6f:70:25: 7e:3e:69:4a:7f:0f:22:d8:ef:ad:08:11:9a:29:99: e1:aa:44:45:9a:12:5e:3e:9d:6d:52:fc:e7:a0:3d: 68:2f:f0:4b:70:7c:13:38:ad:bc:15:25:f1:d6:ce: ab:a2:c0:31:d6:2f:9f:e0:ff:14:59:fc:84:93:d9: 87:7c:4c:54:13:eb:9f:d1:2d:11:f8:18:3a:3a:de: 25:d9:f7:d3:40:ed:a4:06:12:c4:3b:e1:91:c1:56: 35:f0:14:dc:65:36:09:6e:ab:a4:07:c7:35:d1:c2: 03:33:36:5b:75:26:6d:42:f1:12:6b:43:6f:4b:71: 94:fa:34:1d:ed:13:6e:ca:80:7f:98:2f:6c:b9:65: d8:e9 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: 39:95:8B:62:8B:5C:C9:D4:80:BA:58:0F:97:3F:15:08:43:CC:98:A7 X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Basic Constraints: critical CA:TRUE X509v3 Authority Key Identifier: keyid:39:95:8B:62:8B:5C:C9:D4:80:BA:58:0F:97:3F:15:08:43:CC:98:A7 DirName:/C=SE/O=AddTrust AB/OU=AddTrust TTP Network/CN=AddTrust Qualified CA Root serial:01 Signature Algorithm: sha1WithRSAEncryption 19:ab:75:ea:f8:8b:65:61:95:13:ba:69:04:ef:86:ca:13:a0: c7:aa:4f:64:1b:3f:18:f6:a8:2d:2c:55:8f:05:b7:30:ea:42: 6a:1d:c0:25:51:2d:a7:bf:0c:b3:ed:ef:08:7f:6c:3c:46:1a: ea:18:43:df:76:cc:f9:66:86:9c:2c:68:f5:e9:17:f8:31:b3: 18:c4:d6:48:7d:23:4c:68:c1:7e:bb:01:14:6f:c5:d9:6e:de: bb:04:42:6a:f8:f6:5c:7d:e5:da:fa:87:eb:0d:35:52:67:d0: 9e:97:76:05:93:3f:95:c7:01:e6:69:55:38:7f:10:61:99:c9: e3:5f:a6:ca:3e:82:63:48:aa:e2:08:48:3e:aa:f2:b2:85:62: a6:b4:a7:d9:bd:37:9c:68:b5:2d:56:7d:b0:b7:3f:a0:b1:07: d6:e9:4f:dc:de:45:71:30:32:7f:1b:2e:09:f9:bf:52:a1:ee: c2:80:3e:06:5c:2e:55:40:c1:1b:f5:70:45:b0:dc:5d:fa:f6: 72:5a:77:d2:63:cd:cf:58:89:00:42:63:3f:79:39:d0:44:b0: 82:6e:41:19:e8:dd:e0:c1:88:5a:d1:1e:71:93:1f:24:30:74: e5:1e:a8:de:3c:27:37:7f:83:ae:9e:77:cf:f0:30:b1:ff:4b: 99:e8:c6:a1 America Online Root Certification Authority 1 ============================================= MD5 Fingerprint=14:F1:08:AD:9D:FA:64:E2:89:E7:1C:CF:A8:AD:7D:5E PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEc MBoGA1UEChMTQW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBP bmxpbmUgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2 MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0Ft ZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2EgT25saW5lIFJvb3Qg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lk hsmj76CGv2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym 1BW32J/X3HGrfpq/m44zDyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsW OqMFf6Dch9Wc/HKpoH145LcxVR5lu9RhsCFg7RAycsWSJR74kEoYeEfffjA3PlAb 2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP8c9GsEsPPt2IYriMqQko O3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0TAQH/BAUw AwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAU AK3Zo/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB BQUAA4IBAQB8itEfGDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkF Zu90821fnZmv9ov761KyBZiibyrFVL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAb LjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft3OJvx8Fi8eNy1gTIdGcL+oir oQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43gKd8hdIaC2y+C MMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7 -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=America Online Inc., CN=America Online Root Certification Authority 1 Validity Not Before: May 28 06:00:00 2002 GMT Not After : Nov 19 20:43:00 2037 GMT Subject: C=US, O=America Online Inc., CN=America Online Root Certification Authority 1 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:a8:2f:e8:a4:69:06:03:47:c3:e9:2a:98:ff:19: a2:70:9a:c6:50:b2:7e:a5:df:68:4d:1b:7c:0f:b6: 97:68:7d:2d:a6:8b:97:e9:64:86:c9:a3:ef:a0:86: bf:60:65:9c:4b:54:88:c2:48:c5:4a:39:bf:14:e3: 59:55:e5:19:b4:74:c8:b4:05:39:5c:16:a5:e2:95: 05:e0:12:ae:59:8b:a2:33:68:58:1c:a6:d4:15:b7: d8:9f:d7:dc:71:ab:7e:9a:bf:9b:8e:33:0f:22:fd: 1f:2e:e7:07:36:ef:62:39:c5:dd:cb:ba:25:14:23: de:0c:c6:3d:3c:ce:82:08:e6:66:3e:da:51:3b:16: 3a:a3:05:7f:a0:dc:87:d5:9c:fc:72:a9:a0:7d:78: e4:b7:31:55:1e:65:bb:d4:61:b0:21:60:ed:10:32: 72:c5:92:25:1e:f8:90:4a:18:78:47:df:7e:30:37: 3e:50:1b:db:1c:d3:6b:9a:86:53:07:b0:ef:ac:06: 78:f8:84:99:fe:21:8d:4c:80:b6:0c:82:f6:66:70: 79:1a:d3:4f:a3:cf:f1:cf:46:b0:4b:0f:3e:dd:88: 62:b8:8c:a9:09:28:3b:7a:c7:97:e1:1e:e5:f4:9f: c0:c0:ae:24:a0:c8:a1:d9:0f:d6:7b:26:82:69:32: 3d:a7 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Subject Key Identifier: 00:AD:D9:A3:F6:79:F6:6E:74:A9:7F:33:3D:81:17:D7:4C:CF:33:DE X509v3 Authority Key Identifier: keyid:00:AD:D9:A3:F6:79:F6:6E:74:A9:7F:33:3D:81:17:D7:4C:CF:33:DE X509v3 Key Usage: critical Digital Signature, Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 7c:8a:d1:1f:18:37:82:e0:b8:b0:a3:ed:56:95:c8:62:61:9c: 05:a2:cd:c2:62:26:61:cd:10:16:d7:cc:b4:65:34:d0:11:8a: ad:a8:a9:05:66:ef:74:f3:6d:5f:9d:99:af:f6:8b:fb:eb:52: b2:05:98:a2:6f:2a:c5:54:bd:25:bd:5f:ae:c8:86:ea:46:2c: c1:b3:bd:c1:e9:49:70:18:16:97:08:13:8c:20:e0:1b:2e:3a: 47:cb:1e:e4:00:30:95:5b:f4:45:a3:c0:1a:b0:01:4e:ab:bd: c0:23:6e:63:3f:80:4a:c5:07:ed:dc:e2:6f:c7:c1:62:f1:e3: 72:d6:04:c8:74:67:0b:fa:88:ab:a1:01:c8:6f:f0:14:af:d2: 99:cd:51:93:7e:ed:2e:38:c7:bd:ce:46:50:3d:72:e3:79:25: 9d:9b:88:2b:10:20:dd:a5:b8:32:9f:8d:e0:29:df:21:74:86: 82:db:2f:82:30:c6:c7:35:86:b3:f9:96:5f:46:db:0c:45:fd: f3:50:c3:6f:c6:c3:48:ad:46:a6:e1:27:47:0a:1d:0e:9b:b6: c2:77:7f:63:f2:e0:7d:1a:be:fc:e0:df:d7:c7:a7:6c:b0:f9: ae:ba:3c:fd:74:b4:11:e8:58:0d:80:bc:d3:a8:80:3a:99:ed: 75:cc:46:7b America Online Root Certification Authority 2 ============================================= MD5 Fingerprint=D6:ED:3C:CA:E2:66:0F:AF:10:43:0D:77:9B:04:09:BF PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEc MBoGA1UEChMTQW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBP bmxpbmUgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2 MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0Ft ZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2EgT25saW5lIFJvb3Qg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIP ADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC 206B89enfHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFci KtZHgVdEglZTvYYUAQv8f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2 JxhP7JsowtS013wMPgwr38oE18aO6lhOqKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9 BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JNRvCAOVIyD+OEsnpD8l7e Xz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0gBe4lL8B PeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67 Xnfn6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEq Z8A9W6Wa6897GqidFEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZ o2C7HK2JNDJiuEMhBnIMoVxtRsX6Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3 +L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnjB453cMor9H124HhnAgMBAAGj YzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3OpaaEg5+31IqEj FNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmn xPBUlgtk87FYT15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2 LHo1YGwRgJfMqZJS5ivmae2p+DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzccc obGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXgJXUjhx5c3LqdsKyzadsXg8n33gy8 CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//ZoyzH1kUQ7rVyZ2OuMe IjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgOZtMA DjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2F AjgQ5ANh1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUX Om/9riW99XJZZLF0KjhfGEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPb AZO1XB4Y3WRayhgoPmMEEf0cjQAPuDffZ4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQl Zvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuPcX/9XhmgD0uRuMRUvAaw RY8mkaKO/qk= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=America Online Inc., CN=America Online Root Certification Authority 2 Validity Not Before: May 28 06:00:00 2002 GMT Not After : Sep 29 14:08:00 2037 GMT Subject: C=US, O=America Online Inc., CN=America Online Root Certification Authority 2 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (4096 bit) Modulus (4096 bit): 00:cc:41:45:1d:e9:3d:4d:10:f6:8c:b1:41:c9:e0: 5e:cb:0d:b7:bf:47:73:d3:f0:55:4d:dd:c6:0c:fa: b1:66:05:6a:cd:78:b4:dc:02:db:4e:81:f3:d7:a7: 7c:71:bc:75:63:a0:5d:e3:07:0c:48:ec:25:c4:03: 20:f4:ff:0e:3b:12:ff:9b:8d:e1:c6:d5:1b:b4:6d: 22:e3:b1:db:7f:21:64:af:86:bc:57:22:2a:d6:47: 81:57:44:82:56:53:bd:86:14:01:0b:fc:7f:74:a4: 5a:ae:f1:ba:11:b5:9b:58:5a:80:b4:37:78:09:33: 7c:32:47:03:5c:c4:a5:83:48:f4:57:56:6e:81:36: 27:18:4f:ec:9b:28:c2:d4:b4:d7:7c:0c:3e:0c:2b: df:ca:04:d7:c6:8e:ea:58:4e:a8:a4:a5:18:1c:6c: 45:98:a3:41:d1:2d:d2:c7:6d:8d:19:f1:ad:79:b7: 81:3f:bd:06:82:27:2d:10:58:05:b5:78:05:b9:2f: db:0c:6b:90:90:7e:14:59:38:bb:94:24:13:e5:d1: 9d:14:df:d3:82:4d:46:f0:80:39:52:32:0f:e3:84: b2:7a:43:f2:5e:de:5f:3f:1d:dd:e3:b2:1b:a0:a1: 2a:23:03:6e:2e:01:15:87:5c:a6:75:75:c7:97:61: be:de:86:dc:d4:48:db:bd:2a:bf:4a:55:da:e8:7d: 50:fb:b4:80:17:b8:94:bf:01:3d:ea:da:ba:7c:e0: 58:67:17:b9:58:e0:88:86:46:67:6c:9d:10:47:58: 32:d0:35:7c:79:2a:90:a2:5a:10:11:23:35:ad:2f: cc:e4:4a:5b:a7:c8:27:f2:83:de:5e:bb:5e:77:e7: e8:a5:6e:63:c2:0d:5d:61:d0:8c:d2:6c:5a:21:0e: ca:28:a3:ce:2a:e9:95:c7:48:cf:96:6f:1d:92:25: c8:c6:c6:c1:c1:0c:05:ac:26:c4:d2:75:d2:e1:2a: 67:c0:3d:5b:a5:9a:eb:cf:7b:1a:a8:9d:14:45:e5: 0f:a0:9a:65:de:2f:28:bd:ce:6f:94:66:83:48:29: d8:ea:65:8c:af:93:d9:64:9f:55:57:26:bf:6f:cb: 37:31:99:a3:60:bb:1c:ad:89:34:32:62:b8:43:21: 06:72:0c:a1:5c:6d:46:c5:fa:29:cf:30:de:89:dc: 71:5b:dd:b6:37:3e:df:50:f5:b8:07:25:26:e5:bc: b5:fe:3c:02:b3:b7:f8:be:43:c1:87:11:94:9e:23: 6c:17:8a:b8:8a:27:0c:54:47:f0:a9:b3:c0:80:8c: a0:27:eb:1d:19:e3:07:8e:77:70:ca:2b:f4:7d:76: e0:78:67 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Subject Key Identifier: 4D:45:C1:68:38:BB:73:A9:69:A1:20:E7:ED:F5:22:A1:23:14:D7:9E X509v3 Authority Key Identifier: keyid:4D:45:C1:68:38:BB:73:A9:69:A1:20:E7:ED:F5:22:A1:23:14:D7:9E X509v3 Key Usage: critical Digital Signature, Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 67:6b:06:b9:5f:45:3b:2a:4b:33:b3:e6:1b:6b:59:4e:22:cc: b9:b7:a4:25:c9:a7:c4:f0:54:96:0b:64:f3:b1:58:4f:5e:51: fc:b2:97:7b:27:65:c2:e5:ca:e7:0d:0c:25:7b:62:e3:fa:9f: b4:87:b7:45:46:af:83:a5:97:48:8c:a5:bd:f1:16:2b:9b:76: 2c:7a:35:60:6c:11:80:97:cc:a9:92:52:e6:2b:e6:69:ed:a9: f8:36:2d:2c:77:bf:61:48:d1:63:0b:b9:5b:52:ed:18:b0:43: 42:22:a6:b1:77:ae:de:69:c5:cd:c7:1c:a1:b1:a5:1c:10:fb: 18:be:1a:70:dd:c1:92:4b:be:29:5a:9d:3f:35:be:e5:7d:51: f8:55:e0:25:75:23:87:1e:5c:dc:ba:9d:b0:ac:b3:69:db:17: 83:c9:f7:de:0c:bc:08:dc:91:9e:a8:d0:d7:15:37:73:a5:35: b8:fc:7e:c5:44:40:06:c3:eb:f8:22:80:5c:47:ce:02:e3:11: 9f:44:ff:fd:9a:32:cc:7d:64:51:0e:eb:57:26:76:3a:e3:1e: 22:3c:c2:a6:36:dd:19:ef:a7:fc:12:f3:26:c0:59:31:85:4c: 9c:d8:cf:df:a4:cc:cc:29:93:ff:94:6d:76:5c:13:08:97:f2: ed:a5:0b:4d:dd:e8:c9:68:0e:66:d3:00:0e:33:12:5b:bc:95: e5:32:90:a8:b3:c6:6c:83:ad:77:ee:8b:7e:7e:b1:a9:ab:d3: e1:f1:b6:c0:b1:ea:88:c0:e7:d3:90:e9:28:92:94:7b:68:7b: 97:2a:0a:67:2d:85:02:38:10:e4:03:61:d4:da:25:36:c7:08: 58:2d:a1:a7:51:af:30:0a:49:f5:a6:69:87:07:2d:44:46:76: 8e:2a:e5:9a:3b:d7:18:a2:fc:9c:38:10:cc:c6:3b:d2:b5:17: 3a:6f:fd:ae:25:bd:f5:72:59:64:b1:74:2a:38:5f:18:4c:df: cf:71:04:5a:36:d4:bf:2f:99:9c:e8:d9:ba:b1:95:e6:02:4b: 21:a1:5b:d5:c1:4f:8f:ae:69:6d:53:db:01:93:b5:5c:1e:18: dd:64:5a:ca:18:28:3e:63:04:11:fd:1c:8d:00:0f:b8:37:df: 67:8a:9d:66:a9:02:6a:91:ff:13:ca:2f:5d:83:bc:87:93:6c: dc:24:51:16:04:25:66:fa:b3:d9:c2:ba:29:be:9a:48:38:82: 99:f4:bf:3b:4a:31:19:f9:bf:8e:21:33:14:ca:4f:54:5f:fb: ce:fb:8f:71:7f:fd:5e:19:a0:0f:4b:91:b8:c4:54:bc:06:b0: 45:8f:26:91:a2:8e:fe:a9 AOL Time Warner Root Certification Authority 1 ============================================== MD5 Fingerprint=E7:7A:DC:B1:1F:6E:06:1F:74:6C:59:16:27:C3:4B:C0 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIID5jCCAs6gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMCVVMx HTAbBgNVBAoTFEFPTCBUaW1lIFdhcm5lciBJbmMuMRwwGgYDVQQLExNBbWVyaWNh IE9ubGluZSBJbmMuMTcwNQYDVQQDEy5BT0wgVGltZSBXYXJuZXIgUm9vdCBDZXJ0 aWZpY2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyOTA2MDAwMFoXDTM3MTEyMDE1 MDMwMFowgYMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBT0wgVGltZSBXYXJuZXIg SW5jLjEcMBoGA1UECxMTQW1lcmljYSBPbmxpbmUgSW5jLjE3MDUGA1UEAxMuQU9M IFRpbWUgV2FybmVyIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnej8Mlo2k06AX3dLm/WpcZuS+U 0pPlLYnKhHw/EEMbjIt8hFj4JHxIzyr9wBXZGH6EGhfT257XyuTZ16pYUYfw8ItI TuLCxFlpMGK2MKKMCxGZYTVtfu/FsRkGIBKOQuHfD5YQUqjPnF+VFNivO3ULMSAf RC+iYkGzuxgh28pxPIzstrkNn+9R7017EvILDOGsQI93f7DKeHEMXRZxcKLXwjqF zQ6axOAAsNUl6twr5JQtOJyJQVdkKGUZHLZEtMgxa44Be3ZZJX8VHIQIfHNlIAqh BC4aMqiaILGcLCFZ5/vP7nAtCMpjPiybkxlqpMKX/7eGV4iFbJ4VFitNLLMCAwEA AaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUoTYwFsuGkABFgFOxj8jY PXy+XxIwHwYDVR0jBBgwFoAUoTYwFsuGkABFgFOxj8jYPXy+XxIwDgYDVR0PAQH/ BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQCKIBilvrMvtKaEAEAwKfq0FHNMeUWn 9nDg6H5kHgqVfGphwu9OH77/yZkfB2FK4V1Mza3u0FIy2VkyvNp5ctZ7CegCgTXT Ct8RHcl5oIBN/lrXVtbtDyqvpxh1MwzqwWEFT2qaifKNuZ8u77BfWgDrvq2g+EQF Z7zLBO+eZMXpyD8Fv8YvBxzDNnGGyjhmSs3WuEvGbKeXO/oTLW4jYYehY0KswsuX n2Fozy1MBJ3XJU8KDk2QixhWqJNIV9xvrr2eZ1d3iVCzvhGbRWeDhhmH05i9CBoW H1iCC+GWaQVLjuyDUTEH1dSf/1l7qG6Fz9NLqUmwX7A5KGgOc90lmt4S -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=AOL Time Warner Inc., OU=America Online Inc., CN=AOL Time Warner Root Certification Authority 1 Validity Not Before: May 29 06:00:00 2002 GMT Not After : Nov 20 15:03:00 2037 GMT Subject: C=US, O=AOL Time Warner Inc., OU=America Online Inc., CN=AOL Time Warner Root Certification Authority 1 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:99:de:8f:c3:25:a3:69:34:e8:05:f7:74:b9:bf: 5a:97:19:b9:2f:94:d2:93:e5:2d:89:ca:84:7c:3f: 10:43:1b:8c:8b:7c:84:58:f8:24:7c:48:cf:2a:fd: c0:15:d9:18:7e:84:1a:17:d3:db:9e:d7:ca:e4:d9: d7:aa:58:51:87:f0:f0:8b:48:4e:e2:c2:c4:59:69: 30:62:b6:30:a2:8c:0b:11:99:61:35:6d:7e:ef:c5: b1:19:06:20:12:8e:42:e1:df:0f:96:10:52:a8:cf: 9c:5f:95:14:d8:af:3b:75:0b:31:20:1f:44:2f:a2: 62:41:b3:bb:18:21:db:ca:71:3c:8c:ec:b6:b9:0d: 9f:ef:51:ef:4d:7b:12:f2:0b:0c:e1:ac:40:8f:77: 7f:b0:ca:78:71:0c:5d:16:71:70:a2:d7:c2:3a:85: cd:0e:9a:c4:e0:00:b0:d5:25:ea:dc:2b:e4:94:2d: 38:9c:89:41:57:64:28:65:19:1c:b6:44:b4:c8:31: 6b:8e:01:7b:76:59:25:7f:15:1c:84:08:7c:73:65: 20:0a:a1:04:2e:1a:32:a8:9a:20:b1:9c:2c:21:59: e7:fb:cf:ee:70:2d:08:ca:63:3e:2c:9b:93:19:6a: a4:c2:97:ff:b7:86:57:88:85:6c:9e:15:16:2b:4d: 2c:b3 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Subject Key Identifier: A1:36:30:16:CB:86:90:00:45:80:53:B1:8F:C8:D8:3D:7C:BE:5F:12 X509v3 Authority Key Identifier: keyid:A1:36:30:16:CB:86:90:00:45:80:53:B1:8F:C8:D8:3D:7C:BE:5F:12 X509v3 Key Usage: critical Digital Signature, Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 8a:20:18:a5:be:b3:2f:b4:a6:84:00:40:30:29:fa:b4:14:73: 4c:79:45:a7:f6:70:e0:e8:7e:64:1e:0a:95:7c:6a:61:c2:ef: 4e:1f:be:ff:c9:99:1f:07:61:4a:e1:5d:4c:cd:ad:ee:d0:52: 32:d9:59:32:bc:da:79:72:d6:7b:09:e8:02:81:35:d3:0a:df: 11:1d:c9:79:a0:80:4d:fe:5a:d7:56:d6:ed:0f:2a:af:a7:18: 75:33:0c:ea:c1:61:05:4f:6a:9a:89:f2:8d:b9:9f:2e:ef:b0: 5f:5a:00:eb:be:ad:a0:f8:44:05:67:bc:cb:04:ef:9e:64:c5: e9:c8:3f:05:bf:c6:2f:07:1c:c3:36:71:86:ca:38:66:4a:cd: d6:b8:4b:c6:6c:a7:97:3b:fa:13:2d:6e:23:61:87:a1:63:42: ac:c2:cb:97:9f:61:68:cf:2d:4c:04:9d:d7:25:4f:0a:0e:4d: 90:8b:18:56:a8:93:48:57:dc:6f:ae:bd:9e:67:57:77:89:50: b3:be:11:9b:45:67:83:86:19:87:d3:98:bd:08:1a:16:1f:58: 82:0b:e1:96:69:05:4b:8e:ec:83:51:31:07:d5:d4:9f:ff:59: 7b:a8:6e:85:cf:d3:4b:a9:49:b0:5f:b0:39:28:68:0e:73:dd: 25:9a:de:12 AOL Time Warner Root Certification Authority 2 ============================================== MD5 Fingerprint=01:5A:99:C3:D6:4F:A9:4B:3C:3B:B1:A3:AB:27:4C:BF PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIF5jCCA86gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMCVVMx HTAbBgNVBAoTFEFPTCBUaW1lIFdhcm5lciBJbmMuMRwwGgYDVQQLExNBbWVyaWNh IE9ubGluZSBJbmMuMTcwNQYDVQQDEy5BT0wgVGltZSBXYXJuZXIgUm9vdCBDZXJ0 aWZpY2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyOTA2MDAwMFoXDTM3MDkyODIz NDMwMFowgYMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBT0wgVGltZSBXYXJuZXIg SW5jLjEcMBoGA1UECxMTQW1lcmljYSBPbmxpbmUgSW5jLjE3MDUGA1UEAxMuQU9M IFRpbWUgV2FybmVyIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIw DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3WggWmRToVbEbJGv8x4vmh6mJ 7ouZzU9AhqS2TcnZsdw8TQ2FTBVsRotSeJ/4I/1n9SQ6aF3Q92RhQVSji6UI0ilb m2BPJoPRYxJWSXakFsKlnUWsi4SVqBax7J/qJBrvuVdcmiQhLE0OcR+mrF1FdAOY xFSMFkpBd4aVdQxHAWZg/BXxD+r1FHjHDtdugRxev17nOirYlxcwfACtCJ0zr7iZ YYCLqJV+FNwSbKTQ2O9ASQI2+W6p1h2WVgSysy0WVoaP2SBXgM1nEG2wTPDaRrbq JS5Gr42whTg0ixQmgiusrpkLjhTXUr2eacOGAgvqdnUxCc4zGSGFQ+aJLZ8lN2fx I2rSAG2X+Z/nKcrdH9cG6rjJuQkhn8g/BsXS6RJGAE57COtCPStIbp1n3UsC5ETz kxmlJ85per5n0/xQpCyrw2u544BMzwVhSyvcG7mm0tCq9Stz+86QNZ8MUhy/XCFh EVsVS6kkUfykXPcXnbDS+gfpj1bkGoxoigTTfFrjnqKhynFbotSg5ymFXQNoKk/S Btc9+cMDLz9l+WceR0DTYw/j1Y75hauXTLPXJuuWCpTehTacyH+BCQJJKg71ZDIM gtG6aoIbs0t0EfOMd9afv9w3pKdVBC/UMejTRrkDfNoSTllkt1ExMVCgyhwn2RAu rda9EGYrw7AiShJbAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE FE9pbQN+nZ8HGEO8txBO1b+pxCAoMB8GA1UdIwQYMBaAFE9pbQN+nZ8HGEO8txBO 1b+pxCAoMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAO/Ouyugu h4X7ZVnnrREUpVe8WJ8kEle7+z802u6teio0cnAxa8cZmIDJgt43d15Ui47y6mdP yXSEkVYJ1eV6moG2gcKtNuTxVBFT8zRFASbI5Rq8NEQh3q0l/HYWdyGQgJhXnU7q 7C+qPBR7V8F+GBRn7iTGvboVsNIYvbdVgaxTwOjdaRITQrcCtQVBynlQboIOcXKT RuidDV29rs4prWPVVRaAMCf/drr3uNZK49m1+VLQTkCpx+XCMseqdiThawVQ68W/ ClTluUI8JPu3B5wwn3la5uBAUhX0/Kr0VvlEl4ftDmVyXr4m+02kLQgH3thcoNyB M5kYJRF3p+v9WAksmWsbivNSPxpNSGDxoPYzAlOL7SUJuA0t7Zdz7NeWH45gDtoQ my8YJPamTQr5O8t1wswvziRpyQoijlmn94IM19drNZxDAGrElWe6nEXLuA4399xO AU++CrYD062KRffaJ00psUjf5BHklka9bAI+1lHIlRcBFanyqqryvy9lG2/QuRqT 9Y41xICHPpQvZuTpqP9BnHAqTyo5GJUefvthATxRCC4oGKQWDzH9OmwjkyB24f0H hdFbP9IcczLd+rn4jM8Ch3qaluTtT4mNU0OrDhPAARW0eTjb/G49nlG2uBOLZ8/5 fNkiHfZdxRwBL5joeiQYvITX+txyW/fBOmg= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=AOL Time Warner Inc., OU=America Online Inc., CN=AOL Time Warner Root Certification Authority 2 Validity Not Before: May 29 06:00:00 2002 GMT Not After : Sep 28 23:43:00 2037 GMT Subject: C=US, O=AOL Time Warner Inc., OU=America Online Inc., CN=AOL Time Warner Root Certification Authority 2 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (4096 bit) Modulus (4096 bit): 00:b4:37:5a:08:16:99:14:e8:55:b1:1b:24:6b:fc: c7:8b:e6:87:a9:89:ee:8b:99:cd:4f:40:86:a4:b6: 4d:c9:d9:b1:dc:3c:4d:0d:85:4c:15:6c:46:8b:52: 78:9f:f8:23:fd:67:f5:24:3a:68:5d:d0:f7:64:61: 41:54:a3:8b:a5:08:d2:29:5b:9b:60:4f:26:83:d1: 63:12:56:49:76:a4:16:c2:a5:9d:45:ac:8b:84:95: a8:16:b1:ec:9f:ea:24:1a:ef:b9:57:5c:9a:24:21: 2c:4d:0e:71:1f:a6:ac:5d:45:74:03:98:c4:54:8c: 16:4a:41:77:86:95:75:0c:47:01:66:60:fc:15:f1: 0f:ea:f5:14:78:c7:0e:d7:6e:81:1c:5e:bf:5e:e7: 3a:2a:d8:97:17:30:7c:00:ad:08:9d:33:af:b8:99: 61:80:8b:a8:95:7e:14:dc:12:6c:a4:d0:d8:ef:40: 49:02:36:f9:6e:a9:d6:1d:96:56:04:b2:b3:2d:16: 56:86:8f:d9:20:57:80:cd:67:10:6d:b0:4c:f0:da: 46:b6:ea:25:2e:46:af:8d:b0:85:38:34:8b:14:26: 82:2b:ac:ae:99:0b:8e:14:d7:52:bd:9e:69:c3:86: 02:0b:ea:76:75:31:09:ce:33:19:21:85:43:e6:89: 2d:9f:25:37:67:f1:23:6a:d2:00:6d:97:f9:9f:e7: 29:ca:dd:1f:d7:06:ea:b8:c9:b9:09:21:9f:c8:3f: 06:c5:d2:e9:12:46:00:4e:7b:08:eb:42:3d:2b:48: 6e:9d:67:dd:4b:02:e4:44:f3:93:19:a5:27:ce:69: 7a:be:67:d3:fc:50:a4:2c:ab:c3:6b:b9:e3:80:4c: cf:05:61:4b:2b:dc:1b:b9:a6:d2:d0:aa:f5:2b:73: fb:ce:90:35:9f:0c:52:1c:bf:5c:21:61:11:5b:15: 4b:a9:24:51:fc:a4:5c:f7:17:9d:b0:d2:fa:07:e9: 8f:56:e4:1a:8c:68:8a:04:d3:7c:5a:e3:9e:a2:a1: ca:71:5b:a2:d4:a0:e7:29:85:5d:03:68:2a:4f:d2: 06:d7:3d:f9:c3:03:2f:3f:65:f9:67:1e:47:40:d3: 63:0f:e3:d5:8e:f9:85:ab:97:4c:b3:d7:26:eb:96: 0a:94:de:85:36:9c:c8:7f:81:09:02:49:2a:0e:f5: 64:32:0c:82:d1:ba:6a:82:1b:b3:4b:74:11:f3:8c: 77:d6:9f:bf:dc:37:a4:a7:55:04:2f:d4:31:e8:d3: 46:b9:03:7c:da:12:4e:59:64:b7:51:31:31:50:a0: ca:1c:27:d9:10:2e:ad:d6:bd:10:66:2b:c3:b0:22: 4a:12:5b Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Subject Key Identifier: 4F:69:6D:03:7E:9D:9F:07:18:43:BC:B7:10:4E:D5:BF:A9:C4:20:28 X509v3 Authority Key Identifier: keyid:4F:69:6D:03:7E:9D:9F:07:18:43:BC:B7:10:4E:D5:BF:A9:C4:20:28 X509v3 Key Usage: critical Digital Signature, Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 3b:f3:ae:ca:e8:2e:87:85:fb:65:59:e7:ad:11:14:a5:57:bc: 58:9f:24:12:57:bb:fb:3f:34:da:ee:ad:7a:2a:34:72:70:31: 6b:c7:19:98:80:c9:82:de:37:77:5e:54:8b:8e:f2:ea:67:4f: c9:74:84:91:56:09:d5:e5:7a:9a:81:b6:81:c2:ad:36:e4:f1: 54:11:53:f3:34:45:01:26:c8:e5:1a:bc:34:44:21:de:ad:25: fc:76:16:77:21:90:80:98:57:9d:4e:ea:ec:2f:aa:3c:14:7b: 57:c1:7e:18:14:67:ee:24:c6:bd:ba:15:b0:d2:18:bd:b7:55: 81:ac:53:c0:e8:dd:69:12:13:42:b7:02:b5:05:41:ca:79:50: 6e:82:0e:71:72:93:46:e8:9d:0d:5d:bd:ae:ce:29:ad:63:d5: 55:16:80:30:27:ff:76:ba:f7:b8:d6:4a:e3:d9:b5:f9:52:d0: 4e:40:a9:c7:e5:c2:32:c7:aa:76:24:e1:6b:05:50:eb:c5:bf: 0a:54:e5:b9:42:3c:24:fb:b7:07:9c:30:9f:79:5a:e6:e0:40: 52:15:f4:fc:aa:f4:56:f9:44:97:87:ed:0e:65:72:5e:be:26: fb:4d:a4:2d:08:07:de:d8:5c:a0:dc:81:33:99:18:25:11:77: a7:eb:fd:58:09:2c:99:6b:1b:8a:f3:52:3f:1a:4d:48:60:f1: a0:f6:33:02:53:8b:ed:25:09:b8:0d:2d:ed:97:73:ec:d7:96: 1f:8e:60:0e:da:10:9b:2f:18:24:f6:a6:4d:0a:f9:3b:cb:75: c2:cc:2f:ce:24:69:c9:0a:22:8e:59:a7:f7:82:0c:d7:d7:6b: 35:9c:43:00:6a:c4:95:67:ba:9c:45:cb:b8:0e:37:f7:dc:4e: 01:4f:be:0a:b6:03:d3:ad:8a:45:f7:da:27:4d:29:b1:48:df: e4:11:e4:96:46:bd:6c:02:3e:d6:51:c8:95:17:01:15:a9:f2: aa:aa:f2:bf:2f:65:1b:6f:d0:b9:1a:93:f5:8e:35:c4:80:87: 3e:94:2f:66:e4:e9:a8:ff:41:9c:70:2a:4f:2a:39:18:95:1e: 7e:fb:61:01:3c:51:08:2e:28:18:a4:16:0f:31:fd:3a:6c:23: 93:20:76:e1:fd:07:85:d1:5b:3f:d2:1c:73:32:dd:fa:b9:f8: 8c:cf:02:87:7a:9a:96:e4:ed:4f:89:8d:53:43:ab:0e:13:c0: 01:15:b4:79:38:db:fc:6e:3d:9e:51:b6:b8:13:8b:67:cf:f9: 7c:d9:22:1d:f6:5d:c5:1c:01:2f:98:e8:7a:24:18:bc:84:d7: fa:dc:72:5b:f7:c1:3a:68 Baltimore CyberTrust Code Signing Root ====================================== MD5 Fingerprint=90:F5:28:49:56:D1:5D:2C:B0:53:D4:4B:EF:6F:90:22 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDpjCCAo6gAwIBAgIEAgAAvzANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJJ RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MS8wLQYD VQQDEyZCYWx0aW1vcmUgQ3liZXJUcnVzdCBDb2RlIFNpZ25pbmcgUm9vdDAeFw0w MDA1MTcxNDAxMDBaFw0yNTA1MTcyMzU5MDBaMGcxCzAJBgNVBAYTAklFMRIwEAYD VQQKEwlCYWx0aW1vcmUxEzARBgNVBAsTCkN5YmVyVHJ1c3QxLzAtBgNVBAMTJkJh bHRpbW9yZSBDeWJlclRydXN0IENvZGUgU2lnbmluZyBSb290MIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyHGaGBKOetv5mvxBr9jy9AmOrT/+Zzc82skm ULGxPsvoTnMA8rLc88VG+wnvGJbOp+CchF0gDnqgqjaL+ii2eC6z7OhH8wTwkCO0 6q/lU7gF90ddK4bxp6TGOzW20g1SQdf0knXhogpQVoe+lwt7M4UQuSgY7jPqSBHX W5FHdiLU7s9d56hOHJ2Wkd2cvXQJqHJhqrAhOvE9LANWCdLB3MO1x1Q3q+YmorJG cXPKEYjuvOdk99ARGnNAWshJLA+375B/aIAEOAsbDzvU9aCzwo7hNLSAmW2edtSS KUCxldI3pGcSf+Biu641xZk2gkS45ngYM2Fxk1stjZ94lYLrbQIDAQABo1owWDAT BgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUyEE0XBUVBOVA8tGrmm8kknqH QlowEgYDVR0TAQH/BAgwBgEB/wIBAzAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcN AQEFBQADggEBAFJ0qpVLIozHPZak/l36L7W86/AL6VY4HdFtDaG8aIvwxYClJDT9 8pYYEYahNvU351RA1WQfw19wQmstOceeUgXO52py0o1yP0dQg6vHjSXJsOOnUxaV pmpT6hidj3ipd3ca+bSXR1mIJyi1yuEu1z4Oog24IkQD49FjsEE6ofWkLfd2HgRU mXgyQNcrfE26ppyweW4Hvozs7tc4aVvBDFZon/7r0eHIiPnyzX++hbREZwBQPvQm A2Tqd33oXj4cN0fI1uqk8zY8l8I5cgWUGSXD1zdBD8Efh4r9qr7psWRX5NuSoc/h Seg7H5ETWsOP2SVYSYBHD8YDrqzjv7fAqio= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 33554623 (0x20000bf) Signature Algorithm: sha1WithRSAEncryption Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Code Signing Root Validity Not Before: May 17 14:01:00 2000 GMT Not After : May 17 23:59:00 2025 GMT Subject: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Code Signing Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:c8:71:9a:18:12:8e:7a:db:f9:9a:fc:41:af:d8: f2:f4:09:8e:ad:3f:fe:67:37:3c:da:c9:26:50:b1: b1:3e:cb:e8:4e:73:00:f2:b2:dc:f3:c5:46:fb:09: ef:18:96:ce:a7:e0:9c:84:5d:20:0e:7a:a0:aa:36: 8b:fa:28:b6:78:2e:b3:ec:e8:47:f3:04:f0:90:23: b4:ea:af:e5:53:b8:05:f7:47:5d:2b:86:f1:a7:a4: c6:3b:35:b6:d2:0d:52:41:d7:f4:92:75:e1:a2:0a: 50:56:87:be:97:0b:7b:33:85:10:b9:28:18:ee:33: ea:48:11:d7:5b:91:47:76:22:d4:ee:cf:5d:e7:a8: 4e:1c:9d:96:91:dd:9c:bd:74:09:a8:72:61:aa:b0: 21:3a:f1:3d:2c:03:56:09:d2:c1:dc:c3:b5:c7:54: 37:ab:e6:26:a2:b2:46:71:73:ca:11:88:ee:bc:e7: 64:f7:d0:11:1a:73:40:5a:c8:49:2c:0f:b7:ef:90: 7f:68:80:04:38:0b:1b:0f:3b:d4:f5:a0:b3:c2:8e: e1:34:b4:80:99:6d:9e:76:d4:92:29:40:b1:95:d2: 37:a4:67:12:7f:e0:62:bb:ae:35:c5:99:36:82:44: b8:e6:78:18:33:61:71:93:5b:2d:8d:9f:78:95:82: eb:6d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Extended Key Usage: Code Signing X509v3 Subject Key Identifier: C8:41:34:5C:15:15:04:E5:40:F2:D1:AB:9A:6F:24:92:7A:87:42:5A X509v3 Basic Constraints: critical CA:TRUE, pathlen:3 X509v3 Key Usage: critical Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 52:74:aa:95:4b:22:8c:c7:3d:96:a4:fe:5d:fa:2f:b5:bc:eb: f0:0b:e9:56:38:1d:d1:6d:0d:a1:bc:68:8b:f0:c5:80:a5:24: 34:fd:f2:96:18:11:86:a1:36:f5:37:e7:54:40:d5:64:1f:c3: 5f:70:42:6b:2d:39:c7:9e:52:05:ce:e7:6a:72:d2:8d:72:3f: 47:50:83:ab:c7:8d:25:c9:b0:e3:a7:53:16:95:a6:6a:53:ea: 18:9d:8f:78:a9:77:77:1a:f9:b4:97:47:59:88:27:28:b5:ca: e1:2e:d7:3e:0e:a2:0d:b8:22:44:03:e3:d1:63:b0:41:3a:a1: f5:a4:2d:f7:76:1e:04:54:99:78:32:40:d7:2b:7c:4d:ba:a6: 9c:b0:79:6e:07:be:8c:ec:ee:d7:38:69:5b:c1:0c:56:68:9f: fe:eb:d1:e1:c8:88:f9:f2:cd:7f:be:85:b4:44:67:00:50:3e: f4:26:03:64:ea:77:7d:e8:5e:3e:1c:37:47:c8:d6:ea:a4:f3: 36:3c:97:c2:39:72:05:94:19:25:c3:d7:37:41:0f:c1:1f:87: 8a:fd:aa:be:e9:b1:64:57:e4:db:92:a1:cf:e1:49:e8:3b:1f: 91:13:5a:c3:8f:d9:25:58:49:80:47:0f:c6:03:ae:ac:e3:bf: b7:c0:aa:2a Baltimore CyberTrust Mobile Commerce Root ========================================= MD5 Fingerprint=EB:B4:20:1D:0F:B6:71:03:F7:C4:F7:C7:A4:72:86:E8 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICfTCCAeagAwIBAgIEAgAAuDANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQGEwJJ RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSkwJwYD VQQDEyBCYWx0aW1vcmUgQ3liZXJUcnVzdCBNb2JpbGUgUm9vdDAeFw0wMDA1MTIx ODIwMDBaFw0yMDA1MTIyMzU5MDBaMGExCzAJBgNVBAYTAklFMRIwEAYDVQQKEwlC YWx0aW1vcmUxEzARBgNVBAsTCkN5YmVyVHJ1c3QxKTAnBgNVBAMTIEJhbHRpbW9y ZSBDeWJlclRydXN0IE1vYmlsZSBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB iQKBgQCjbbE4Vqz8tVYh3sCQXSZHgsZ9jx+ghY8vu9ThHB3yJB8osC+5pKVvoiIg ZP6ERzx+K2xparjUwJaOjFINzW9B1L8ErqeBLy2YSNLBlKO1GV1dUWT0jkGwm8At IqBexthaEmO8EUpeJhId4iYF5g9fIh96X3aUrs9aKA6rRdoiMQIDAQABo0IwQDAd BgNVHQ4EFgQUyeKPwAImWrbAB+N/lAcY2y6lmnAwDwYDVR0TAQH/BAUwAwEB/zAO BgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQEFBQADgYEAUwgLJgl4QnPU7Hp3Rw3j CzNx764zFE37+v0at1H15JkcBnHXKRnX5hUgUVFGbU/eGEmY0Ph4u3HojQEG1ddk j5TfR/6ghWk2qS9CemhKEtaLC3BECqQE7yaIwTVxOF0bW0hC8OeUHHCVNKir9avi eK318FL9m+pCDOjYVL5TZvU= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 33554616 (0x20000b8) Signature Algorithm: sha1WithRSAEncryption Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Mobile Root Validity Not Before: May 12 18:20:00 2000 GMT Not After : May 12 23:59:00 2020 GMT Subject: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Mobile Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:a3:6d:b1:38:56:ac:fc:b5:56:21:de:c0:90:5d: 26:47:82:c6:7d:8f:1f:a0:85:8f:2f:bb:d4:e1:1c: 1d:f2:24:1f:28:b0:2f:b9:a4:a5:6f:a2:22:20:64: fe:84:47:3c:7e:2b:6c:69:6a:b8:d4:c0:96:8e:8c: 52:0d:cd:6f:41:d4:bf:04:ae:a7:81:2f:2d:98:48: d2:c1:94:a3:b5:19:5d:5d:51:64:f4:8e:41:b0:9b: c0:2d:22:a0:5e:c6:d8:5a:12:63:bc:11:4a:5e:26: 12:1d:e2:26:05:e6:0f:5f:22:1f:7a:5f:76:94:ae: cf:5a:28:0e:ab:45:da:22:31 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: C9:E2:8F:C0:02:26:5A:B6:C0:07:E3:7F:94:07:18:DB:2E:A5:9A:70 X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Digital Signature, Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 53:08:0b:26:09:78:42:73:d4:ec:7a:77:47:0d:e3:0b:33:71: ef:ae:33:14:4d:fb:fa:fd:1a:b7:51:f5:e4:99:1c:06:71:d7: 29:19:d7:e6:15:20:51:51:46:6d:4f:de:18:49:98:d0:f8:78: bb:71:e8:8d:01:06:d5:d7:64:8f:94:df:47:fe:a0:85:69:36: a9:2f:42:7a:68:4a:12:d6:8b:0b:70:44:0a:a4:04:ef:26:88: c1:35:71:38:5d:1b:5b:48:42:f0:e7:94:1c:70:95:34:a8:ab: f5:ab:e2:78:ad:f5:f0:52:fd:9b:ea:42:0c:e8:d8:54:be:53: 66:f5 Baltimore CyberTrust Root ========================= MD5 Fingerprint=AC:B6:94:A5:9C:17:E0:D7:91:52:9B:B1:97:06:A6:E4 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 33554617 (0x20000b9) Signature Algorithm: sha1WithRSAEncryption Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root Validity Not Before: May 12 18:46:00 2000 GMT Not After : May 12 23:59:00 2025 GMT Subject: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:a3:04:bb:22:ab:98:3d:57:e8:26:72:9a:b5:79: d4:29:e2:e1:e8:95:80:b1:b0:e3:5b:8e:2b:29:9a: 64:df:a1:5d:ed:b0:09:05:6d:db:28:2e:ce:62:a2: 62:fe:b4:88:da:12:eb:38:eb:21:9d:c0:41:2b:01: 52:7b:88:77:d3:1c:8f:c7:ba:b9:88:b5:6a:09:e7: 73:e8:11:40:a7:d1:cc:ca:62:8d:2d:e5:8f:0b:a6: 50:d2:a8:50:c3:28:ea:f5:ab:25:87:8a:9a:96:1c: a9:67:b8:3f:0c:d5:f7:f9:52:13:2f:c2:1b:d5:70: 70:f0:8f:c0:12:ca:06:cb:9a:e1:d9:ca:33:7a:77: d6:f8:ec:b9:f1:68:44:42:48:13:d2:c0:c2:a4:ae: 5e:60:fe:b6:a6:05:fc:b4:dd:07:59:02:d4:59:18: 98:63:f5:a5:63:e0:90:0c:7d:5d:b2:06:7a:f3:85: ea:eb:d4:03:ae:5e:84:3e:5f:ff:15:ed:69:bc:f9: 39:36:72:75:cf:77:52:4d:f3:c9:90:2c:b9:3d:e5: c9:23:53:3f:1f:24:98:21:5c:07:99:29:bd:c6:3a: ec:e7:6e:86:3a:6b:97:74:63:33:bd:68:18:31:f0: 78:8d:76:bf:fc:9e:8e:5d:2a:86:a7:4d:90:dc:27: 1a:39 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0 X509v3 Basic Constraints: critical CA:TRUE, pathlen:3 X509v3 Key Usage: critical Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 85:0c:5d:8e:e4:6f:51:68:42:05:a0:dd:bb:4f:27:25:84:03: bd:f7:64:fd:2d:d7:30:e3:a4:10:17:eb:da:29:29:b6:79:3f: 76:f6:19:13:23:b8:10:0a:f9:58:a4:d4:61:70:bd:04:61:6a: 12:8a:17:d5:0a:bd:c5:bc:30:7c:d6:e9:0c:25:8d:86:40:4f: ec:cc:a3:7e:38:c6:37:11:4f:ed:dd:68:31:8e:4c:d2:b3:01: 74:ee:be:75:5e:07:48:1a:7f:70:ff:16:5c:84:c0:79:85:b8: 05:fd:7f:be:65:11:a3:0f:c0:02:b4:f8:52:37:39:04:d5:a9: 31:7a:18:bf:a0:2a:f4:12:99:f7:a3:45:82:e3:3c:5e:f5:9d: 9e:b5:c8:9e:7c:2e:c8:a4:9e:4e:08:14:4b:6d:fd:70:6d:6b: 1a:63:bd:64:e6:1f:b7:ce:f0:f2:9f:2e:bb:1b:b7:f2:50:88: 73:92:c2:e2:e3:16:8d:9a:32:02:ab:8e:18:dd:e9:10:11:ee: 7e:35:ab:90:af:3e:30:94:7a:d0:33:3d:a7:65:0f:f5:fc:8e: 9e:62:cf:47:44:2c:01:5d:bb:1d:b5:32:d2:47:d2:38:2e:d0: fe:81:dc:32:6a:1e:b5:ee:3c:d5:fc:e7:81:1d:19:c3:24:42: ea:63:39:a9 beTRUSTed Root CA ================= MD5 Fingerprint=85:CA:76:5A:1B:D1:68:22:DC:A2:23:12:CA:C6:80:34 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIFLDCCBBSgAwIBAgIEOU99hzANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJX VzESMBAGA1UEChMJYmVUUlVTVGVkMRswGQYDVQQDExJiZVRSVVNUZWQgUm9vdCBD QXMxGjAYBgNVBAMTEWJlVFJVU1RlZCBSb290IENBMB4XDTAwMDYyMDE0MjEwNFoX DTEwMDYyMDEzMjEwNFowWjELMAkGA1UEBhMCV1cxEjAQBgNVBAoTCWJlVFJVU1Rl ZDEbMBkGA1UEAxMSYmVUUlVTVGVkIFJvb3QgQ0FzMRowGAYDVQQDExFiZVRSVVNU ZWQgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANS0c3oT CjhVAb6JVuGUntS+WutKNHUbYSnE4a0IYCF4SP+00PpeQY1hRIfo7clY+vyTmt9P 6j41ffgzeubx181vSUs9Ty1uDoM6GHh3o8/n9E1z2Jo7Gh2+lVPPIJfCzz4kUmwM jmVZxXH/YgmPqsWPzGCgc0rXOD8Vcr+il7dw6K/ifhYGTPWqZCZyByWtNfwYsSbX 2P8ZDoMbjNx4RWc0PfSvHI3kbWvtILNnmrRhyxdviTX/507AMhLn7uzf/5cwdO2N R47rtMNE5qdMf1ZD6Li8tr76g5fmu/vEtpO+GRg+jIG5c4gW9JZDnGdzF5DYCW5j rEq2I8QBoa2k5MUCAwEAAaOCAfgwggH0MA8GA1UdEwEB/wQFMAMBAf8wggFZBgNV HSAEggFQMIIBTDCCAUgGCisGAQQBsT4BAAAwggE4MIIBAQYIKwYBBQUHAgIwgfQa gfFSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1 bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0 ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGFuZCBjZXJ0aWZpY2F0aW9uIHBy YWN0aWNlIHN0YXRlbWVudCwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0IGJlVFJVU1Rl ZCdzIHdlYiBzaXRlLCBodHRwczovL3d3dy5iZVRSVVNUZWQuY29tL3ZhdWx0L3Rl cm1zMDEGCCsGAQUFBwIBFiVodHRwczovL3d3dy5iZVRSVVNUZWQuY29tL3ZhdWx0 L3Rlcm1zMDQGA1UdHwQtMCswKaAnoCWkIzAhMRIwEAYDVQQKEwliZVRSVVNUZWQx CzAJBgNVBAYTAldXMB0GA1UdDgQWBBQquZtpLjub2M3eKjEENGvKBxirZzAfBgNV HSMEGDAWgBQquZtpLjub2M3eKjEENGvKBxirZzAOBgNVHQ8BAf8EBAMCAf4wDQYJ KoZIhvcNAQEFBQADggEBAHlh26Nebhax6nZR+csVm8tpvuaBa58oH2U+3RGFktTo Qb9+M70j5/Egv6S0phkBxoyNNXxlpE8JpNbYIxUFE6dDea/bow6be3ga8wSGWsb2 jCBHOElQBp1yZzrwmAOtlmdE/D8QDYZN5AA7KXvOOzuZhmElQITcE2K3+spZ1gMe 1lMBzW1MaFVA4e5rxyoAAEiCswoBw2AqDPeCNe5IhpbkdNQ96gFxugR1QKepfzk5 mlWXKWWuGVUlBXJH0+gY3Ljpr0NzARJ0o+FcXxVdJPP55PS2Z2cS52QiivalQaYc tmBjRYoQtLpGEK5BV2VsPyMQPyEQWbfkQN0mDCP2qq4= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 961510791 (0x394f7d87) Signature Algorithm: sha1WithRSAEncryption Issuer: C=WW, O=beTRUSTed, CN=beTRUSTed Root CAs, CN=beTRUSTed Root CA Validity Not Before: Jun 20 14:21:04 2000 GMT Not After : Jun 20 13:21:04 2010 GMT Subject: C=WW, O=beTRUSTed, CN=beTRUSTed Root CAs, CN=beTRUSTed Root CA Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:d4:b4:73:7a:13:0a:38:55:01:be:89:56:e1:94: 9e:d4:be:5a:eb:4a:34:75:1b:61:29:c4:e1:ad:08: 60:21:78:48:ff:b4:d0:fa:5e:41:8d:61:44:87:e8: ed:c9:58:fa:fc:93:9a:df:4f:ea:3e:35:7d:f8:33: 7a:e6:f1:d7:cd:6f:49:4b:3d:4f:2d:6e:0e:83:3a: 18:78:77:a3:cf:e7:f4:4d:73:d8:9a:3b:1a:1d:be: 95:53:cf:20:97:c2:cf:3e:24:52:6c:0c:8e:65:59: c5:71:ff:62:09:8f:aa:c5:8f:cc:60:a0:73:4a:d7: 38:3f:15:72:bf:a2:97:b7:70:e8:af:e2:7e:16:06: 4c:f5:aa:64:26:72:07:25:ad:35:fc:18:b1:26:d7: d8:ff:19:0e:83:1b:8c:dc:78:45:67:34:3d:f4:af: 1c:8d:e4:6d:6b:ed:20:b3:67:9a:b4:61:cb:17:6f: 89:35:ff:e7:4e:c0:32:12:e7:ee:ec:df:ff:97:30: 74:ed:8d:47:8e:eb:b4:c3:44:e6:a7:4c:7f:56:43: e8:b8:bc:b6:be:fa:83:97:e6:bb:fb:c4:b6:93:be: 19:18:3e:8c:81:b9:73:88:16:f4:96:43:9c:67:73: 17:90:d8:09:6e:63:ac:4a:b6:23:c4:01:a1:ad:a4: e4:c5 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Certificate Policies: Policy: 1.3.6.1.4.1.6334.1.0.0 User Notice: Explicit Text: Reliance on this certificate by any party assumes acceptance of the then applicable standard terms and conditions of use, and certification practice statement, which can be found at beTRUSTed's web site, https://www.beTRUSTed.com/vault/terms CPS: https://www.beTRUSTed.com/vault/terms X509v3 CRL Distribution Points: DirName:/O=beTRUSTed/C=WW X509v3 Subject Key Identifier: 2A:B9:9B:69:2E:3B:9B:D8:CD:DE:2A:31:04:34:6B:CA:07:18:AB:67 X509v3 Authority Key Identifier: keyid:2A:B9:9B:69:2E:3B:9B:D8:CD:DE:2A:31:04:34:6B:CA:07:18:AB:67 X509v3 Key Usage: critical Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment, Key Agreement, Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 79:61:db:a3:5e:6e:16:b1:ea:76:51:f9:cb:15:9b:cb:69:be: e6:81:6b:9f:28:1f:65:3e:dd:11:85:92:d4:e8:41:bf:7e:33: bd:23:e7:f1:20:bf:a4:b4:a6:19:01:c6:8c:8d:35:7c:65:a4: 4f:09:a4:d6:d8:23:15:05:13:a7:43:79:af:db:a3:0e:9b:7b: 78:1a:f3:04:86:5a:c6:f6:8c:20:47:38:49:50:06:9d:72:67: 3a:f0:98:03:ad:96:67:44:fc:3f:10:0d:86:4d:e4:00:3b:29: 7b:ce:3b:3b:99:86:61:25:40:84:dc:13:62:b7:fa:ca:59:d6: 03:1e:d6:53:01:cd:6d:4c:68:55:40:e1:ee:6b:c7:2a:00:00: 48:82:b3:0a:01:c3:60:2a:0c:f7:82:35:ee:48:86:96:e4:74: d4:3d:ea:01:71:ba:04:75:40:a7:a9:7f:39:39:9a:55:97:29: 65:ae:19:55:25:05:72:47:d3:e8:18:dc:b8:e9:af:43:73:01: 12:74:a3:e1:5c:5f:15:5d:24:f3:f9:e4:f4:b6:67:67:12:e7: 64:22:8a:f6:a5:41:a6:1c:b6:60:63:45:8a:10:b4:ba:46:10: ae:41:57:65:6c:3f:23:10:3f:21:10:59:b7:e4:40:dd:26:0c: 23:f6:aa:ae beTRUSTed Root CA-Baltimore Implementation ========================================== MD5 Fingerprint=81:35:B9:FB:FB:12:CA:18:69:36:EB:AE:69:78:A1:F1 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIFajCCBFKgAwIBAgIEPLU9RjANBgkqhkiG9w0BAQUFADBmMRIwEAYDVQQKEwli ZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEzMDEGA1UEAxMq YmVUUlVTVGVkIFJvb3QgQ0EtQmFsdGltb3JlIEltcGxlbWVudGF0aW9uMB4XDTAy MDQxMTA3Mzg1MVoXDTIyMDQxMTA3Mzg1MVowZjESMBAGA1UEChMJYmVUUlVTVGVk MRswGQYDVQQLExJiZVRSVVNUZWQgUm9vdCBDQXMxMzAxBgNVBAMTKmJlVFJVU1Rl ZCBSb290IENBLUJhbHRpbW9yZSBJbXBsZW1lbnRhdGlvbjCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBALx+xDmcjOPWHIb/ymKt4H8wRXqOGrO4x/nRNv8i 805qX4QQ+2aBw5R5MdKR4XeOGCrDFN5R9U+jK7wYFuK13XneIviCfsuBH/0nLI/6 l2Qijvj/YaOcGx6Sj8CoCd8JEey3fTGaGuqDIQY8n7pc/5TqarjDa1U0Tz0yH92B FODEPM2dMPgwqZfT7syj0B9fHBOB1BirlNFjw55/NZKeX0Tq7PQiXLfoPX2k+Ymp kbIq2eszh+6l/ePazIjmiSZuxyuC0F6dWdsU7JGDBcNeDsYq0ATdcT0gTlgn/FP7 eHgZFLL8kFKJOGJgB7Sg7KxrUNb9uShr71ItOrL/8QFArDcCAwEAAaOCAh4wggIa MA8GA1UdEwEB/wQFMAMBAf8wggG1BgNVHSAEggGsMIIBqDCCAaQGDysGAQQBsT4A AAEJKIORMTCCAY8wggFIBggrBgEFBQcCAjCCAToaggE2UmVsaWFuY2Ugb24gb3Ig dXNlIG9mIHRoaXMgQ2VydGlmaWNhdGUgY3JlYXRlcyBhbiBhY2tub3dsZWRnbWVu dCBhbmQgYWNjZXB0YW5jZSBvZiB0aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJk IHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSwgdGhlIENlcnRpZmljYXRpb24g UHJhY3RpY2UgU3RhdGVtZW50IGFuZCB0aGUgUmVseWluZyBQYXJ0eSBBZ3JlZW1l bnQsIHdoaWNoIGNhbiBiZSBmb3VuZCBhdCB0aGUgYmVUUlVTVGVkIHdlYiBzaXRl LCBodHRwOi8vd3d3LmJldHJ1c3RlZC5jb20vcHJvZHVjdHNfc2VydmljZXMvaW5k ZXguaHRtbDBBBggrBgEFBQcCARY1aHR0cDovL3d3dy5iZXRydXN0ZWQuY29tL3By b2R1Y3RzX3NlcnZpY2VzL2luZGV4Lmh0bWwwHQYDVR0OBBYEFEU9w6nR3D8kVpgc cxiIav+DR+22MB8GA1UdIwQYMBaAFEU9w6nR3D8kVpgccxiIav+DR+22MA4GA1Ud DwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEASZK8o+6svfoNyYt5hhwjdrCA WXf82n+0S9/DZEtqTg6t8n1ZdwWtColzsPq8y9yNAIiPpqCy6qxSJ7+hSHyXEHu6 7RMdmgduyzFiEuhjA6p9beP4G3YheBufS0OM00mG9htc9i5gFdPp43t1P9ACg9AY gkHNZTfqjjJ+vWuZXTARyNtIVBw74acT02pIk/c9jH8F6M7ziCpjBLjqflh8AXtb 4cV97yHgjQ5dUX2xZ/2jvTg2xvI4hocalmhgRvsoFEdV4aeADGvi6t9NfJBIoDa9 CReJf8Py05yc493EG931t3GzUwWJBtDLSoDByFOQtTwxiBdQn8nEDovYqAJjDQ== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1018510662 (0x3cb53d46) Signature Algorithm: sha1WithRSAEncryption Issuer: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA-Baltimore Implementation Validity Not Before: Apr 11 07:38:51 2002 GMT Not After : Apr 11 07:38:51 2022 GMT Subject: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA-Baltimore Implementation Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:bc:7e:c4:39:9c:8c:e3:d6:1c:86:ff:ca:62:ad: e0:7f:30:45:7a:8e:1a:b3:b8:c7:f9:d1:36:ff:22: f3:4e:6a:5f:84:10:fb:66:81:c3:94:79:31:d2:91: e1:77:8e:18:2a:c3:14:de:51:f5:4f:a3:2b:bc:18: 16:e2:b5:dd:79:de:22:f8:82:7e:cb:81:1f:fd:27: 2c:8f:fa:97:64:22:8e:f8:ff:61:a3:9c:1b:1e:92: 8f:c0:a8:09:df:09:11:ec:b7:7d:31:9a:1a:ea:83: 21:06:3c:9f:ba:5c:ff:94:ea:6a:b8:c3:6b:55:34: 4f:3d:32:1f:dd:81:14:e0:c4:3c:cd:9d:30:f8:30: a9:97:d3:ee:cc:a3:d0:1f:5f:1c:13:81:d4:18:ab: 94:d1:63:c3:9e:7f:35:92:9e:5f:44:ea:ec:f4:22: 5c:b7:e8:3d:7d:a4:f9:89:a9:91:b2:2a:d9:eb:33: 87:ee:a5:fd:e3:da:cc:88:e6:89:26:6e:c7:2b:82: d0:5e:9d:59:db:14:ec:91:83:05:c3:5e:0e:c6:2a: d0:04:dd:71:3d:20:4e:58:27:fc:53:fb:78:78:19: 14:b2:fc:90:52:89:38:62:60:07:b4:a0:ec:ac:6b: 50:d6:fd:b9:28:6b:ef:52:2d:3a:b2:ff:f1:01:40: ac:37 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Certificate Policies: Policy: 1.3.6.1.4.1.6334.0.0.1.9.40.51377 User Notice: Explicit Text: Reliance on or use of this Certificate creates an acknowledgment and acceptance of the then applicable standard terms and conditions of use, the Certification Practice Statement and the Relying Party Agreement, which can be found at the beTRUSTed web site, http://www.betrusted.com/products_services/index.html CPS: http://www.betrusted.com/products_services/index.html X509v3 Subject Key Identifier: 45:3D:C3:A9:D1:DC:3F:24:56:98:1C:73:18:88:6A:FF:83:47:ED:B6 X509v3 Authority Key Identifier: keyid:45:3D:C3:A9:D1:DC:3F:24:56:98:1C:73:18:88:6A:FF:83:47:ED:B6 X509v3 Key Usage: critical Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 49:92:bc:a3:ee:ac:bd:fa:0d:c9:8b:79:86:1c:23:76:b0:80: 59:77:fc:da:7f:b4:4b:df:c3:64:4b:6a:4e:0e:ad:f2:7d:59: 77:05:ad:0a:89:73:b0:fa:bc:cb:dc:8d:00:88:8f:a6:a0:b2: ea:ac:52:27:bf:a1:48:7c:97:10:7b:ba:ed:13:1d:9a:07:6e: cb:31:62:12:e8:63:03:aa:7d:6d:e3:f8:1b:76:21:78:1b:9f: 4b:43:8c:d3:49:86:f6:1b:5c:f6:2e:60:15:d3:e9:e3:7b:75: 3f:d0:02:83:d0:18:82:41:cd:65:37:ea:8e:32:7e:bd:6b:99: 5d:30:11:c8:db:48:54:1c:3b:e1:a7:13:d3:6a:48:93:f7:3d: 8c:7f:05:e8:ce:f3:88:2a:63:04:b8:ea:7e:58:7c:01:7b:5b: e1:c5:7d:ef:21:e0:8d:0e:5d:51:7d:b1:67:fd:a3:bd:38:36: c6:f2:38:86:87:1a:96:68:60:46:fb:28:14:47:55:e1:a7:80: 0c:6b:e2:ea:df:4d:7c:90:48:a0:36:bd:09:17:89:7f:c3:f2: d3:9c:9c:e3:dd:c4:1b:dd:f5:b7:71:b3:53:05:89:06:d0:cb: 4a:80:c1:c8:53:90:b5:3c:31:88:17:50:9f:c9:c4:0e:8b:d8: a8:02:63:0d beTRUSTed Root CA - Entrust Implementation ========================================== MD5 Fingerprint=7D:86:90:8F:5B:F1:F2:40:C0:F7:3D:62:B5:A4:A9:3B PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIGUTCCBTmgAwIBAgIEPLVPQDANBgkqhkiG9w0BAQUFADBmMRIwEAYDVQQKEwli ZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEzMDEGA1UEAxMq YmVUUlVTVGVkIFJvb3QgQ0EgLSBFbnRydXN0IEltcGxlbWVudGF0aW9uMB4XDTAy MDQxMTA4MjQyN1oXDTIyMDQxMTA4NTQyN1owZjESMBAGA1UEChMJYmVUUlVTVGVk MRswGQYDVQQLExJiZVRSVVNUZWQgUm9vdCBDQXMxMzAxBgNVBAMTKmJlVFJVU1Rl ZCBSb290IENBIC0gRW50cnVzdCBJbXBsZW1lbnRhdGlvbjCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBALr0RAOqEmq1Q+xVkrYwfTVXDNvzDSduTPdQqJtO K2/b9a0cS12zqcH+e0TrW6MFDR/FNCswACnxeECypP869AGIF37m1CbTukzqMvtD d5eHI8XbQ6P1KqNRXuE70mVpflUVm3rnafdE4Fe1FehmYA8NA/uCjqPoEXtsvsdj DheT389Lrm5zdeDzqrmkwAkbhepxKYhBMvnwKg5sCfJ0a2ZsUhMfGLzUPvfYbiCe yv78IZTuEyhL11xeDGbu6bsPwTSxfwh28z0mcMmLJR1iJAzqHHVOwBLkuhMdMCkt VjMFu5dZfsZJT4nXLySotohAtWSSU1Yk5KKghbNekLQSM80CAwEAAaOCAwUwggMB MIIBtwYDVR0gBIIBrjCCAaowggGmBg8rBgEEAbE+AAACCSiDkTEwggGRMIIBSQYI KwYBBQUHAgIwggE7GoIBN1JlbGlhbmNlIG9uIG9yIHVzZSBvZiB0aGlzIENlcnRp ZmljYXRlIGNyZWF0ZXMgYW4gYWNrbm93bGVkZ21lbnQgYW5kIGFjY2VwdGFuY2Ug b2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0 aW9ucyBvZiB1c2UsIHRoZSBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu dCBhbmQgdGhlIFJlbHlpbmcgUGFydHkgQWdyZWVtZW50LCB3aGljaCBjYW4gYmUg Zm91bmQgYXQgdGhlIGJlVFJVU1RlZCB3ZWIgc2l0ZSwgaHR0cHM6Ly93d3cuYmV0 cnVzdGVkLmNvbS9wcm9kdWN0c19zZXJ2aWNlcy9pbmRleC5odG1sMEIGCCsGAQUF BwIBFjZodHRwczovL3d3dy5iZXRydXN0ZWQuY29tL3Byb2R1Y3RzX3NlcnZpY2Vz L2luZGV4Lmh0bWwwEQYJYIZIAYb4QgEBBAQDAgAHMIGJBgNVHR8EgYEwfzB9oHug eaR3MHUxEjAQBgNVBAoTCWJlVFJVU1RlZDEbMBkGA1UECxMSYmVUUlVTVGVkIFJv b3QgQ0FzMTMwMQYDVQQDEypiZVRSVVNUZWQgUm9vdCBDQSAtIEVudHJ1c3QgSW1w bGVtZW50YXRpb24xDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMjAwMjA0MTEw ODI0MjdagQ8yMDIyMDQxMTA4NTQyN1owCwYDVR0PBAQDAgEGMB8GA1UdIwQYMBaA FH1w5a44iwY/qhwaj/nPJDCqhIQWMB0GA1UdDgQWBBR9cOWuOIsGP6ocGo/5zyQw qoSEFjAMBgNVHRMEBTADAQH/MB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6NC4wAwIE kDANBgkqhkiG9w0BAQUFAAOCAQEAKrgXzh8QlOu4mre5X+za95IkrNySO8cgjfKZ 5V04ocI07cUTWVwFtStPYZuR+0H8/NU8TZh2BvWBfevdkObRVlTa4y0MnxEylCIB evZsLHRnBMylj44ss0O1lKLQfelifwa+JwGDnjr9iu6YQ0pr17WXOzq/T220Y/oz ADQuLW2WyXvKmWO6vvT2MKAtmJbpVkQFqUSjYRDrgqFnXbxdJ3Wqiig2KjiS2d2k XgClzMx8KSreKJCrt+G2/30lC0DYqjSjLd4H61/OCt3Kfjp9JsFiaDrmLzfzgYYh xKlkqu9FNtEaZnz46TfW1mG+oq1I59/mdP7TbX3SJdysYlep9w== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1018515264 (0x3cb54f40) Signature Algorithm: sha1WithRSAEncryption Issuer: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA - Entrust Implementation Validity Not Before: Apr 11 08:24:27 2002 GMT Not After : Apr 11 08:54:27 2022 GMT Subject: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA - Entrust Implementation Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:ba:f4:44:03:aa:12:6a:b5:43:ec:55:92:b6:30: 7d:35:57:0c:db:f3:0d:27:6e:4c:f7:50:a8:9b:4e: 2b:6f:db:f5:ad:1c:4b:5d:b3:a9:c1:fe:7b:44:eb: 5b:a3:05:0d:1f:c5:34:2b:30:00:29:f1:78:40:b2: a4:ff:3a:f4:01:88:17:7e:e6:d4:26:d3:ba:4c:ea: 32:fb:43:77:97:87:23:c5:db:43:a3:f5:2a:a3:51: 5e:e1:3b:d2:65:69:7e:55:15:9b:7a:e7:69:f7:44: e0:57:b5:15:e8:66:60:0f:0d:03:fb:82:8e:a3:e8: 11:7b:6c:be:c7:63:0e:17:93:df:cf:4b:ae:6e:73: 75:e0:f3:aa:b9:a4:c0:09:1b:85:ea:71:29:88:41: 32:f9:f0:2a:0e:6c:09:f2:74:6b:66:6c:52:13:1f: 18:bc:d4:3e:f7:d8:6e:20:9e:ca:fe:fc:21:94:ee: 13:28:4b:d7:5c:5e:0c:66:ee:e9:bb:0f:c1:34:b1: 7f:08:76:f3:3d:26:70:c9:8b:25:1d:62:24:0c:ea: 1c:75:4e:c0:12:e4:ba:13:1d:30:29:2d:56:33:05: bb:97:59:7e:c6:49:4f:89:d7:2f:24:a8:b6:88:40: b5:64:92:53:56:24:e4:a2:a0:85:b3:5e:90:b4:12: 33:cd Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Certificate Policies: Policy: 1.3.6.1.4.1.6334.0.0.2.9.40.51377 User Notice: Explicit Text: Reliance on or use of this Certificate creates an acknowledgment and acceptance of the then applicable standard terms and conditions of use, the Certification Practice Statement and the Relying Party Agreement, which can be found at the beTRUSTed web site, https://www.betrusted.com/products_services/index.html CPS: https://www.betrusted.com/products_services/index.html Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 CRL Distribution Points: DirName:/O=beTRUSTed/OU=beTRUSTed Root CAs/CN=beTRUSTed Root CA - Entrust Implementation/CN=CRL1 X509v3 Private Key Usage Period: Not Before: Apr 11 08:24:27 2002 GMT, Not After: Apr 11 08:54:27 2022 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:7D:70:E5:AE:38:8B:06:3F:AA:1C:1A:8F:F9:CF:24:30:AA:84:84:16 X509v3 Subject Key Identifier: 7D:70:E5:AE:38:8B:06:3F:AA:1C:1A:8F:F9:CF:24:30:AA:84:84:16 X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0...V6.0:4.0.... Signature Algorithm: sha1WithRSAEncryption 2a:b8:17:ce:1f:10:94:eb:b8:9a:b7:b9:5f:ec:da:f7:92:24: ac:dc:92:3b:c7:20:8d:f2:99:e5:5d:38:a1:c2:34:ed:c5:13: 59:5c:05:b5:2b:4f:61:9b:91:fb:41:fc:fc:d5:3c:4d:98:76: 06:f5:81:7d:eb:dd:90:e6:d1:56:54:da:e3:2d:0c:9f:11:32: 94:22:01:7a:f6:6c:2c:74:67:04:cc:a5:8f:8e:2c:b3:43:b5: 94:a2:d0:7d:e9:62:7f:06:be:27:01:83:9e:3a:fd:8a:ee:98: 43:4a:6b:d7:b5:97:3b:3a:bf:4f:6d:b4:63:fa:33:00:34:2e: 2d:6d:96:c9:7b:ca:99:63:ba:be:f4:f6:30:a0:2d:98:96:e9: 56:44:05:a9:44:a3:61:10:eb:82:a1:67:5d:bc:5d:27:75:aa: 8a:28:36:2a:38:92:d9:dd:a4:5e:00:a5:cc:cc:7c:29:2a:de: 28:90:ab:b7:e1:b6:ff:7d:25:0b:40:d8:aa:34:a3:2d:de:07: eb:5f:ce:0a:dd:ca:7e:3a:7d:26:c1:62:68:3a:e6:2f:37:f3: 81:86:21:c4:a9:64:aa:ef:45:36:d1:1a:66:7c:f8:e9:37:d6: d6:61:be:a2:ad:48:e7:df:e6:74:fe:d3:6d:7d:d2:25:dc:ac: 62:57:a9:f7 beTRUSTed Root CA - RSA Implementation ====================================== MD5 Fingerprint=86:42:05:09:BC:A7:9D:EC:1D:F3:2E:0E:BA:D8:1D:D0 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIFaDCCBFCgAwIBAgIQO1nHe81bV569N1KsdrSqGjANBgkqhkiG9w0BAQUFADBi MRIwEAYDVQQKEwliZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENB czEvMC0GA1UEAxMmYmVUUlVTVGVkIFJvb3QgQ0EgLSBSU0EgSW1wbGVtZW50YXRp b24wHhcNMDIwNDExMTExODEzWhcNMjIwNDEyMTEwNzI1WjBiMRIwEAYDVQQKEwli ZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEvMC0GA1UEAxMm YmVUUlVTVGVkIFJvb3QgQ0EgLSBSU0EgSW1wbGVtZW50YXRpb24wggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkujQwCY5X0LkGLG9uJIAiv11DpvpPrILn HGhwhRujbrWqeNluB0s/6d/16uhUoWGKDi9pdRi3DOUUjXFumLhV/AyV0Jtu4S2I 1DpAa5LxmZZk3tv/ePTulh1HiXzUvrmIdyM6CeYEnm2qXtLIvZpOGd+J6lsOfsPk tPDgaTuID0GQ+NRxQyTBjyZLO1bp/4xsN+lFrYWMU8NghpBKlsmzVLC7F/AcRdnU GxlkVgoZ98zh/4avflherHqQH8koOUV7orbHnB/ahdQhhlkwk75TMzf270HPM8er cmsl9fNTGwxMLvF1S++gh/f+ihXQbNXL+WhTuXAVE8L1LvtDNXUtAgMBAAGjggIY MIICFDAMBgNVHRMEBTADAQH/MIIBtQYDVR0gBIIBrDCCAagwggGkBg8rBgEEAbE+ AAADCSiDkTEwggGPMEEGCCsGAQUFBwIBFjVodHRwOi8vd3d3LmJldHJ1c3RlZC5j b20vcHJvZHVjdHNfc2VydmljZXMvaW5kZXguaHRtbDCCAUgGCCsGAQUFBwICMIIB OhqCATZSZWxpYW5jZSBvbiBvciB1c2Ugb2YgdGhpcyBDZXJ0aWZpY2F0ZSBjcmVh dGVzIGFuIGFja25vd2xlZGdtZW50IGFuZCBhY2NlcHRhbmNlIG9mIHRoZSB0aGVu IGFwcGxpY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdXNl LCB0aGUgQ2VydGlmaWNhdGlvbiBQcmFjdGljZSBTdGF0ZW1lbnQgYW5kIHRoZSBS ZWx5aW5nIFBhcnR5IEFncmVlbWVudCwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0IHRo ZSBiZVRSVVNUZWQgd2ViIHNpdGUsIGh0dHA6Ly93d3cuYmV0cnVzdGVkLmNvbS9w cm9kdWN0c19zZXJ2aWNlcy9pbmRleC5odG1sMAsGA1UdDwQEAwIBBjAfBgNVHSME GDAWgBSp7BR++dlDzFMrFK3P9/BZiUHNGTAdBgNVHQ4EFgQUqewUfvnZQ8xTKxSt z/fwWYlBzRkwDQYJKoZIhvcNAQEFBQADggEBANuXsHXqDMTBmMpWBcCorSZIry0g 6IHHtt9DwSwddUvUQo3neqh03GZCWYez9Wlt2ames30cMcH1VOJZJEnl7r05pmuK mET7m9cqg5c0Lcd9NUwtNLg+DcTsiCevnpL9UGGCqGAHFFPMZRPB9kdEadIxyKbd LrML3kqNWz2rDcI1UqJWN8wyiyiFQpyRQHpwKzg21eFzGh/l+n5f3NacOzDq28Bb J1zTcwfBwvNMm2+fG8oeqqg4MwlYsq78B+g23FW6L09A/nq9BqaBwZMifIYRCgZ3 SK41ty8ymmFei74pnykkiFY5LKjSq5YDWtRIn7lAhAuYaPsBQ9Yb4gmxlxw= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 3b:59:c7:7b:cd:5b:57:9e:bd:37:52:ac:76:b4:aa:1a Signature Algorithm: sha1WithRSAEncryption Issuer: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA - RSA Implementation Validity Not Before: Apr 11 11:18:13 2002 GMT Not After : Apr 12 11:07:25 2022 GMT Subject: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA - RSA Implementation Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:e4:ba:34:30:09:8e:57:d0:b9:06:2c:6f:6e:24: 80:22:bf:5d:43:a6:fa:4f:ac:82:e7:1c:68:70:85: 1b:a3:6e:b5:aa:78:d9:6e:07:4b:3f:e9:df:f5:ea: e8:54:a1:61:8a:0e:2f:69:75:18:b7:0c:e5:14:8d: 71:6e:98:b8:55:fc:0c:95:d0:9b:6e:e1:2d:88:d4: 3a:40:6b:92:f1:99:96:64:de:db:ff:78:f4:ee:96: 1d:47:89:7c:d4:be:b9:88:77:23:3a:09:e6:04:9e: 6d:aa:5e:d2:c8:bd:9a:4e:19:df:89:ea:5b:0e:7e: c3:e4:b4:f0:e0:69:3b:88:0f:41:90:f8:d4:71:43: 24:c1:8f:26:4b:3b:56:e9:ff:8c:6c:37:e9:45:ad: 85:8c:53:c3:60:86:90:4a:96:c9:b3:54:b0:bb:17: f0:1c:45:d9:d4:1b:19:64:56:0a:19:f7:cc:e1:ff: 86:af:7e:58:5e:ac:7a:90:1f:c9:28:39:45:7b:a2: b6:c7:9c:1f:da:85:d4:21:86:59:30:93:be:53:33: 37:f6:ef:41:cf:33:c7:ab:72:6b:25:f5:f3:53:1b: 0c:4c:2e:f1:75:4b:ef:a0:87:f7:fe:8a:15:d0:6c: d5:cb:f9:68:53:b9:70:15:13:c2:f5:2e:fb:43:35: 75:2d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:TRUE X509v3 Certificate Policies: Policy: 1.3.6.1.4.1.6334.0.0.3.9.40.51377 CPS: http://www.betrusted.com/products_services/index.html User Notice: Explicit Text: Reliance on or use of this Certificate creates an acknowledgment and acceptance of the then applicable standard terms and conditions of use, the Certification Practice Statement and the Relying Party Agreement, which can be found at the beTRUSTed web site, http://www.betrusted.com/products_services/index.html X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:A9:EC:14:7E:F9:D9:43:CC:53:2B:14:AD:CF:F7:F0:59:89:41:CD:19 X509v3 Subject Key Identifier: A9:EC:14:7E:F9:D9:43:CC:53:2B:14:AD:CF:F7:F0:59:89:41:CD:19 Signature Algorithm: sha1WithRSAEncryption db:97:b0:75:ea:0c:c4:c1:98:ca:56:05:c0:a8:ad:26:48:af: 2d:20:e8:81:c7:b6:df:43:c1:2c:1d:75:4b:d4:42:8d:e7:7a: a8:74:dc:66:42:59:87:b3:f5:69:6d:d9:a9:9e:b3:7d:1c:31: c1:f5:54:e2:59:24:49:e5:ee:bd:39:a6:6b:8a:98:44:fb:9b: d7:2a:83:97:34:2d:c7:7d:35:4c:2d:34:b8:3e:0d:c4:ec:88: 27:af:9e:92:fd:50:61:82:a8:60:07:14:53:cc:65:13:c1:f6: 47:44:69:d2:31:c8:a6:dd:2e:b3:0b:de:4a:8d:5b:3d:ab:0d: c2:35:52:a2:56:37:cc:32:8b:28:85:42:9c:91:40:7a:70:2b: 38:36:d5:e1:73:1a:1f:e5:fa:7e:5f:dc:d6:9c:3b:30:ea:db: c0:5b:27:5c:d3:73:07:c1:c2:f3:4c:9b:6f:9f:1b:ca:1e:aa: a8:38:33:09:58:b2:ae:fc:07:e8:36:dc:55:ba:2f:4f:40:fe: 7a:bd:06:a6:81:c1:93:22:7c:86:11:0a:06:77:48:ae:35:b7: 2f:32:9a:61:5e:8b:be:29:9f:29:24:88:56:39:2c:a8:d2:ab: 96:03:5a:d4:48:9f:b9:40:84:0b:98:68:fb:01:43:d6:1b:e2: 09:b1:97:1c Digital Signature Trust Co. Global CA 1 ======================================= MD5 Fingerprint=25:7A:BA:83:2E:B6:A2:0B:DA:FE:F5:02:0F:08:D7:AD PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJV UzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQL EwhEU1RDQSBFMTAeFw05ODEyMTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJ BgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4x ETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQCg bIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJENySZ j9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlV Sn5JTe2io74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCG SAGG+EIBAQQEAwIABzBoBgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMx JDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UECxMI RFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMTk5ODEyMTAxODEw MjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQYMBaAFGp5 fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i +DAMBgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqG SIb3DQEBBQUAA4GBACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lN QseSJqBcNJo4cvj9axY+IO6CizEqkzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+ gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4RbyhkwS7hp86W0N6w4pl -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 913315222 (0x36701596) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=Digital Signature Trust Co., OU=DSTCA E1 Validity Not Before: Dec 10 18:10:23 1998 GMT Not After : Dec 10 18:40:23 2018 GMT Subject: C=US, O=Digital Signature Trust Co., OU=DSTCA E1 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:a0:6c:81:a9:cf:34:1e:24:dd:fe:86:28:cc:de: 83:2f:f9:5e:d4:42:d2:e8:74:60:66:13:98:06:1c: a9:51:12:69:6f:31:55:b9:49:72:00:08:7e:d3:a5: 62:44:37:24:99:8f:d9:83:48:8f:99:6d:95:13:bb: 43:3b:2e:49:4e:88:37:c1:bb:58:7f:fe:e1:bd:f8: bb:61:cd:f3:47:c0:99:a6:f1:f3:91:e8:78:7c:00: cb:61:c9:44:27:71:69:55:4a:7e:49:4d:ed:a2:a3: be:02:4c:00:ca:02:a8:ee:01:02:31:64:0f:52:2d: 13:74:76:36:b5:7a:b4:2d:71 Exponent: 3 (0x3) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 CRL Distribution Points: DirName:/C=US/O=Digital Signature Trust Co./OU=DSTCA E1/CN=CRL1 X509v3 Private Key Usage Period: Not Before: Dec 10 18:10:23 1998 GMT, Not After: Dec 10 18:10:23 2018 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:6A:79:7E:91:69:46:18:13:0A:02:77:A5:59:5B:60:98:25:0E:A2:F8 X509v3 Subject Key Identifier: 6A:79:7E:91:69:46:18:13:0A:02:77:A5:59:5B:60:98:25:0E:A2:F8 X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0 ..V4.0.... Signature Algorithm: sha1WithRSAEncryption 22:12:d8:7a:1d:dc:81:06:b6:09:65:b2:87:c8:1f:5e:b4:2f: e9:c4:1e:f2:3c:c1:bb:04:90:11:4a:83:4e:7e:93:b9:4d:42: c7:92:26:a0:5c:34:9a:38:72:f8:fd:6b:16:3e:20:ee:82:8b: 31:2a:93:36:85:23:88:8a:3c:03:68:d3:c9:09:0f:4d:fc:6c: a4:da:28:72:93:0e:89:80:b0:7d:fe:80:6f:65:6d:18:33:97: 8b:c2:6b:89:ee:60:3d:c8:9b:ef:7f:2b:32:62:73:93:cb:3c: e3:7b:e2:76:78:45:bc:a1:93:04:bb:86:9f:3a:5b:43:7a:c3: 8a:65 Digital Signature Trust Co. Global CA 2 ======================================= MD5 Fingerprint=6C:C9:A7:6E:47:F1:0C:E3:53:3B:78:4C:4D:C2:6A:C5 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIID2DCCAsACEQDQHkCLAAACfAAAAAIAAAABMA0GCSqGSIb3DQEBBQUAMIGpMQsw CQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENp dHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UE CxMIRFNUQ0EgWDExFjAUBgNVBAMTDURTVCBSb290Q0EgWDExITAfBgkqhkiG9w0B CQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTAeFw05ODEyMDExODE4NTVaFw0wODExMjgx ODE4NTVaMIGpMQswCQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMO U2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0 IENvLjERMA8GA1UECxMIRFNUQ0EgWDExFjAUBgNVBAMTDURTVCBSb290Q0EgWDEx ITAfBgkqhkiG9w0BCQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBANLGJrbnpT3BxGjVUG9TxW9JEwm4ryxIjRRqoxdf WvnTLnUv2Chi0ZMv/E3Uq4flCMeZ55I/db3rJbQVwZsZPdJEjdd0IG03Ao9pk1uK xBmd9LIO/BZsubEFkoPRhSxglD5FVaDZqwgh5mDoO3TymVBRaNADLbGAvqPYUrBE zUNKcI5YhZXhTizWLUFv1oTnyJhEykfbLCSlaSbPa7gnYsP0yXqSI+0TZ4KuRS5F 5X5yP4WdlGIQ5jyRoa13AOAV7POEgHJ6jm5gl8ckWRA0g1vhpaRptlc1HHhZxtMv OnNn7pTKBBMFYgZwI7P0fO5F2WQLW0mqpEPOJsREEmy43XkCAwEAATANBgkqhkiG 9w0BAQUFAAOCAQEAojeyP2n714Z5VEkxlTMr89EJFEliYIalsBHiUMIdBlc+Legz ZL6bqq1fG03UmZWii5rJYnK1aerZWKs17RWiQ9a2vAd5ZWRzfdd5ynvVWlHG4VME lo04z6MXrDlxawHDi1M8Y+nuecDkvpIyZHqzH5eUYr3qsiAVlfuX8ngvYzZAOONG Dx3drJXK50uQe7FLqdTF65raqtWjlBRGjS0f8zrWkzr2Pnn86Oawde3uPclwx12q gUtGJRzHbBXjlU4PqjI3lAoXJJIThFjSY28r9+ZbYgsTF7ANUkz+/m9c4pFuHf2k Ytdo+o56T9II2pPc8JIRetDccpMMc5NihWjQ9A== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: d0:1e:40:8b:00:00:02:7c:00:00:00:02:00:00:00:01 Signature Algorithm: sha1WithRSAEncryption Issuer: C=us, ST=Utah, L=Salt Lake City, O=Digital Signature Trust Co., OU=DSTCA X1, CN=DST RootCA X1/Email=ca@digsigtrust.com Validity Not Before: Dec 1 18:18:55 1998 GMT Not After : Nov 28 18:18:55 2008 GMT Subject: C=us, ST=Utah, L=Salt Lake City, O=Digital Signature Trust Co., OU=DSTCA X1, CN=DST RootCA X1/Email=ca@digsigtrust.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:d2:c6:26:b6:e7:a5:3d:c1:c4:68:d5:50:6f:53: c5:6f:49:13:09:b8:af:2c:48:8d:14:6a:a3:17:5f: 5a:f9:d3:2e:75:2f:d8:28:62:d1:93:2f:fc:4d:d4: ab:87:e5:08:c7:99:e7:92:3f:75:bd:eb:25:b4:15: c1:9b:19:3d:d2:44:8d:d7:74:20:6d:37:02:8f:69: 93:5b:8a:c4:19:9d:f4:b2:0e:fc:16:6c:b9:b1:05: 92:83:d1:85:2c:60:94:3e:45:55:a0:d9:ab:08:21: e6:60:e8:3b:74:f2:99:50:51:68:d0:03:2d:b1:80: be:a3:d8:52:b0:44:cd:43:4a:70:8e:58:85:95:e1: 4e:2c:d6:2d:41:6f:d6:84:e7:c8:98:44:ca:47:db: 2c:24:a5:69:26:cf:6b:b8:27:62:c3:f4:c9:7a:92: 23:ed:13:67:82:ae:45:2e:45:e5:7e:72:3f:85:9d: 94:62:10:e6:3c:91:a1:ad:77:00:e0:15:ec:f3:84: 80:72:7a:8e:6e:60:97:c7:24:59:10:34:83:5b:e1: a5:a4:69:b6:57:35:1c:78:59:c6:d3:2f:3a:73:67: ee:94:ca:04:13:05:62:06:70:23:b3:f4:7c:ee:45: d9:64:0b:5b:49:aa:a4:43:ce:26:c4:44:12:6c:b8: dd:79 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption a2:37:b2:3f:69:fb:d7:86:79:54:49:31:95:33:2b:f3:d1:09: 14:49:62:60:86:a5:b0:11:e2:50:c2:1d:06:57:3e:2d:e8:33: 64:be:9b:aa:ad:5f:1b:4d:d4:99:95:a2:8b:9a:c9:62:72:b5: 69:ea:d9:58:ab:35:ed:15:a2:43:d6:b6:bc:07:79:65:64:73: 7d:d7:79:ca:7b:d5:5a:51:c6:e1:53:04:96:8d:38:cf:a3:17: ac:39:71:6b:01:c3:8b:53:3c:63:e9:ee:79:c0:e4:be:92:32: 64:7a:b3:1f:97:94:62:bd:ea:b2:20:15:95:fb:97:f2:78:2f: 63:36:40:38:e3:46:0f:1d:dd:ac:95:ca:e7:4b:90:7b:b1:4b: a9:d4:c5:eb:9a:da:aa:d5:a3:94:14:46:8d:2d:1f:f3:3a:d6: 93:3a:f6:3e:79:fc:e8:e6:b0:75:ed:ee:3d:c9:70:c7:5d:aa: 81:4b:46:25:1c:c7:6c:15:e3:95:4e:0f:aa:32:37:94:0a:17: 24:92:13:84:58:d2:63:6f:2b:f7:e6:5b:62:0b:13:17:b0:0d: 52:4c:fe:fe:6f:5c:e2:91:6e:1d:fd:a4:62:d7:68:fa:8e:7a: 4f:d2:08:da:93:dc:f0:92:11:7a:d0:dc:72:93:0c:73:93:62: 85:68:d0:f4 Digital Signature Trust Co. Global CA 3 ======================================= MD5 Fingerprint=93:C2:8E:11:7B:D4:F3:03:19:BD:28:75:13:4A:45:4A PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJV UzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQL EwhEU1RDQSBFMjAeFw05ODEyMDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJ BgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4x ETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQC/ k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGODVvso LeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3o TQPMx7JSxhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCG SAGG+EIBAQQEAwIABzBoBgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMx JDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UECxMI RFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMTk5ODEyMDkxOTE3 MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQYMBaAFB6C TShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5 WzAMBgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqG SIb3DQEBBQUAA4GBAEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHR xdf0CiUPPXiBng+xZ8SQTGPdXqfiup/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVL B3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1mPnHfxsb1gYgAlihw6ID -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 913232846 (0x366ed3ce) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=Digital Signature Trust Co., OU=DSTCA E2 Validity Not Before: Dec 9 19:17:26 1998 GMT Not After : Dec 9 19:47:26 2018 GMT Subject: C=US, O=Digital Signature Trust Co., OU=DSTCA E2 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:bf:93:8f:17:92:ef:33:13:18:eb:10:7f:4e:16: bf:ff:06:8f:2a:85:bc:5e:f9:24:a6:24:88:b6:03: b7:c1:c3:5f:03:5b:d1:6f:ae:7e:42:ea:66:23:b8: 63:83:56:fb:28:2d:e1:38:8b:b4:ee:a8:01:e1:ce: 1c:b6:88:2a:22:46:85:fb:9f:a7:70:a9:47:14:3f: ce:de:65:f0:a8:71:f7:4f:26:6c:8c:bc:c6:b5:ef: de:49:27:ff:48:2a:7d:e8:4d:03:cc:c7:b2:52:c6: 17:31:13:3b:b5:4d:db:c8:c4:f6:c3:0f:24:2a:da: 0c:9d:e7:91:5b:80:cd:94:9d Exponent: 3 (0x3) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 CRL Distribution Points: DirName:/C=US/O=Digital Signature Trust Co./OU=DSTCA E2/CN=CRL1 X509v3 Private Key Usage Period: Not Before: Dec 9 19:17:26 1998 GMT, Not After: Dec 9 19:17:26 2018 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:1E:82:4D:28:65:80:3C:C9:41:6E:AC:35:2E:5A:CB:DE:EE:F8:39:5B X509v3 Subject Key Identifier: 1E:82:4D:28:65:80:3C:C9:41:6E:AC:35:2E:5A:CB:DE:EE:F8:39:5B X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0 ..V4.0.... Signature Algorithm: sha1WithRSAEncryption 47:8d:83:ad:62:f2:db:b0:9e:45:22:05:b9:a2:d6:03:0e:38: 72:e7:9e:fc:7b:e6:93:b6:9a:a5:a2:94:c8:34:1d:91:d1:c5: d7:f4:0a:25:0f:3d:78:81:9e:0f:b1:67:c4:90:4c:63:dd:5e: a7:e2:ba:9f:f5:f7:4d:a5:31:7b:9c:29:2d:4c:fe:64:3e:ec: b6:53:fe:ea:9b:ed:82:db:74:75:4b:07:79:6e:1e:d8:19:83: 73:de:f5:3e:d0:b5:de:e7:4b:68:7d:43:2e:2a:20:e1:7e:a0: 78:44:9e:08:f5:98:f9:c7:7f:1b:1b:d6:06:20:02:58:a1:c3: a2:03 Digital Signature Trust Co. Global CA 4 ======================================= MD5 Fingerprint=CD:3B:3D:62:5B:09:B8:09:36:87:9E:12:2F:71:64:BA PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIID2DCCAsACEQDQHkCLAAB3bQAAAAEAAAAEMA0GCSqGSIb3DQEBBQUAMIGpMQsw CQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENp dHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UE CxMIRFNUQ0EgWDIxFjAUBgNVBAMTDURTVCBSb290Q0EgWDIxITAfBgkqhkiG9w0B CQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTAeFw05ODExMzAyMjQ2MTZaFw0wODExMjcy MjQ2MTZaMIGpMQswCQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMO U2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0 IENvLjERMA8GA1UECxMIRFNUQ0EgWDIxFjAUBgNVBAMTDURTVCBSb290Q0EgWDIx ITAfBgkqhkiG9w0BCQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBANx18IzAdZaawGIfJvfE4Zrq4FZzW5nNAUSoCLbV p9oaBBg5kkp4o4HC9Xd6ULRw/5qrxsfKboNPQpj7Jgva3G3WqZlVUmfpKAOS3OWw BZoPFflrWXJW8vo5/Kpo7g8fEIMv/J36F5bdguPmRX3AS4BEH+0s4IT9kVySVGkl 5WJp3OXuAFK9MwutdQKFp2RQLcUZGTDAJtvJ0/0uma1ZtQtN1EGuhUhDWdy3qOKi 3sOP17ihYqZoUFLkzzGnlIXan0YyF1bl8utmPRL/Q9uY73fPy4GNNLHGUEom0eQ+ QVCvbK4iNC7Va26Dunm4dmVI2gkpZGMiuftHdoWMhkTLCdsCAwEAATANBgkqhkiG 9w0BAQUFAAOCAQEAtTYOXeFhKFoRZcA/gwN5Tb4opgsHAlKFzfiR0BBstWogWxyQ 2TA8xkieil5k+aFxd+8EJx8H6+Qm93N0yUQYGmbT4EOvkTvRyyzYdFQ6HE3K1GjN I3wdEJ5F6fYAbqbNGf9PLCmPV03Ed5K+4EwJ+11EhmYhqLkyolbV6YyDfFk/xPEL 553snr2cGA4+wjl5KLcDDQjLxufZATdQEOzMYRZA1K8xdHv8PzGn0EdzMzkbzE5q 10mDEQb+64JYMzJM8FasHpwvVpp7wUocpf1VNs78lk30sPDst2yC7S8xmUJMqbIN uBVd8d+6ybVK1GSYsyapMMj9puyrliGtf8J4tg== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: d0:1e:40:8b:00:00:77:6d:00:00:00:01:00:00:00:04 Signature Algorithm: sha1WithRSAEncryption Issuer: C=us, ST=Utah, L=Salt Lake City, O=Digital Signature Trust Co., OU=DSTCA X2, CN=DST RootCA X2/Email=ca@digsigtrust.com Validity Not Before: Nov 30 22:46:16 1998 GMT Not After : Nov 27 22:46:16 2008 GMT Subject: C=us, ST=Utah, L=Salt Lake City, O=Digital Signature Trust Co., OU=DSTCA X2, CN=DST RootCA X2/Email=ca@digsigtrust.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:dc:75:f0:8c:c0:75:96:9a:c0:62:1f:26:f7:c4: e1:9a:ea:e0:56:73:5b:99:cd:01:44:a8:08:b6:d5: a7:da:1a:04:18:39:92:4a:78:a3:81:c2:f5:77:7a: 50:b4:70:ff:9a:ab:c6:c7:ca:6e:83:4f:42:98:fb: 26:0b:da:dc:6d:d6:a9:99:55:52:67:e9:28:03:92: dc:e5:b0:05:9a:0f:15:f9:6b:59:72:56:f2:fa:39: fc:aa:68:ee:0f:1f:10:83:2f:fc:9d:fa:17:96:dd: 82:e3:e6:45:7d:c0:4b:80:44:1f:ed:2c:e0:84:fd: 91:5c:92:54:69:25:e5:62:69:dc:e5:ee:00:52:bd: 33:0b:ad:75:02:85:a7:64:50:2d:c5:19:19:30:c0: 26:db:c9:d3:fd:2e:99:ad:59:b5:0b:4d:d4:41:ae: 85:48:43:59:dc:b7:a8:e2:a2:de:c3:8f:d7:b8:a1: 62:a6:68:50:52:e4:cf:31:a7:94:85:da:9f:46:32: 17:56:e5:f2:eb:66:3d:12:ff:43:db:98:ef:77:cf: cb:81:8d:34:b1:c6:50:4a:26:d1:e4:3e:41:50:af: 6c:ae:22:34:2e:d5:6b:6e:83:ba:79:b8:76:65:48: da:09:29:64:63:22:b9:fb:47:76:85:8c:86:44:cb: 09:db Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption b5:36:0e:5d:e1:61:28:5a:11:65:c0:3f:83:03:79:4d:be:28: a6:0b:07:02:52:85:cd:f8:91:d0:10:6c:b5:6a:20:5b:1c:90: d9:30:3c:c6:48:9e:8a:5e:64:f9:a1:71:77:ef:04:27:1f:07: eb:e4:26:f7:73:74:c9:44:18:1a:66:d3:e0:43:af:91:3b:d1: cb:2c:d8:74:54:3a:1c:4d:ca:d4:68:cd:23:7c:1d:10:9e:45: e9:f6:00:6e:a6:cd:19:ff:4f:2c:29:8f:57:4d:c4:77:92:be: e0:4c:09:fb:5d:44:86:66:21:a8:b9:32:a2:56:d5:e9:8c:83: 7c:59:3f:c4:f1:0b:e7:9d:ec:9e:bd:9c:18:0e:3e:c2:39:79: 28:b7:03:0d:08:cb:c6:e7:d9:01:37:50:10:ec:cc:61:16:40: d4:af:31:74:7b:fc:3f:31:a7:d0:47:73:33:39:1b:cc:4e:6a: d7:49:83:11:06:fe:eb:82:58:33:32:4c:f0:56:ac:1e:9c:2f: 56:9a:7b:c1:4a:1c:a5:fd:55:36:ce:fc:96:4d:f4:b0:f0:ec: b7:6c:82:ed:2f:31:99:42:4c:a9:b2:0d:b8:15:5d:f1:df:ba: c9:b5:4a:d4:64:98:b3:26:a9:30:c8:fd:a6:ec:ab:96:21:ad: 7f:c2:78:b6 Entrust.net Global Secure Personal CA ===================================== MD5 Fingerprint=9A:77:19:18:ED:96:CF:DF:1B:B7:0E:F5:8D:B9:88:2E PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEgzCCA+ygAwIBAgIEOJ725DANBgkqhkiG9w0BAQQFADCBtDEUMBIGA1UEChML RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9HQ0NBX0NQUyBp bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAyMDAw IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENsaWVu dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMDAyMDcxNjE2NDBaFw0yMDAy MDcxNjQ2NDBaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 LmVudHJ1c3QubmV0L0dDQ0FfQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp YWIuKTElMCMGA1UECxMcKGMpIDIwMDAgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG A1UEAxMqRW50cnVzdC5uZXQgQ2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCTdLS25MVL1qFof2LV7PdRV7Ny Spj10InJrWPNTTVRaoTUrcloeW+46xHbh65cJFET8VQlhK8pK5/jgOLZy93GRUk0 iJBeAZfv6lOm3fzB3ksqJeTpNfpVBQbliXrqpBFXO/x8PTbNZzVtpKklWb1m9fkn 5JVn1j+SgF7yNH0rhQIDAQABo4IBnjCCAZowEQYJYIZIAYb4QgEBBAQDAgAHMIHd BgNVHR8EgdUwgdIwgc+ggcyggcmkgcYwgcMxFDASBgNVBAoTC0VudHJ1c3QubmV0 MUAwPgYDVQQLFDd3d3cuZW50cnVzdC5uZXQvR0NDQV9DUFMgaW5jb3JwLiBieSBy ZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMjAwMCBFbnRydXN0Lm5l dCBMaW1pdGVkMTMwMQYDVQQDEypFbnRydXN0Lm5ldCBDbGllbnQgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMjAwMDAy MDcxNjE2NDBagQ8yMDIwMDIwNzE2NDY0MFowCwYDVR0PBAQDAgEGMB8GA1UdIwQY MBaAFISLdP3FjcD/J20gN0V8/i3OutN9MB0GA1UdDgQWBBSEi3T9xY3A/ydtIDdF fP4tzrrTfTAMBgNVHRMEBTADAQH/MB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4w AwIEkDANBgkqhkiG9w0BAQQFAAOBgQBObzWAO9GK9Q6nIMstZVXQkvTnhLUGJoMS hAusO7JE7r3PQNsgDrpuFOow4DtifH+La3xKp9U1PL6oXOpLu5OOgGarDyn9TS2/ GpsKkMWr2tGzhtQvJFJcem3G8v7lTRowjJDyutdKPkN+1MhQGof4T4HHdguEOnKd zmVml64mXg== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 949941988 (0x389ef6e4) Signature Algorithm: md5WithRSAEncryption Issuer: O=Entrust.net, OU=www.entrust.net/GCCA_CPS incorp. by ref. (limits liab.), OU=(c) 2000 Entrust.net Limited, CN=Entrust.net Client Certification Authority Validity Not Before: Feb 7 16:16:40 2000 GMT Not After : Feb 7 16:46:40 2020 GMT Subject: O=Entrust.net, OU=www.entrust.net/GCCA_CPS incorp. by ref. (limits liab.), OU=(c) 2000 Entrust.net Limited, CN=Entrust.net Client Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:93:74:b4:b6:e4:c5:4b:d6:a1:68:7f:62:d5:ec: f7:51:57:b3:72:4a:98:f5:d0:89:c9:ad:63:cd:4d: 35:51:6a:84:d4:ad:c9:68:79:6f:b8:eb:11:db:87: ae:5c:24:51:13:f1:54:25:84:af:29:2b:9f:e3:80: e2:d9:cb:dd:c6:45:49:34:88:90:5e:01:97:ef:ea: 53:a6:dd:fc:c1:de:4b:2a:25:e4:e9:35:fa:55:05: 06:e5:89:7a:ea:a4:11:57:3b:fc:7c:3d:36:cd:67: 35:6d:a4:a9:25:59:bd:66:f5:f9:27:e4:95:67:d6: 3f:92:80:5e:f2:34:7d:2b:85 Exponent: 65537 (0x10001) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 CRL Distribution Points: DirName:/O=Entrust.net/OU=www.entrust.net/GCCA_CPS incorp. by ref. (limits liab.)/OU=(c) 2000 Entrust.net Limited/CN=Entrust.net Client Certification Authority/CN=CRL1 X509v3 Private Key Usage Period: Not Before: Feb 7 16:16:40 2000 GMT, Not After: Feb 7 16:46:40 2020 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:84:8B:74:FD:C5:8D:C0:FF:27:6D:20:37:45:7C:FE:2D:CE:BA:D3:7D X509v3 Subject Key Identifier: 84:8B:74:FD:C5:8D:C0:FF:27:6D:20:37:45:7C:FE:2D:CE:BA:D3:7D X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0...V5.0:4.0.... Signature Algorithm: md5WithRSAEncryption 4e:6f:35:80:3b:d1:8a:f5:0e:a7:20:cb:2d:65:55:d0:92:f4: e7:84:b5:06:26:83:12:84:0b:ac:3b:b2:44:ee:bd:cf:40:db: 20:0e:ba:6e:14:ea:30:e0:3b:62:7c:7f:8b:6b:7c:4a:a7:d5: 35:3c:be:a8:5c:ea:4b:bb:93:8e:80:66:ab:0f:29:fd:4d:2d: bf:1a:9b:0a:90:c5:ab:da:d1:b3:86:d4:2f:24:52:5c:7a:6d: c6:f2:fe:e5:4d:1a:30:8c:90:f2:ba:d7:4a:3e:43:7e:d4:c8: 50:1a:87:f8:4f:81:c7:76:0b:84:3a:72:9d:ce:65:66:97:ae: 26:5e Entrust.net Global Secure Server CA =================================== MD5 Fingerprint=9D:66:6A:CC:FF:D5:F5:43:B4:BF:8C:16:D1:2B:A8:99 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIElTCCA/6gAwIBAgIEOJsRPDANBgkqhkiG9w0BAQQFADCBujEUMBIGA1UEChML RW50cnVzdC5uZXQxPzA9BgNVBAsUNnd3dy5lbnRydXN0Lm5ldC9TU0xfQ1BTIGlu Y29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDIwMDAg RW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJl IFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMDAyMDQxNzIwMDBa Fw0yMDAyMDQxNzUwMDBaMIG6MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDE/MD0GA1UE CxQ2d3d3LmVudHJ1c3QubmV0L1NTTF9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMjAwMCBFbnRydXN0Lm5ldCBMaW1pdGVk MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp b24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHwV9OcfHO 8GCGD9JYf9Mzly0XonUwtZZkJi9ow0SrqHXmAGc0V55lxyKbc+bT3QgON1WqJUaB bL3+qPZ1V1eMkGxKwz6LS0MKyRFWmponIpnPVZ5h2QLifLZ8OAfc439PmrkDQYC2 dWcTC5/oVzbIXQA23mYU2m52H083jIITiQIDAQABo4IBpDCCAaAwEQYJYIZIAYb4 QgEBBAQDAgAHMIHjBgNVHR8EgdswgdgwgdWggdKggc+kgcwwgckxFDASBgNVBAoT C0VudHJ1c3QubmV0MT8wPQYDVQQLFDZ3d3cuZW50cnVzdC5uZXQvU1NMX0NQUyBp bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAyMDAw IEVudHJ1c3QubmV0IExpbWl0ZWQxOjA4BgNVBAMTMUVudHJ1c3QubmV0IFNlY3Vy ZSBTZXJ2ZXIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxDTALBgNVBAMTBENSTDEw KwYDVR0QBCQwIoAPMjAwMDAyMDQxNzIwMDBagQ8yMDIwMDIwNDE3NTAwMFowCwYD VR0PBAQDAgEGMB8GA1UdIwQYMBaAFMtswGvjuz7L/CKc/vuLkpyw8m4iMB0GA1Ud DgQWBBTLbMBr47s+y/winP77i5KcsPJuIjAMBgNVHRMEBTADAQH/MB0GCSqGSIb2 fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0BAQQFAAOBgQBi24GRzsia d0Iv7L0no1MPUBvqTpLwqa+poLpIYcvvyQbvH9X07t9WLebKahlzqlO+krNQAraF JnJj2HVQYnUUt7NQGj/KEQALhUVpbbalrlHhStyCP2yMNLJ3a9kC9n8O6mUE8c1U yrrJzOCE98g+EZfTYAkYvAX/bIkz8OwVDw== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 949686588 (0x389b113c) Signature Algorithm: md5WithRSAEncryption Issuer: O=Entrust.net, OU=www.entrust.net/SSL_CPS incorp. by ref. (limits liab.), OU=(c) 2000 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority Validity Not Before: Feb 4 17:20:00 2000 GMT Not After : Feb 4 17:50:00 2020 GMT Subject: O=Entrust.net, OU=www.entrust.net/SSL_CPS incorp. by ref. (limits liab.), OU=(c) 2000 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c7:c1:5f:4e:71:f1:ce:f0:60:86:0f:d2:58:7f: d3:33:97:2d:17:a2:75:30:b5:96:64:26:2f:68:c3: 44:ab:a8:75:e6:00:67:34:57:9e:65:c7:22:9b:73: e6:d3:dd:08:0e:37:55:aa:25:46:81:6c:bd:fe:a8: f6:75:57:57:8c:90:6c:4a:c3:3e:8b:4b:43:0a:c9: 11:56:9a:9a:27:22:99:cf:55:9e:61:d9:02:e2:7c: b6:7c:38:07:dc:e3:7f:4f:9a:b9:03:41:80:b6:75: 67:13:0b:9f:e8:57:36:c8:5d:00:36:de:66:14:da: 6e:76:1f:4f:37:8c:82:13:89 Exponent: 65537 (0x10001) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 CRL Distribution Points: DirName:/O=Entrust.net/OU=www.entrust.net/SSL_CPS incorp. by ref. (limits liab.)/OU=(c) 2000 Entrust.net Limited/CN=Entrust.net Secure Server Certification Authority/CN=CRL1 X509v3 Private Key Usage Period: Not Before: Feb 4 17:20:00 2000 GMT, Not After: Feb 4 17:50:00 2020 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:CB:6C:C0:6B:E3:BB:3E:CB:FC:22:9C:FE:FB:8B:92:9C:B0:F2:6E:22 X509v3 Subject Key Identifier: CB:6C:C0:6B:E3:BB:3E:CB:FC:22:9C:FE:FB:8B:92:9C:B0:F2:6E:22 X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0...V5.0:4.0.... Signature Algorithm: md5WithRSAEncryption 62:db:81:91:ce:c8:9a:77:42:2f:ec:bd:27:a3:53:0f:50:1b: ea:4e:92:f0:a9:af:a9:a0:ba:48:61:cb:ef:c9:06:ef:1f:d5: f4:ee:df:56:2d:e6:ca:6a:19:73:aa:53:be:92:b3:50:02:b6: 85:26:72:63:d8:75:50:62:75:14:b7:b3:50:1a:3f:ca:11:00: 0b:85:45:69:6d:b6:a5:ae:51:e1:4a:dc:82:3f:6c:8c:34:b2: 77:6b:d9:02:f6:7f:0e:ea:65:04:f1:cd:54:ca:ba:c9:cc:e0: 84:f7:c8:3e:11:97:d3:60:09:18:bc:05:ff:6c:89:33:f0:ec: 15:0f Entrust.net Premium 2048 Secure Server CA ========================================= MD5 Fingerprint=BA:21:EA:20:D6:DD:DB:8F:C1:57:8B:40:AD:A1:FC:FC PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0xOTEy MjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH 4QIDAQABo3QwcjARBglghkgBhvhCAQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGA vtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdERgL7YibkIozH5oSQJFrlwMB0G CSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEA WUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQ h7A6tcOdBTcSo8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18 f3v/rxzP5tsHrV7bhZ3QKw0z2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfN B/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjXOP/swNlQ8C5LWK5Gb9Auw2DaclVy vUxFnmG6v4SBkgPR0ml8xQ== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 946059622 (0x3863b966) Signature Algorithm: sha1WithRSAEncryption Issuer: O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048) Validity Not Before: Dec 24 17:50:51 1999 GMT Not After : Dec 24 18:20:51 2019 GMT Subject: O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048) Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:ad:4d:4b:a9:12:86:b2:ea:a3:20:07:15:16:64: 2a:2b:4b:d1:bf:0b:4a:4d:8e:ed:80:76:a5:67:b7: 78:40:c0:73:42:c8:68:c0:db:53:2b:dd:5e:b8:76: 98:35:93:8b:1a:9d:7c:13:3a:0e:1f:5b:b7:1e:cf: e5:24:14:1e:b1:81:a9:8d:7d:b8:cc:6b:4b:03:f1: 02:0c:dc:ab:a5:40:24:00:7f:74:94:a1:9d:08:29: b3:88:0b:f5:87:77:9d:55:cd:e4:c3:7e:d7:6a:64: ab:85:14:86:95:5b:97:32:50:6f:3d:c8:ba:66:0c: e3:fc:bd:b8:49:c1:76:89:49:19:fd:c0:a8:bd:89: a3:67:2f:c6:9f:bc:71:19:60:b8:2d:e9:2c:c9:90: 76:66:7b:94:e2:af:78:d6:65:53:5d:3c:d6:9c:b2: cf:29:03:f9:2f:a4:50:b2:d4:48:ce:05:32:55:8a: fd:b2:64:4c:0e:e4:98:07:75:db:7f:df:b9:08:55: 60:85:30:29:f9:7b:48:a4:69:86:e3:35:3f:1e:86: 5d:7a:7a:15:bd:ef:00:8e:15:22:54:17:00:90:26: 93:bc:0e:49:68:91:bf:f8:47:d3:9d:95:42:c1:0e: 4d:df:6f:26:cf:c3:18:21:62:66:43:70:d6:d5:c0: 07:e1 Exponent: 65537 (0x10001) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 Authority Key Identifier: keyid:55:E4:81:D1:11:80:BE:D8:89:B9:08:A3:31:F9:A1:24:09:16:B9:70 X509v3 Subject Key Identifier: 55:E4:81:D1:11:80:BE:D8:89:B9:08:A3:31:F9:A1:24:09:16:B9:70 1.2.840.113533.7.65.0: 0...V5.0:4.0.... Signature Algorithm: sha1WithRSAEncryption 59:47:ac:21:84:8a:17:c9:9c:89:53:1e:ba:80:85:1a:c6:3c: 4e:3e:b1:9c:b6:7c:c6:92:5d:18:64:02:e3:d3:06:08:11:61: 7c:63:e3:2b:9d:31:03:70:76:d2:a3:28:a0:f4:bb:9a:63:73: ed:6d:e5:2a:db:ed:14:a9:2b:c6:36:11:d0:2b:eb:07:8b:a5: da:9e:5c:19:9d:56:12:f5:54:29:c8:05:ed:b2:12:2a:8d:f4: 03:1b:ff:e7:92:10:87:b0:3a:b5:c3:9d:05:37:12:a3:c7:f4: 15:b9:d5:a4:39:16:9b:53:3a:23:91:f1:a8:82:a2:6a:88:68: c1:79:02:22:bc:aa:a6:d6:ae:df:b0:14:5f:b8:87:d0:dd:7c: 7f:7b:ff:af:1c:cf:e6:db:07:ad:5e:db:85:9d:d0:2b:0d:33: db:04:d1:e6:49:40:13:2b:76:fb:3e:e9:9c:89:0f:15:ce:18: b0:85:78:21:4f:6b:4f:0e:fa:36:67:cd:07:f2:ff:08:d0:e2: de:d9:bf:2a:af:b8:87:86:21:3c:04:ca:b7:94:68:7f:cf:3c: e9:98:d7:38:ff:ec:c0:d9:50:f0:2e:4b:58:ae:46:6f:d0:2e: c3:60:da:72:55:72:bd:4c:45:9e:61:ba:bf:84:81:92:03:d1: d2:69:7c:c5 Entrust.net Secure Personal CA ============================== MD5 Fingerprint=0C:41:2F:13:5B:A0:54:F5:96:66:2D:7E:CD:0E:03:F4 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIE7TCCBFagAwIBAgIEOAOR7jANBgkqhkiG9w0BAQQFADCByTELMAkGA1UEBhMC VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MUgwRgYDVQQLFD93d3cuZW50cnVzdC5u ZXQvQ2xpZW50X0NBX0luZm8vQ1BTIGluY29ycC4gYnkgcmVmLiBsaW1pdHMgbGlh Yi4xJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV BAMTKkVudHJ1c3QubmV0IENsaWVudCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe Fw05OTEwMTIxOTI0MzBaFw0xOTEwMTIxOTU0MzBaMIHJMQswCQYDVQQGEwJVUzEU MBIGA1UEChMLRW50cnVzdC5uZXQxSDBGBgNVBAsUP3d3dy5lbnRydXN0Lm5ldC9D bGllbnRfQ0FfSW5mby9DUFMgaW5jb3JwLiBieSByZWYuIGxpbWl0cyBsaWFiLjEl MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMq RW50cnVzdC5uZXQgQ2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0G CSqGSIb3DQEBAQUAA4GLADCBhwKBgQDIOpleMRffrCdvkHvkGf9FozTC28GoT/Bo 6oT9n3V5z8GKUZSvx1cDR2SerYIbWtp/N3hHuzeYEpbOxhN979IMMFGpOZ5V+Pux 5zDeg7K6PvHViTs7hbqqdCz+PzFur5GVbgbUB01LLFZHGARS2g4Qk79jkJvh34zm AqTmT173iwIBA6OCAeAwggHcMBEGCWCGSAGG+EIBAQQEAwIABzCCASIGA1UdHwSC ARkwggEVMIHkoIHhoIHepIHbMIHYMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50 cnVzdC5uZXQxSDBGBgNVBAsUP3d3dy5lbnRydXN0Lm5ldC9DbGllbnRfQ0FfSW5m by9DUFMgaW5jb3JwLiBieSByZWYuIGxpbWl0cyBsaWFiLjElMCMGA1UECxMcKGMp IDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5uZXQg Q2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCyg KqAohiZodHRwOi8vd3d3LmVudHJ1c3QubmV0L0NSTC9DbGllbnQxLmNybDArBgNV HRAEJDAigA8xOTk5MTAxMjE5MjQzMFqBDzIwMTkxMDEyMTkyNDMwWjALBgNVHQ8E BAMCAQYwHwYDVR0jBBgwFoAUxPucKXuXzUyW/O5bs8qZdIuV6kwwHQYDVR0OBBYE FMT7nCl7l81MlvzuW7PKmXSLlepMMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEEBQADgYEAP66K8ddmAwWePvrqHEa7 pFuPeJoSSJn59DXeDDYHAmsQOokUgZwxpnyyQbJq5wcBoUv5nyU7lsqZwz6hURzz wy5E97BnRqqS5TvaHBkUODDV4qIxJS7x7EU47fgGWANzYrAQMY9Av2TgXD7FTx/a EkP/TOYGJqibGapEPHayXOw= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 939758062 (0x380391ee) Signature Algorithm: md5WithRSAEncryption Issuer: C=US, O=Entrust.net, OU=www.entrust.net/Client_CA_Info/CPS incorp. by ref. limits liab., OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Client Certification Authority Validity Not Before: Oct 12 19:24:30 1999 GMT Not After : Oct 12 19:54:30 2019 GMT Subject: C=US, O=Entrust.net, OU=www.entrust.net/Client_CA_Info/CPS incorp. by ref. limits liab., OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Client Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c8:3a:99:5e:31:17:df:ac:27:6f:90:7b:e4:19: ff:45:a3:34:c2:db:c1:a8:4f:f0:68:ea:84:fd:9f: 75:79:cf:c1:8a:51:94:af:c7:57:03:47:64:9e:ad: 82:1b:5a:da:7f:37:78:47:bb:37:98:12:96:ce:c6: 13:7d:ef:d2:0c:30:51:a9:39:9e:55:f8:fb:b1:e7: 30:de:83:b2:ba:3e:f1:d5:89:3b:3b:85:ba:aa:74: 2c:fe:3f:31:6e:af:91:95:6e:06:d4:07:4d:4b:2c: 56:47:18:04:52:da:0e:10:93:bf:63:90:9b:e1:df: 8c:e6:02:a4:e6:4f:5e:f7:8b Exponent: 3 (0x3) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 CRL Distribution Points: DirName:/C=US/O=Entrust.net/OU=www.entrust.net/Client_CA_Info/CPS incorp. by ref. limits liab./OU=(c) 1999 Entrust.net Limited/CN=Entrust.net Client Certification Authority/CN=CRL1 URI:http://www.entrust.net/CRL/Client1.crl X509v3 Private Key Usage Period: Not Before: Oct 12 19:24:30 1999 GMT, Not After: Oct 12 19:24:30 2019 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:C4:FB:9C:29:7B:97:CD:4C:96:FC:EE:5B:B3:CA:99:74:8B:95:EA:4C X509v3 Subject Key Identifier: C4:FB:9C:29:7B:97:CD:4C:96:FC:EE:5B:B3:CA:99:74:8B:95:EA:4C X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0 ..V4.0.... Signature Algorithm: md5WithRSAEncryption 3f:ae:8a:f1:d7:66:03:05:9e:3e:fa:ea:1c:46:bb:a4:5b:8f: 78:9a:12:48:99:f9:f4:35:de:0c:36:07:02:6b:10:3a:89:14: 81:9c:31:a6:7c:b2:41:b2:6a:e7:07:01:a1:4b:f9:9f:25:3b: 96:ca:99:c3:3e:a1:51:1c:f3:c3:2e:44:f7:b0:67:46:aa:92: e5:3b:da:1c:19:14:38:30:d5:e2:a2:31:25:2e:f1:ec:45:38: ed:f8:06:58:03:73:62:b0:10:31:8f:40:bf:64:e0:5c:3e:c5: 4f:1f:da:12:43:ff:4c:e6:06:26:a8:9b:19:aa:44:3c:76:b2: 5c:ec Entrust.net Secure Server CA ============================ MD5 Fingerprint=DF:F2:80:73:CC:F1:E6:61:73:FC:F5:42:E9:C5:7C:EE PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1 MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/ I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3 wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5 BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0 MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN 95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd 2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 927650371 (0x374ad243) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority Validity Not Before: May 25 16:09:40 1999 GMT Not After : May 25 16:39:40 2019 GMT Subject: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:cd:28:83:34:54:1b:89:f3:0f:af:37:91:31:ff: af:31:60:c9:a8:e8:b2:10:68:ed:9f:e7:93:36:f1: 0a:64:bb:47:f5:04:17:3f:23:47:4d:c5:27:19:81: 26:0c:54:72:0d:88:2d:d9:1f:9a:12:9f:bc:b3:71: d3:80:19:3f:47:66:7b:8c:35:28:d2:b9:0a:df:24: da:9c:d6:50:79:81:7a:5a:d3:37:f7:c2:4a:d8:29: 92:26:64:d1:e4:98:6c:3a:00:8a:f5:34:9b:65:f8: ed:e3:10:ff:fd:b8:49:58:dc:a0:de:82:39:6b:81: b1:16:19:61:b9:54:b6:e6:43 Exponent: 3 (0x3) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 CRL Distribution Points: DirName:/C=US/O=Entrust.net/OU=www.entrust.net/CPS incorp. by ref. (limits liab.)/OU=(c) 1999 Entrust.net Limited/CN=Entrust.net Secure Server Certification Authority/CN=CRL1 URI:http://www.entrust.net/CRL/net1.crl X509v3 Private Key Usage Period: Not Before: May 25 16:09:40 1999 GMT, Not After: May 25 16:09:40 2019 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:F0:17:62:13:55:3D:B3:FF:0A:00:6B:FB:50:84:97:F3:ED:62:D0:1A X509v3 Subject Key Identifier: F0:17:62:13:55:3D:B3:FF:0A:00:6B:FB:50:84:97:F3:ED:62:D0:1A X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0 ..V4.0.... Signature Algorithm: sha1WithRSAEncryption 90:dc:30:02:fa:64:74:c2:a7:0a:a5:7c:21:8d:34:17:a8:fb: 47:0e:ff:25:7c:8d:13:0a:fb:e4:98:b5:ef:8c:f8:c5:10:0d: f7:92:be:f1:c3:d5:d5:95:6a:04:bb:2c:ce:26:36:65:c8:31: c6:e7:ee:3f:e3:57:75:84:7a:11:ef:46:4f:18:f4:d3:98:bb: a8:87:32:ba:72:f6:3c:e2:3d:9f:d7:1d:d9:c3:60:43:8c:58: 0e:22:96:2f:62:a3:2c:1f:ba:ad:05:ef:ab:32:78:87:a0:54: 73:19:b5:5c:05:f9:52:3e:6d:2d:45:0b:f7:0a:93:ea:ed:06: f9:b2 Equifax Secure CA ================= MD5 Fingerprint=67:CB:9D:C0:13:24:8A:82:9B:B2:17:1E:D1:1B:EC:D4 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1 MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y 7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh 1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4 -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 903804111 (0x35def4cf) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=Equifax, OU=Equifax Secure Certificate Authority Validity Not Before: Aug 22 16:41:51 1998 GMT Not After : Aug 22 16:41:51 2018 GMT Subject: C=US, O=Equifax, OU=Equifax Secure Certificate Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c1:5d:b1:58:67:08:62:ee:a0:9a:2d:1f:08:6d: 91:14:68:98:0a:1e:fe:da:04:6f:13:84:62:21:c3: d1:7c:ce:9f:05:e0:b8:01:f0:4e:34:ec:e2:8a:95: 04:64:ac:f1:6b:53:5f:05:b3:cb:67:80:bf:42:02: 8e:fe:dd:01:09:ec:e1:00:14:4f:fc:fb:f0:0c:dd: 43:ba:5b:2b:e1:1f:80:70:99:15:57:93:16:f1:0f: 97:6a:b7:c2:68:23:1c:cc:4d:59:30:ac:51:1e:3b: af:2b:d6:ee:63:45:7b:c5:d9:5f:50:d2:e3:50:0f: 3a:88:e7:bf:14:fd:e0:c7:b9 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 CRL Distribution Points: DirName:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority/CN=CRL1 X509v3 Private Key Usage Period: Not After: Aug 22 16:41:51 2018 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:48:E6:68:F9:2B:D2:B2:95:D7:47:D8:23:20:10:4F:33:98:90:9F:D4 X509v3 Subject Key Identifier: 48:E6:68:F9:2B:D2:B2:95:D7:47:D8:23:20:10:4F:33:98:90:9F:D4 X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0...V3.0c.... Signature Algorithm: sha1WithRSAEncryption 58:ce:29:ea:fc:f7:de:b5:ce:02:b9:17:b5:85:d1:b9:e3:e0: 95:cc:25:31:0d:00:a6:92:6e:7f:b6:92:63:9e:50:95:d1:9a: 6f:e4:11:de:63:85:6e:98:ee:a8:ff:5a:c8:d3:55:b2:66:71: 57:de:c0:21:eb:3d:2a:a7:23:49:01:04:86:42:7b:fc:ee:7f: a2:16:52:b5:67:67:d3:40:db:3b:26:58:b2:28:77:3d:ae:14: 77:61:d6:fa:2a:66:27:a0:0d:fa:a7:73:5c:ea:70:f1:94:21: 65:44:5f:fa:fc:ef:29:68:a9:a2:87:79:ef:79:ef:4f:ac:07: 77:38 Equifax Secure eBusiness CA 1 ============================= MD5 Fingerprint=64:9C:EF:2E:44:FC:C6:8F:52:07:D0:51:73:8F:CB:3D PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEc MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBT ZWN1cmUgZUJ1c2luZXNzIENBLTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQw MDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5j LjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENBLTEwgZ8wDQYJ KoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ1MRo RvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBu WqDZQu4aIZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKw Env+j6YDAgMBAAGjZjBkMBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTAD AQH/MB8GA1UdIwQYMBaAFEp4MlIR21kWNl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRK eDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQFAAOBgQB1W6ibAxHm6VZM zfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5lSE/9dR+ WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN /Bf+KpYrtWKmpj29f5JZzVoqgrI3eQ== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 4 (0x4) Signature Algorithm: md5WithRSAEncryption Issuer: C=US, O=Equifax Secure Inc., CN=Equifax Secure eBusiness CA-1 Validity Not Before: Jun 21 04:00:00 1999 GMT Not After : Jun 21 04:00:00 2020 GMT Subject: C=US, O=Equifax Secure Inc., CN=Equifax Secure eBusiness CA-1 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:ce:2f:19:bc:17:b7:77:de:93:a9:5f:5a:0d:17: 4f:34:1a:0c:98:f4:22:d9:59:d4:c4:68:46:f0:b4: 35:c5:85:03:20:c6:af:45:a5:21:51:45:41:eb:16: 58:36:32:6f:e2:50:62:64:f9:fd:51:9c:aa:24:d9: f4:9d:83:2a:87:0a:21:d3:12:38:34:6c:8d:00:6e: 5a:a0:d9:42:ee:1a:21:95:f9:52:4c:55:5a:c5:0f: 38:4f:46:fa:6d:f8:2e:35:d6:1d:7c:eb:e2:f0:b0: 75:80:c8:a9:13:ac:be:88:ef:3a:6e:ab:5f:2a:38: 62:02:b0:12:7b:fe:8f:a6:03 Exponent: 65537 (0x10001) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 Basic Constraints: critical CA:TRUE X509v3 Authority Key Identifier: keyid:4A:78:32:52:11:DB:59:16:36:5E:DF:C1:14:36:40:6A:47:7C:4C:A1 X509v3 Subject Key Identifier: 4A:78:32:52:11:DB:59:16:36:5E:DF:C1:14:36:40:6A:47:7C:4C:A1 Signature Algorithm: md5WithRSAEncryption 75:5b:a8:9b:03:11:e6:e9:56:4c:cd:f9:a9:4c:c0:0d:9a:f3: cc:65:69:e6:25:76:cc:59:b7:d6:54:c3:1d:cd:99:ac:19:dd: b4:85:d5:e0:3d:fc:62:20:a7:84:4b:58:65:f1:e2:f9:95:21: 3f:f5:d4:7e:58:1e:47:87:54:3e:58:a1:b5:b5:f8:2a:ef:71: e7:bc:c3:f6:b1:49:46:e2:d7:a0:6b:e5:56:7a:9a:27:98:7c: 46:62:14:e7:c9:fc:6e:03:12:79:80:38:1d:48:82:8d:fc:17: fe:2a:96:2b:b5:62:a6:a6:3d:bd:7f:92:59:cd:5a:2a:82:b2: 37:79 Equifax Secure eBusiness CA 2 ============================= MD5 Fingerprint=AA:BF:BF:64:97:DA:98:1D:6F:C6:08:3A:95:70:33:CA PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV UzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2Vj dXJlIGVCdXNpbmVzcyBDQS0yMB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0 NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkVxdWlmYXggU2VjdXJlMSYwJAYD VQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCBnzANBgkqhkiG9w0B AQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn2Z0G vxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/ BPO3QSQ5BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0C AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEX MBUGA1UEChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJl IGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTkw NjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9euSBIplBq y/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQF MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA A4GBAAyGgq3oThr1jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy 0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1 E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUmV+GRMOrN -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 930140085 (0x3770cfb5) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=Equifax Secure, OU=Equifax Secure eBusiness CA-2 Validity Not Before: Jun 23 12:14:45 1999 GMT Not After : Jun 23 12:14:45 2019 GMT Subject: C=US, O=Equifax Secure, OU=Equifax Secure eBusiness CA-2 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:e4:39:39:93:1e:52:06:1b:28:36:f8:b2:a3:29: c5:ed:8e:b2:11:bd:fe:eb:e7:b4:74:c2:8f:ff:05: e7:d9:9d:06:bf:12:c8:3f:0e:f2:d6:d1:24:b2:11: de:d1:73:09:8a:d4:b1:2c:98:09:0d:1e:50:46:b2: 83:a6:45:8d:62:68:bb:85:1b:20:70:32:aa:40:cd: a6:96:5f:c4:71:37:3f:04:f3:b7:41:24:39:07:1a: 1e:2e:61:58:a0:12:0b:e5:a5:df:c5:ab:ea:37:71: cc:1c:c8:37:3a:b9:97:52:a7:ac:c5:6a:24:94:4e: 9c:7b:cf:c0:6a:d6:df:21:bd Exponent: 65537 (0x10001) X509v3 extensions: X509v3 CRL Distribution Points: DirName:/C=US/O=Equifax Secure/OU=Equifax Secure eBusiness CA-2/CN=CRL1 X509v3 Private Key Usage Period: Not After: Jun 23 12:14:45 2019 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:50:9E:0B:EA:AF:5E:B9:20:48:A6:50:6A:CB:FD:D8:20:7A:A7:82:76 X509v3 Subject Key Identifier: 50:9E:0B:EA:AF:5E:B9:20:48:A6:50:6A:CB:FD:D8:20:7A:A7:82:76 X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0...V3.0c.... Signature Algorithm: sha1WithRSAEncryption 0c:86:82:ad:e8:4e:1a:f5:8e:89:27:e2:35:58:3d:29:b4:07: 8f:36:50:95:bf:6e:c1:9e:eb:c4:90:b2:85:a8:bb:b7:42:e0: 0f:07:39:df:fb:9e:90:b2:d1:c1:3e:53:9f:03:44:b0:7e:4b: f4:6f:e4:7c:1f:e7:e2:b1:e4:b8:9a:ef:c3:bd:ce:de:0b:32: 34:d9:de:28:ed:33:6b:c4:d4:d7:3d:12:58:ab:7d:09:2d:cb: 70:f5:13:8a:94:a1:27:a4:d6:70:c5:6d:94:b5:c9:7d:9d:a0: d2:c6:08:49:d9:66:9b:a6:d3:f4:0b:dc:c5:26:57:e1:91:30: ea:cd Equifax Secure Global eBusiness CA ================================== MD5 Fingerprint=8F:5D:77:06:27:C4:98:3C:5B:93:78:E7:D7:7D:9B:CC PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEc MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBT ZWN1cmUgR2xvYmFsIGVCdXNpbmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIw MDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0VxdWlmYXggU2Vj dXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEdsb2JhbCBlQnVzaW5l c3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRVPEnC UdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc 58O/gGzNqfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/ o5brhTMhHD4ePmBudpxnhcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAH MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUvqigdHJQa0S3ySPY+6j/s1dr aGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hsMA0GCSqGSIb3DQEBBAUA A4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okENI7SS+RkA Z70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv 8qIYNMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: md5WithRSAEncryption Issuer: C=US, O=Equifax Secure Inc., CN=Equifax Secure Global eBusiness CA-1 Validity Not Before: Jun 21 04:00:00 1999 GMT Not After : Jun 21 04:00:00 2020 GMT Subject: C=US, O=Equifax Secure Inc., CN=Equifax Secure Global eBusiness CA-1 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:ba:e7:17:90:02:65:b1:34:55:3c:49:c2:51:d5: df:a7:d1:37:8f:d1:e7:81:73:41:52:60:9b:9d:a1: 17:26:78:ad:c7:b1:e8:26:94:32:b5:de:33:8d:3a: 2f:db:f2:9a:7a:5a:73:98:a3:5c:e9:fb:8a:73:1b: 5c:e7:c3:bf:80:6c:cd:a9:f4:d6:2b:c0:f7:f9:99: aa:63:a2:b1:47:02:0f:d4:e4:51:3a:12:3c:6c:8a: 5a:54:84:70:db:c1:c5:90:cf:72:45:cb:a8:59:c0: cd:33:9d:3f:a3:96:eb:85:33:21:1c:3e:1e:3e:60: 6e:76:9c:67:85:c5:c8:c3:61 Exponent: 65537 (0x10001) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 Basic Constraints: critical CA:TRUE X509v3 Authority Key Identifier: keyid:BE:A8:A0:74:72:50:6B:44:B7:C9:23:D8:FB:A8:FF:B3:57:6B:68:6C X509v3 Subject Key Identifier: BE:A8:A0:74:72:50:6B:44:B7:C9:23:D8:FB:A8:FF:B3:57:6B:68:6C Signature Algorithm: md5WithRSAEncryption 30:e2:01:51:aa:c7:ea:5f:da:b9:d0:65:0f:30:d6:3e:da:0d: 14:49:6e:91:93:27:14:31:ef:c4:f7:2d:45:f8:ec:c7:bf:a2: 41:0d:23:b4:92:f9:19:00:67:bd:01:af:cd:e0:71:fc:5a:cf: 64:c4:e0:96:98:d0:a3:40:e2:01:8a:ef:27:07:f1:65:01:8a: 44:2d:06:65:75:52:c0:86:10:20:21:5f:6c:6b:0f:6c:ae:09: 1c:af:f2:a2:18:34:c4:75:a4:73:1c:f1:8d:dc:ef:ad:f9:b3: 76:b4:92:bf:dc:95:10:1e:be:cb:c8:3b:5a:84:60:19:56:94: a9:55 GeoTrust Global CA ================== MD5 Fingerprint=F7:75:AB:29:FB:51:4E:B7:77:5E:FF:05:3C:99:8E:F5 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU 1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV 5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 144470 (0x23456) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA Validity Not Before: May 21 04:00:00 2002 GMT Not After : May 21 04:00:00 2022 GMT Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:da:cc:18:63:30:fd:f4:17:23:1a:56:7e:5b:df: 3c:6c:38:e4:71:b7:78:91:d4:bc:a1:d8:4c:f8:a8: 43:b6:03:e9:4d:21:07:08:88:da:58:2f:66:39:29: bd:05:78:8b:9d:38:e8:05:b7:6a:7e:71:a4:e6:c4: 60:a6:b0:ef:80:e4:89:28:0f:9e:25:d6:ed:83:f3: ad:a6:91:c7:98:c9:42:18:35:14:9d:ad:98:46:92: 2e:4f:ca:f1:87:43:c1:16:95:57:2d:50:ef:89:2d: 80:7a:57:ad:f2:ee:5f:6b:d2:00:8d:b9:14:f8:14: 15:35:d9:c0:46:a3:7b:72:c8:91:bf:c9:55:2b:cd: d0:97:3e:9c:26:64:cc:df:ce:83:19:71:ca:4e:e6: d4:d5:7b:a9:19:cd:55:de:c8:ec:d2:5e:38:53:e5: 5c:4f:8c:2d:fe:50:23:36:fc:66:e6:cb:8e:a4:39: 19:00:b7:95:02:39:91:0b:0e:fe:38:2e:d1:1d:05: 9a:f6:4d:3e:6f:0f:07:1d:af:2c:1e:8f:60:39:e2: fa:36:53:13:39:d4:5e:26:2b:db:3d:a8:14:bd:32: eb:18:03:28:52:04:71:e5:ab:33:3d:e1:38:bb:07: 36:84:62:9c:79:ea:16:30:f4:5f:c0:2b:e8:71:6b: e4:f9 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Subject Key Identifier: C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E X509v3 Authority Key Identifier: keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E Signature Algorithm: sha1WithRSAEncryption 35:e3:29:6a:e5:2f:5d:54:8e:29:50:94:9f:99:1a:14:e4:8f: 78:2a:62:94:a2:27:67:9e:d0:cf:1a:5e:47:e9:c1:b2:a4:cf: dd:41:1a:05:4e:9b:4b:ee:4a:6f:55:52:b3:24:a1:37:0a:eb: 64:76:2a:2e:2c:f3:fd:3b:75:90:bf:fa:71:d8:c7:3d:37:d2: b5:05:95:62:b9:a6:de:89:3d:36:7b:38:77:48:97:ac:a6:20: 8f:2e:a6:c9:0c:c2:b2:99:45:00:c7:ce:11:51:22:22:e0:a5: ea:b6:15:48:09:64:ea:5e:4f:74:f7:05:3e:c7:8a:52:0c:db: 15:b4:bd:6d:9b:e5:c6:b1:54:68:a9:e3:69:90:b6:9a:a5:0f: b8:b9:3f:20:7d:ae:4a:b5:b8:9c:e4:1d:b6:ab:e6:94:a5:c1: c7:83:ad:db:f5:27:87:0e:04:6c:d5:ff:dd:a0:5d:ed:87:52: b7:2b:15:02:ae:39:a6:6a:74:e9:da:c4:e7:bc:4d:34:1e:a9: 5c:4d:33:5f:92:09:2f:88:66:5d:77:97:c7:1d:76:13:a9:d5: e5:f1:16:09:11:35:d5:ac:db:24:71:70:2c:98:56:0b:d9:17: b4:d1:e3:51:2b:5e:75:e8:d5:d0:dc:4f:34:ed:c2:05:66:80: a1:cb:e6:33 GlobalSign Root CA ================== MD5 Fingerprint=AB:BF:EA:E3:6B:29:A6:CC:A6:78:35:99:EF:AD:2B:80 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDdTCCAl2gAwIBAgILAgAAAAAA1ni3lAUwDQYJKoZIhvcNAQEEBQAwVzELMAkG A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw MDBaFw0xNDAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp 1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIABjAdBgNVHQ4EFgQU YHtmGkUNl8qJUC99BM00qP/8/UswDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B AQQFAAOCAQEArqqf/LfSyx9fOSkoGJ40yWxPbxrwZKJwSk8ThptgKJ7ogUmYfQq7 5bCdPTbbjwVR/wkxKh/diXeeDy5slQTthsu0AD+EAk2AaioteAuubyuig0SDH81Q gkwkr733pbTIWg/050deSY43lv6aiAU62cDbKYfmGZZHpzqmjIs8d/5GY6dT2iHR rH5Jokvmw2dZL7OKDrssvamqQnw1wdh/1acxOk5jQzmvCLBhNIzTmKlDNPYPhyk7 ncJWWJh3w/cbrPad+D6qp1RF8PX51TFl/mtYnHGzHtdS6jIX/EBgHcl5JLL2bP2o Zg6C3ZjL2sJETy6ge/L3ayx2EYRGinij4w== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 02:00:00:00:00:00:d6:78:b7:94:05 Signature Algorithm: md5WithRSAEncryption Issuer: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA Validity Not Before: Sep 1 12:00:00 1998 GMT Not After : Jan 28 12:00:00 2014 GMT Subject: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:da:0e:e6:99:8d:ce:a3:e3:4f:8a:7e:fb:f1:8b: 83:25:6b:ea:48:1f:f1:2a:b0:b9:95:11:04:bd:f0: 63:d1:e2:67:66:cf:1c:dd:cf:1b:48:2b:ee:8d:89: 8e:9a:af:29:80:65:ab:e9:c7:2d:12:cb:ab:1c:4c: 70:07:a1:3d:0a:30:cd:15:8d:4f:f8:dd:d4:8c:50: 15:1c:ef:50:ee:c4:2e:f7:fc:e9:52:f2:91:7d:e0: 6d:d5:35:30:8e:5e:43:73:f2:41:e9:d5:6a:e3:b2: 89:3a:56:39:38:6f:06:3c:88:69:5b:2a:4d:c5:a7: 54:b8:6c:89:cc:9b:f9:3c:ca:e5:fd:89:f5:12:3c: 92:78:96:d6:dc:74:6e:93:44:61:d1:8d:c7:46:b2: 75:0e:86:e8:19:8a:d5:6d:6c:d5:78:16:95:a2:e9: c8:0a:38:eb:f2:24:13:4f:73:54:93:13:85:3a:1b: bc:1e:34:b5:8b:05:8c:b9:77:8b:b1:db:1f:20:91: ab:09:53:6e:90:ce:7b:37:74:b9:70:47:91:22:51: 63:16:79:ae:b1:ae:41:26:08:c8:19:2b:d1:46:aa: 48:d6:64:2a:d7:83:34:ff:2c:2a:c1:6c:19:43:4a: 07:85:e7:d3:7c:f6:21:68:ef:ea:f2:52:9f:7f:93: 90:cf Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Key Usage: critical Certificate Sign, CRL Sign X509v3 Subject Key Identifier: 60:7B:66:1A:45:0D:97:CA:89:50:2F:7D:04:CD:34:A8:FF:FC:FD:4B X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: md5WithRSAEncryption ae:aa:9f:fc:b7:d2:cb:1f:5f:39:29:28:18:9e:34:c9:6c:4f: 6f:1a:f0:64:a2:70:4a:4f:13:86:9b:60:28:9e:e8:81:49:98: 7d:0a:bb:e5:b0:9d:3d:36:db:8f:05:51:ff:09:31:2a:1f:dd: 89:77:9e:0f:2e:6c:95:04:ed:86:cb:b4:00:3f:84:02:4d:80: 6a:2a:2d:78:0b:ae:6f:2b:a2:83:44:83:1f:cd:50:82:4c:24: af:bd:f7:a5:b4:c8:5a:0f:f4:e7:47:5e:49:8e:37:96:fe:9a: 88:05:3a:d9:c0:db:29:87:e6:19:96:47:a7:3a:a6:8c:8b:3c: 77:fe:46:63:a7:53:da:21:d1:ac:7e:49:a2:4b:e6:c3:67:59: 2f:b3:8a:0e:bb:2c:bd:a9:aa:42:7c:35:c1:d8:7f:d5:a7:31: 3a:4e:63:43:39:af:08:b0:61:34:8c:d3:98:a9:43:34:f6:0f: 87:29:3b:9d:c2:56:58:98:77:c3:f7:1b:ac:f6:9d:f8:3e:aa: a7:54:45:f0:f5:f9:d5:31:65:fe:6b:58:9c:71:b3:1e:d7:52: ea:32:17:fc:40:60:1d:c9:79:24:b2:f6:6c:fd:a8:66:0e:82: dd:98:cb:da:c2:44:4f:2e:a0:7b:f2:f7:6b:2c:76:11:84:46: 8a:78:a3:e3 GTE CyberTrust Global Root ========================== MD5 Fingerprint=CA:3D:D3:68:F1:03:5C:D0:32:FA:B8:2B:59:E8:5A:DB PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYD VQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNv bHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJv b3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJV UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds b2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrH iM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTS r41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4 04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3r GwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l9 3PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0P lZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/ -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 421 (0x1a5) Signature Algorithm: md5WithRSAEncryption Issuer: C=US, O=GTE Corporation, OU=GTE CyberTrust Solutions, Inc., CN=GTE CyberTrust Global Root Validity Not Before: Aug 13 00:29:00 1998 GMT Not After : Aug 13 23:59:00 2018 GMT Subject: C=US, O=GTE Corporation, OU=GTE CyberTrust Solutions, Inc., CN=GTE CyberTrust Global Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:95:0f:a0:b6:f0:50:9c:e8:7a:c7:88:cd:dd:17: 0e:2e:b0:94:d0:1b:3d:0e:f6:94:c0:8a:94:c7:06: c8:90:97:c8:b8:64:1a:7a:7e:6c:3c:53:e1:37:28: 73:60:7f:b2:97:53:07:9f:53:f9:6d:58:94:d2:af: 8d:6d:88:67:80:e6:ed:b2:95:cf:72:31:ca:a5:1c: 72:ba:5c:02:e7:64:42:e7:f9:a9:2c:d6:3a:0d:ac: 8d:42:aa:24:01:39:e6:9c:3f:01:85:57:0d:58:87: 45:f8:d3:85:aa:93:69:26:85:70:48:80:3f:12:15: c7:79:b4:1f:05:2f:3b:62:99 Exponent: 65537 (0x10001) Signature Algorithm: md5WithRSAEncryption 6d:eb:1b:09:e9:5e:d9:51:db:67:22:61:a4:2a:3c:48:77:e3: a0:7c:a6:de:73:a2:14:03:85:3d:fb:ab:0e:30:c5:83:16:33: 81:13:08:9e:7b:34:4e:df:40:c8:74:d7:b9:7d:dc:f4:76:55: 7d:9b:63:54:18:e9:f0:ea:f3:5c:b1:d9:8b:42:1e:b9:c0:95: 4e:ba:fa:d5:e2:7c:f5:68:61:bf:8e:ec:05:97:5f:5b:b0:d7: a3:85:34:c4:24:a7:0d:0f:95:93:ef:cb:94:d8:9e:1f:9d:5c: 85:6d:c7:aa:ae:4f:1f:22:b5:cd:95:ad:ba:a7:cc:f9:ab:0b: 7a:7f GTE CyberTrust Root CA ====================== MD5 Fingerprint=C4:D7:F0:B2:A3:C5:7D:61:67:F0:04:CD:43:D3:BA:58 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIB+jCCAWMCAgGjMA0GCSqGSIb3DQEBBAUAMEUxCzAJBgNVBAYTAlVTMRgwFgYD VQQKEw9HVEUgQ29ycG9yYXRpb24xHDAaBgNVBAMTE0dURSBDeWJlclRydXN0IFJv b3QwHhcNOTYwMjIzMjMwMTAwWhcNMDYwMjIzMjM1OTAwWjBFMQswCQYDVQQGEwJV UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMRwwGgYDVQQDExNHVEUgQ3liZXJU cnVzdCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC45k+625h8cXyv RLfTD0bZZOWTwUKOx7pJjTUteueLveUFMVnGsS8KDPufpz+iCWaEVh43KRuH6X4M ypqfpX/1FZSj1aJGgthoTNE3FQZor734sLPwKfWVWgkWYXcKIiXUT0Wqx73llt/5 1KiOQswkwB6RJ0q1bQaAYznEol44AwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABKz dcZfHeFhVYAA1IFLezEPI2PnPfMD+fQ2qLvZ46WXTeorKeDWanOB5sCJo9Px4KWl IjeaY8JIILTbcuPI9tl8vrGvU9oUtCG41tWW4/5ODFlitppK+ULdjG+BqXH/9Apy bW1EDp3zdHSo1TRJ6V6e6bR64eVaH4QwnNOfpSXY -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 419 (0x1a3) Signature Algorithm: md5WithRSAEncryption Issuer: C=US, O=GTE Corporation, CN=GTE CyberTrust Root Validity Not Before: Feb 23 23:01:00 1996 GMT Not After : Feb 23 23:59:00 2006 GMT Subject: C=US, O=GTE Corporation, CN=GTE CyberTrust Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:b8:e6:4f:ba:db:98:7c:71:7c:af:44:b7:d3:0f: 46:d9:64:e5:93:c1:42:8e:c7:ba:49:8d:35:2d:7a: e7:8b:bd:e5:05:31:59:c6:b1:2f:0a:0c:fb:9f:a7: 3f:a2:09:66:84:56:1e:37:29:1b:87:e9:7e:0c:ca: 9a:9f:a5:7f:f5:15:94:a3:d5:a2:46:82:d8:68:4c: d1:37:15:06:68:af:bd:f8:b0:b3:f0:29:f5:95:5a: 09:16:61:77:0a:22:25:d4:4f:45:aa:c7:bd:e5:96: df:f9:d4:a8:8e:42:cc:24:c0:1e:91:27:4a:b5:6d: 06:80:63:39:c4:a2:5e:38:03 Exponent: 65537 (0x10001) Signature Algorithm: md5WithRSAEncryption 12:b3:75:c6:5f:1d:e1:61:55:80:00:d4:81:4b:7b:31:0f:23: 63:e7:3d:f3:03:f9:f4:36:a8:bb:d9:e3:a5:97:4d:ea:2b:29: e0:d6:6a:73:81:e6:c0:89:a3:d3:f1:e0:a5:a5:22:37:9a:63: c2:48:20:b4:db:72:e3:c8:f6:d9:7c:be:b1:af:53:da:14:b4: 21:b8:d6:d5:96:e3:fe:4e:0c:59:62:b6:9a:4a:f9:42:dd:8c: 6f:81:a9:71:ff:f4:0a:72:6d:6d:44:0e:9d:f3:74:74:a8:d5: 34:49:e9:5e:9e:e9:b4:7a:e1:e5:5a:1f:84:30:9c:d3:9f:a5: 25:d8 RSA Root Certificate 1 ====================== MD5 Fingerprint=A2:6F:53:B7:EE:40:DB:4A:68:E7:FA:18:D9:10:4B:72 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0 IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG 9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMjIzM1oXDTE5MDYy NjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjmFGWHOjVsQaBalfD cnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td3zZxFJmP3MKS8edgkpfs 2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89HBFx1cQqY JJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliE Zwgs3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJ n0WuPIqpsHEzXcjFV9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/A PhmcGcwTTYJBtYze4D1gCCAPRX5ron+jjBXu -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 3 Policy Validation Authority, CN=http://www.valicert.com//Email=info@valicert.com Validity Not Before: Jun 26 00:22:33 1999 GMT Not After : Jun 26 00:22:33 2019 GMT Subject: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 3 Policy Validation Authority, CN=http://www.valicert.com//Email=info@valicert.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:e3:98:51:96:1c:e8:d5:b1:06:81:6a:57:c3:72: 75:93:ab:cf:9e:a6:fc:f3:16:52:d6:2d:4d:9f:35: 44:a8:2e:04:4d:07:49:8a:38:29:f5:77:37:e7:b7: ab:5d:df:36:71:14:99:8f:dc:c2:92:f1:e7:60:92: 97:ec:d8:48:dc:bf:c1:02:20:c6:24:a4:28:4c:30: 5a:76:6d:b1:5c:f3:dd:de:9e:10:71:a1:88:c7:5b: 9b:41:6d:ca:b0:b8:8e:15:ee:ad:33:2b:cf:47:04: 5c:75:71:0a:98:24:98:29:a7:49:59:a5:dd:f8:b7: 43:62:61:f3:d3:e2:d0:55:3f Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 56:bb:02:58:84:67:08:2c:df:1f:db:7b:49:33:f5:d3:67:9d: f4:b4:0a:10:b3:c9:c5:2c:e2:92:6a:71:78:27:f2:70:83:42: d3:3e:cf:a9:54:f4:f1:d8:92:16:8c:d1:04:cb:4b:ab:c9:9f: 45:ae:3c:8a:a9:b0:71:33:5d:c8:c5:57:df:af:a8:35:b3:7f: 89:87:e9:e8:25:92:b8:7f:85:7a:ae:d6:bc:1e:37:58:2a:67: c9:91:cf:2a:81:3e:ed:c6:39:df:c0:3e:19:9c:19:cc:13:4d: 82:41:b5:8c:de:e0:3d:60:08:20:0f:45:7e:6b:a2:7f:a3:8c: 15:ee RSA Security 1024 v3 ==================== MD5 Fingerprint=3A:E5:50:B0:39:BE:C7:46:36:33:A1:FE:82:3E:8D:94 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICXDCCAcWgAwIBAgIQCgEBAQAAAnwAAAALAAAAAjANBgkqhkiG9w0BAQUFADA6 MRkwFwYDVQQKExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJp dHkgMTAyNCBWMzAeFw0wMTAyMjIyMTAxNDlaFw0yNjAyMjIyMDAxNDlaMDoxGTAX BgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAbBgNVBAsTFFJTQSBTZWN1cml0eSAx MDI0IFYzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDV3f5mCc8kPD6ugU5O isRpgFtZO9+5TUzKtS3DJy08rwBCbbwoppbPf9dYrIMKo1W1exeQFYRMiu4mmdxY 78c4pqqv0I5CyGLXq6yp+0p9v+r+Ek3d/yYtbzZUaMjShFbuklNhCbM/OZuoyZu9 zp9+1BlqFikYvtc6adwlWzMaUQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4G A1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBTEwBykB5T9zU0B1FTapQxf3q4FWjAd BgNVHQ4EFgQUxMAcpAeU/c1NAdRU2qUMX96uBVowDQYJKoZIhvcNAQEFBQADgYEA Py1q4yZDlX2Jl2X7deRyHUZXxGFraZ8SmyzVWujAovBDleMf6XbN3Ou8k6BlCsdN T1+nr6JGFLkM88y9am63nd4lQtBU/55oc2PcJOsiv6hy8l4A4Q1OOkNumU4/iXgD mMrzVcydro7BqkWY+o8aoI2II/EVQQ2lRj6RP4vr93E= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 0a:01:01:01:00:00:02:7c:00:00:00:0b:00:00:00:02 Signature Algorithm: sha1WithRSAEncryption Issuer: O=RSA Security Inc, OU=RSA Security 1024 V3 Validity Not Before: Feb 22 21:01:49 2001 GMT Not After : Feb 22 20:01:49 2026 GMT Subject: O=RSA Security Inc, OU=RSA Security 1024 V3 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d5:dd:fe:66:09:cf:24:3c:3e:ae:81:4e:4e:8a: c4:69:80:5b:59:3b:df:b9:4d:4c:ca:b5:2d:c3:27: 2d:3c:af:00:42:6d:bc:28:a6:96:cf:7f:d7:58:ac: 83:0a:a3:55:b5:7b:17:90:15:84:4c:8a:ee:26:99: dc:58:ef:c7:38:a6:aa:af:d0:8e:42:c8:62:d7:ab: ac:a9:fb:4a:7d:bf:ea:fe:12:4d:dd:ff:26:2d:6f: 36:54:68:c8:d2:84:56:ee:92:53:61:09:b3:3f:39: 9b:a8:c9:9b:bd:ce:9f:7e:d4:19:6a:16:29:18:be: d7:3a:69:dc:25:5b:33:1a:51 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:C4:C0:1C:A4:07:94:FD:CD:4D:01:D4:54:DA:A5:0C:5F:DE:AE:05:5A X509v3 Subject Key Identifier: C4:C0:1C:A4:07:94:FD:CD:4D:01:D4:54:DA:A5:0C:5F:DE:AE:05:5A Signature Algorithm: sha1WithRSAEncryption 3f:2d:6a:e3:26:43:95:7d:89:97:65:fb:75:e4:72:1d:46:57: c4:61:6b:69:9f:12:9b:2c:d5:5a:e8:c0:a2:f0:43:95:e3:1f: e9:76:cd:dc:eb:bc:93:a0:65:0a:c7:4d:4f:5f:a7:af:a2:46: 14:b9:0c:f3:cc:bd:6a:6e:b7:9d:de:25:42:d0:54:ff:9e:68: 73:63:dc:24:eb:22:bf:a8:72:f2:5e:00:e1:0d:4e:3a:43:6e: 99:4e:3f:89:78:03:98:ca:f3:55:cc:9d:ae:8e:c1:aa:45:98: fa:8f:1a:a0:8d:88:23:f1:15:41:0d:a5:46:3e:91:3f:8b:eb: f7:71 RSA Security 2048 v3 ==================== MD5 Fingerprint=77:0D:19:B1:21:FD:00:42:9C:3E:0C:A5:DD:0B:02:8E PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6 MRkwFwYDVQQKExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJp dHkgMjA0OCBWMzAeFw0wMTAyMjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAX BgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAbBgNVBAsTFFJTQSBTZWN1cml0eSAy MDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt49VcdKA3Xtp eafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7Jylg /9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGl wSMiuLgbWhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnh AMFRD0xS+ARaqn1y07iHKrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2 PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP+Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpu AWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB BjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4EFgQUB8NR MKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYc HnmYv/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/ Zb5gEydxiKRz44Rj0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+ f00/FGj1EVDVwfSQpQgdMWD/YIwjVAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVO rSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395nzIlQnQFgCi/vcEkllgVsRch 6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kApKnXwiJPZ9d3 7CAFYd4= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 0a:01:01:01:00:00:02:7c:00:00:00:0a:00:00:00:02 Signature Algorithm: sha1WithRSAEncryption Issuer: O=RSA Security Inc, OU=RSA Security 2048 V3 Validity Not Before: Feb 22 20:39:23 2001 GMT Not After : Feb 22 20:39:23 2026 GMT Subject: O=RSA Security Inc, OU=RSA Security 2048 V3 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:b7:8f:55:71:d2:80:dd:7b:69:79:a7:f0:18:50: 32:3c:62:67:f6:0a:95:07:dd:e6:1b:f3:9e:d9:d2: 41:54:6b:ad:9f:7c:be:19:cd:fb:46:ab:41:68:1e: 18:ea:55:c8:2f:91:78:89:28:fb:27:29:60:ff:df: 8f:8c:3b:c9:49:9b:b5:a4:94:ce:01:ea:3e:b5:63: 7b:7f:26:fd:19:dd:c0:21:bd:84:d1:2d:4f:46:c3: 4e:dc:d8:37:39:3b:28:af:cb:9d:1a:ea:2b:af:21: a5:c1:23:22:b8:b8:1b:5a:13:87:57:83:d1:f0:20: e7:e8:4f:23:42:b0:00:a5:7d:89:e9:e9:61:73:94: 98:71:26:bc:2d:6a:e0:f7:4d:f0:f1:b6:2a:38:31: 81:0d:29:e1:00:c1:51:0f:4c:52:f8:04:5a:aa:7d: 72:d3:b8:87:2a:bb:63:10:03:2a:b3:a1:4f:0d:5a: 5e:46:b7:3d:0e:f5:74:ec:99:9f:f9:3d:24:81:88: a6:dd:60:54:e8:95:36:3d:c6:09:93:9a:a3:12:80: 00:55:99:19:47:bd:d0:a5:7c:c3:ba:fb:1f:f7:f5: 0f:f8:ac:b9:b5:f4:37:98:13:18:de:85:5b:b7:0c: 82:3b:87:6f:95:39:58:30:da:6e:01:68:17:22:cc: c0:0b Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:07:C3:51:30:A4:AA:E9:45:AE:35:24:FA:FF:24:2C:33:D0:B1:9D:8C X509v3 Subject Key Identifier: 07:C3:51:30:A4:AA:E9:45:AE:35:24:FA:FF:24:2C:33:D0:B1:9D:8C Signature Algorithm: sha1WithRSAEncryption 5f:3e:86:76:6e:b8:35:3c:4e:36:1c:1e:79:98:bf:fd:d5:12: 11:79:52:0e:ee:31:89:bc:dd:7f:f9:d1:c6:15:21:e8:8a:01: 54:0d:3a:fb:54:b9:d6:63:d4:b1:aa:96:4d:a2:42:4d:d4:53: 1f:8b:10:de:7f:65:be:60:13:27:71:88:a4:73:e3:84:63:d1: a4:55:e1:50:93:e6:1b:0e:79:d0:67:bc:46:c8:bf:3f:17:0d: 95:e6:c6:90:69:de:e7:b4:2f:de:95:7d:d0:12:3f:3d:3e:7f: 4d:3f:14:68:f5:11:50:d5:c1:f4:90:a5:08:1d:31:60:ff:60: 8c:23:54:0a:af:fe:a1:6e:c5:d1:7a:2a:68:78:cf:1e:82:0a: 20:b4:1f:ad:e5:85:b2:6a:68:75:4e:ad:25:37:94:85:be:bd: a1:d4:ea:b7:0c:4b:3c:9d:e8:12:00:f0:5f:ac:0d:e1:ac:70: 63:73:f7:7f:79:9f:32:25:42:74:05:80:28:bf:bd:c1:24:96: 58:15:b1:17:21:e9:89:4b:db:07:88:67:f4:15:ad:70:3e:2f: 4d:85:3b:c2:b7:db:fe:98:68:23:89:e1:74:0f:de:f4:c5:84: 63:29:1b:cc:cb:07:c9:00:a4:a9:d7:c2:22:4f:67:d7:77:ec: 20:05:61:de TC TrustCenter, Germany, Class 2 CA =================================== MD5 Fingerprint=B8:16:33:4C:4C:4C:F2:D8:D3:4D:06:B4:A6:5B:40:03 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDXDCCAsWgAwIBAgICA+owDQYJKoZIhvcNAQEEBQAwgbwxCzAJBgNVBAYTAkRF MRAwDgYDVQQIEwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTowOAYDVQQKEzFU QyBUcnVzdENlbnRlciBmb3IgU2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBHbWJI MSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBDbGFzcyAyIENBMSkwJwYJKoZIhvcN AQkBFhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw05ODAzMDkxMTU5NTla Fw0xMTAxMDExMTU5NTlaMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFtYnVy ZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9y IFNlY3VyaXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1 c3RDZW50ZXIgQ2xhc3MgMiBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVA dHJ1c3RjZW50ZXIuZGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANo46O0y AClxgwENv4wB3NrGrTmkqYov1YtcaF9QxmL1Zr3KkSLsqh1R1z2zUbKDTl3LSbDw TFXlay3HhQswHJJOgtTKAu33b77c4OMUuAVT8pr0VotanoWT0bSCVq5Nu6hLVxa8 /vhYnvgpjbB7zXjJT6yLZwzxnPv8V5tXXE8NAgMBAAGjazBpMA8GA1UdEwEB/wQF MAMBAf8wDgYDVR0PAQH/BAQDAgGGMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8vd3d3 LnRydXN0Y2VudGVyLmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgAHMA0G CSqGSIb3DQEBBAUAA4GBAIRS+yjf/x91AbwBvgRWl2p0QiQxg/lGsQaKic+WLDO/ jLVfenKhhQbOhvgFjuj5Jcrag4wGrOs2bYWRNAQ29ELw+HkuCkhcq8xRT3h2oNms Gb0q0WkEKJHKNhAngFdb0lz1wlurZIFjdFH0l7/NEij3TWZ/p/AcASZ4smZHcFFk -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1002 (0x3ea) Signature Algorithm: md5WithRSAEncryption Issuer: C=DE, ST=Hamburg, L=Hamburg, O=TC TrustCenter for Security in Data Networks GmbH, OU=TC TrustCenter Class 2 CA/Email=certificate@trustcenter.de Validity Not Before: Mar 9 11:59:59 1998 GMT Not After : Jan 1 11:59:59 2011 GMT Subject: C=DE, ST=Hamburg, L=Hamburg, O=TC TrustCenter for Security in Data Networks GmbH, OU=TC TrustCenter Class 2 CA/Email=certificate@trustcenter.de Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:da:38:e8:ed:32:00:29:71:83:01:0d:bf:8c:01: dc:da:c6:ad:39:a4:a9:8a:2f:d5:8b:5c:68:5f:50: c6:62:f5:66:bd:ca:91:22:ec:aa:1d:51:d7:3d:b3: 51:b2:83:4e:5d:cb:49:b0:f0:4c:55:e5:6b:2d:c7: 85:0b:30:1c:92:4e:82:d4:ca:02:ed:f7:6f:be:dc: e0:e3:14:b8:05:53:f2:9a:f4:56:8b:5a:9e:85:93: d1:b4:82:56:ae:4d:bb:a8:4b:57:16:bc:fe:f8:58: 9e:f8:29:8d:b0:7b:cd:78:c9:4f:ac:8b:67:0c:f1: 9c:fb:fc:57:9b:57:5c:4f:0d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Digital Signature, Certificate Sign, CRL Sign Netscape CA Policy Url: http://www.trustcenter.de/guidelines Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA Signature Algorithm: md5WithRSAEncryption 84:52:fb:28:df:ff:1f:75:01:bc:01:be:04:56:97:6a:74:42: 24:31:83:f9:46:b1:06:8a:89:cf:96:2c:33:bf:8c:b5:5f:7a: 72:a1:85:06:ce:86:f8:05:8e:e8:f9:25:ca:da:83:8c:06:ac: eb:36:6d:85:91:34:04:36:f4:42:f0:f8:79:2e:0a:48:5c:ab: cc:51:4f:78:76:a0:d9:ac:19:bd:2a:d1:69:04:28:91:ca:36: 10:27:80:57:5b:d2:5c:f5:c2:5b:ab:64:81:63:74:51:f4:97: bf:cd:12:28:f7:4d:66:7f:a7:f0:1c:01:26:78:b2:66:47:70: 51:64 TC TrustCenter, Germany, Class 3 CA =================================== MD5 Fingerprint=5F:94:4A:73:22:B8:F7:D1:31:EC:59:39:F7:8E:FE:6E PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDXDCCAsWgAwIBAgICA+swDQYJKoZIhvcNAQEEBQAwgbwxCzAJBgNVBAYTAkRF MRAwDgYDVQQIEwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTowOAYDVQQKEzFU QyBUcnVzdENlbnRlciBmb3IgU2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBHbWJI MSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBDbGFzcyAzIENBMSkwJwYJKoZIhvcN AQkBFhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw05ODAzMDkxMTU5NTla Fw0xMTAxMDExMTU5NTlaMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFtYnVy ZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9y IFNlY3VyaXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1 c3RDZW50ZXIgQ2xhc3MgMyBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVA dHJ1c3RjZW50ZXIuZGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALa0wTUF Lg2N7KBAahwOJ6ZQkmtQGwfeLud2zODa/ISoXoxjaitN2U4CdhHBC/KNecoAtvGw Dtf7pBc9r6tpepYnv68zoZoqWarEtTcI8hKlMbZD9TKWcSgoq40oht+77uMMfTDW w1Krj10nnGvAo+cFa1dJRLNu6mTP0o56UHd3AgMBAAGjazBpMA8GA1UdEwEB/wQF MAMBAf8wDgYDVR0PAQH/BAQDAgGGMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8vd3d3 LnRydXN0Y2VudGVyLmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgAHMA0G CSqGSIb3DQEBBAUAA4GBABY9xs3Bu4VxhUafPiCPUSiZ7C1FIWMjWwS7TJC4iJIE Tb19AaM/9uzO8d7+feXhPrvGq14L3T2WxMup1Pkm5gZOngylerpuw3yCGdHHsbHD 2w2Om0B8NwvxXej9H5CIpQ5ON2QhqE6NtJ/x3kit1VYYUimLRzQSCdS7kjXvD9s0 -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1003 (0x3eb) Signature Algorithm: md5WithRSAEncryption Issuer: C=DE, ST=Hamburg, L=Hamburg, O=TC TrustCenter for Security in Data Networks GmbH, OU=TC TrustCenter Class 3 CA/Email=certificate@trustcenter.de Validity Not Before: Mar 9 11:59:59 1998 GMT Not After : Jan 1 11:59:59 2011 GMT Subject: C=DE, ST=Hamburg, L=Hamburg, O=TC TrustCenter for Security in Data Networks GmbH, OU=TC TrustCenter Class 3 CA/Email=certificate@trustcenter.de Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:b6:b4:c1:35:05:2e:0d:8d:ec:a0:40:6a:1c:0e: 27:a6:50:92:6b:50:1b:07:de:2e:e7:76:cc:e0:da: fc:84:a8:5e:8c:63:6a:2b:4d:d9:4e:02:76:11:c1: 0b:f2:8d:79:ca:00:b6:f1:b0:0e:d7:fb:a4:17:3d: af:ab:69:7a:96:27:bf:af:33:a1:9a:2a:59:aa:c4: b5:37:08:f2:12:a5:31:b6:43:f5:32:96:71:28:28: ab:8d:28:86:df:bb:ee:e3:0c:7d:30:d6:c3:52:ab: 8f:5d:27:9c:6b:c0:a3:e7:05:6b:57:49:44:b3:6e: ea:64:cf:d2:8e:7a:50:77:77 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Digital Signature, Certificate Sign, CRL Sign Netscape CA Policy Url: http://www.trustcenter.de/guidelines Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA Signature Algorithm: md5WithRSAEncryption 16:3d:c6:cd:c1:bb:85:71:85:46:9f:3e:20:8f:51:28:99:ec: 2d:45:21:63:23:5b:04:bb:4c:90:b8:88:92:04:4d:bd:7d:01: a3:3f:f6:ec:ce:f1:de:fe:7d:e5:e1:3e:bb:c6:ab:5e:0b:dd: 3d:96:c4:cb:a9:d4:f9:26:e6:06:4e:9e:0c:a5:7a:ba:6e:c3: 7c:82:19:d1:c7:b1:b1:c3:db:0d:8e:9b:40:7c:37:0b:f1:5d: e8:fd:1f:90:88:a5:0e:4e:37:64:21:a8:4e:8d:b4:9f:f1:de: 48:ad:d5:56:18:52:29:8b:47:34:12:09:d4:bb:92:35:ef:0f: db:34 Thawte Personal Basic CA ======================== MD5 Fingerprint=E6:0B:D2:C9:CA:2D:88:DB:1A:71:0E:4B:78:EB:02:41 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDITCCAoqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCByzELMAkGA1UEBhMCWkEx FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT ZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFBlcnNvbmFsIEJhc2lj IENBMSgwJgYJKoZIhvcNAQkBFhlwZXJzb25hbC1iYXNpY0B0aGF3dGUuY29tMB4X DTk2MDEwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgcsxCzAJBgNVBAYTAlpBMRUw EwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UE ChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2Vy dmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQZXJzb25hbCBCYXNpYyBD QTEoMCYGCSqGSIb3DQEJARYZcGVyc29uYWwtYmFzaWNAdGhhd3RlLmNvbTCBnzAN BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvLyTU23AUE+CFeZIlDWmWr5vQvoPR+53 dXLdjUmbllegeNTKP1GzaQuRdhciB5dqxFGTS+CN7zeVoQxN2jSQHReJl+A1OFdK wPQIcOk8RHtQfmGakOMj04gRRif1CwcOu93RfyAKiLlWCy4cgNrx454p7xS9CkT7 G1sY0b8jkyECAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQF AAOBgQAt4plrsD16iddZopQBHyvdEktTwq1/qqcAXJFAVyVKOKqEcLnZgA+le1z7 c8a914phXAPjLSeoF+CEhULcXpvGt7Jtu3Sv5D/Lp7ew4F2+eIMllNLbgQ95B21P 9DkVWlIBe94y1k049hJcBlDfBVu9FEuh3ym6O0GN92NWod8isQ== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 0 (0x0) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Basic CA/Email=personal-basic@thawte.com Validity Not Before: Jan 1 00:00:00 1996 GMT Not After : Dec 31 23:59:59 2020 GMT Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Basic CA/Email=personal-basic@thawte.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:bc:bc:93:53:6d:c0:50:4f:82:15:e6:48:94:35: a6:5a:be:6f:42:fa:0f:47:ee:77:75:72:dd:8d:49: 9b:96:57:a0:78:d4:ca:3f:51:b3:69:0b:91:76:17: 22:07:97:6a:c4:51:93:4b:e0:8d:ef:37:95:a1:0c: 4d:da:34:90:1d:17:89:97:e0:35:38:57:4a:c0:f4: 08:70:e9:3c:44:7b:50:7e:61:9a:90:e3:23:d3:88: 11:46:27:f5:0b:07:0e:bb:dd:d1:7f:20:0a:88:b9: 56:0b:2e:1c:80:da:f1:e3:9e:29:ef:14:bd:0a:44: fb:1b:5b:18:d1:bf:23:93:21 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: md5WithRSAEncryption 2d:e2:99:6b:b0:3d:7a:89:d7:59:a2:94:01:1f:2b:dd:12:4b: 53:c2:ad:7f:aa:a7:00:5c:91:40:57:25:4a:38:aa:84:70:b9: d9:80:0f:a5:7b:5c:fb:73:c6:bd:d7:8a:61:5c:03:e3:2d:27: a8:17:e0:84:85:42:dc:5e:9b:c6:b7:b2:6d:bb:74:af:e4:3f: cb:a7:b7:b0:e0:5d:be:78:83:25:94:d2:db:81:0f:79:07:6d: 4f:f4:39:15:5a:52:01:7b:de:32:d6:4d:38:f6:12:5c:06:50: df:05:5b:bd:14:4b:a1:df:29:ba:3b:41:8d:f7:63:56:a1:df: 22:b1 Thawte Personal Freemail CA =========================== MD5 Fingerprint=1E:74:C3:86:3C:0C:35:C5:3E:C2:7F:EF:3C:AA:3C:D9 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDLTCCApagAwIBAgIBADANBgkqhkiG9w0BAQQFADCB0TELMAkGA1UEBhMCWkEx FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT ZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3RlIFBlcnNvbmFsIEZyZWVt YWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25hbC1mcmVlbWFpbEB0aGF3dGUu Y29tMB4XDTk2MDEwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgdExCzAJBgNVBAYT AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEa MBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRp b24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBG cmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhh d3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1GnX1LCUZFtx6UfY DFG26nKRsIRefS0Nj3sS34UldSh0OkIsYyeflXtL734Zhx2G6qPduc6WZBrCFG5E rHzmj+hND3EfQDimAKOHePb5lIZererAXnbr2RSjXW56fAylS1V/Bhkpf56aJtVq uzgkCGqYx7Hao5iR/Xnb5VrEHLkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zAN BgkqhkiG9w0BAQQFAAOBgQDH7JJ+Tvj1lqVnYiqk8E0RYNBvjWBYYawmu1I1XAjP MPuoSpaKH2JCI4wXD/S6ZJwXrEcp352YXtJsYHFcoqzceePnbgBHH7UNKOgCneSa /RP0ptl8sfjcXyMmCZGAc9AUG95DqYMl8uacLxXK/qarigd1iwzdUYRr5PjRznei gQ== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 0 (0x0) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Freemail CA/Email=personal-freemail@thawte.com Validity Not Before: Jan 1 00:00:00 1996 GMT Not After : Dec 31 23:59:59 2020 GMT Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Freemail CA/Email=personal-freemail@thawte.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d4:69:d7:d4:b0:94:64:5b:71:e9:47:d8:0c:51: b6:ea:72:91:b0:84:5e:7d:2d:0d:8f:7b:12:df:85: 25:75:28:74:3a:42:2c:63:27:9f:95:7b:4b:ef:7e: 19:87:1d:86:ea:a3:dd:b9:ce:96:64:1a:c2:14:6e: 44:ac:7c:e6:8f:e8:4d:0f:71:1f:40:38:a6:00:a3: 87:78:f6:f9:94:86:5e:ad:ea:c0:5e:76:eb:d9:14: a3:5d:6e:7a:7c:0c:a5:4b:55:7f:06:19:29:7f:9e: 9a:26:d5:6a:bb:38:24:08:6a:98:c7:b1:da:a3:98: 91:fd:79:db:e5:5a:c4:1c:b9 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: md5WithRSAEncryption c7:ec:92:7e:4e:f8:f5:96:a5:67:62:2a:a4:f0:4d:11:60:d0: 6f:8d:60:58:61:ac:26:bb:52:35:5c:08:cf:30:fb:a8:4a:96: 8a:1f:62:42:23:8c:17:0f:f4:ba:64:9c:17:ac:47:29:df:9d: 98:5e:d2:6c:60:71:5c:a2:ac:dc:79:e3:e7:6e:00:47:1f:b5: 0d:28:e8:02:9d:e4:9a:fd:13:f4:a6:d9:7c:b1:f8:dc:5f:23: 26:09:91:80:73:d0:14:1b:de:43:a9:83:25:f2:e6:9c:2f:15: ca:fe:a6:ab:8a:07:75:8b:0c:dd:51:84:6b:e4:f8:d1:ce:77: a2:81 Thawte Personal Premium CA ========================== MD5 Fingerprint=3A:B2:DE:22:9A:20:93:49:F9:ED:C8:D2:8A:E7:68:0D PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDKTCCApKgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBzzELMAkGA1UEBhMCWkEx FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT ZXJ2aWNlcyBEaXZpc2lvbjEjMCEGA1UEAxMaVGhhd3RlIFBlcnNvbmFsIFByZW1p dW0gQ0ExKjAoBgkqhkiG9w0BCQEWG3BlcnNvbmFsLXByZW1pdW1AdGhhd3RlLmNv bTAeFw05NjAxMDEwMDAwMDBaFw0yMDEyMzEyMzU5NTlaMIHPMQswCQYDVQQGEwJa QTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAY BgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9u IFNlcnZpY2VzIERpdmlzaW9uMSMwIQYDVQQDExpUaGF3dGUgUGVyc29uYWwgUHJl bWl1bSBDQTEqMCgGCSqGSIb3DQEJARYbcGVyc29uYWwtcHJlbWl1bUB0aGF3dGUu Y29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJZtn4B0TPuYwu8KHvE0Vs Bd/eJxZRNkERbGw77f4QfRKe5ZtCmv5gMcNmt3M6SK5O0DI3lIi1DbbZ8/JE2dWI Et12TfIa/G8jHnrx2JhFTgcQ7xZC0EN1bUre4qrJMf8fAHB8Zs8QJQi6+u4A6UYD ZicRFTuqW/KY3TZCstqIdQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqG SIb3DQEBBAUAA4GBAGk2ifc0KjNyL2071CKyuG+axTZmDhs8obF1Wub9NdP4qPIH b4Vnjt4rueIXsDqg8A6iAJrf8xQVbrvIhVqYgPn/vnQdPfP+MCXRNzRn+qVxeTBh KXLA4CxM+1bkOqhv5TJZUtt1KFBZDPgLGeSs2a+WjS9Q2wfD6h+rM+D1KzGJ -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 0 (0x0) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Premium CA/Email=personal-premium@thawte.com Validity Not Before: Jan 1 00:00:00 1996 GMT Not After : Dec 31 23:59:59 2020 GMT Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Premium CA/Email=personal-premium@thawte.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c9:66:d9:f8:07:44:cf:b9:8c:2e:f0:a1:ef:13: 45:6c:05:df:de:27:16:51:36:41:11:6c:6c:3b:ed: fe:10:7d:12:9e:e5:9b:42:9a:fe:60:31:c3:66:b7: 73:3a:48:ae:4e:d0:32:37:94:88:b5:0d:b6:d9:f3: f2:44:d9:d5:88:12:dd:76:4d:f2:1a:fc:6f:23:1e: 7a:f1:d8:98:45:4e:07:10:ef:16:42:d0:43:75:6d: 4a:de:e2:aa:c9:31:ff:1f:00:70:7c:66:cf:10:25: 08:ba:fa:ee:00:e9:46:03:66:27:11:15:3b:aa:5b: f2:98:dd:36:42:b2:da:88:75 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: md5WithRSAEncryption 69:36:89:f7:34:2a:33:72:2f:6d:3b:d4:22:b2:b8:6f:9a:c5: 36:66:0e:1b:3c:a1:b1:75:5a:e6:fd:35:d3:f8:a8:f2:07:6f: 85:67:8e:de:2b:b9:e2:17:b0:3a:a0:f0:0e:a2:00:9a:df:f3: 14:15:6e:bb:c8:85:5a:98:80:f9:ff:be:74:1d:3d:f3:fe:30: 25:d1:37:34:67:fa:a5:71:79:30:61:29:72:c0:e0:2c:4c:fb: 56:e4:3a:a8:6f:e5:32:59:52:db:75:28:50:59:0c:f8:0b:19: e4:ac:d9:af:96:8d:2f:50:db:07:c3:ea:1f:ab:33:e0:f5:2b: 31:89 Thawte Premium Server CA ======================== MD5 Fingerprint=06:9F:69:79:16:66:90:02:1B:8C:8C:A2:C3:07:6F:3A PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkEx FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv biBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2Vy dmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29t MB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpB MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsG A1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRp b24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNl cnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNv bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkE VdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQ ug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMR uHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG 9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI hfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JM pAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Premium Server CA/Email=premium-server@thawte.com Validity Not Before: Aug 1 00:00:00 1996 GMT Not After : Dec 31 23:59:59 2020 GMT Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Premium Server CA/Email=premium-server@thawte.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d2:36:36:6a:8b:d7:c2:5b:9e:da:81:41:62:8f: 38:ee:49:04:55:d6:d0:ef:1c:1b:95:16:47:ef:18: 48:35:3a:52:f4:2b:6a:06:8f:3b:2f:ea:56:e3:af: 86:8d:9e:17:f7:9e:b4:65:75:02:4d:ef:cb:09:a2: 21:51:d8:9b:d0:67:d0:ba:0d:92:06:14:73:d4:93: cb:97:2a:00:9c:5c:4e:0c:bc:fa:15:52:fc:f2:44: 6e:da:11:4a:6e:08:9f:2f:2d:e3:f9:aa:3a:86:73: b6:46:53:58:c8:89:05:bd:83:11:b8:73:3f:aa:07: 8d:f4:42:4d:e7:40:9d:1c:37 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: md5WithRSAEncryption 26:48:2c:16:c2:58:fa:e8:16:74:0c:aa:aa:5f:54:3f:f2:d7: c9:78:60:5e:5e:6e:37:63:22:77:36:7e:b2:17:c4:34:b9:f5: 08:85:fc:c9:01:38:ff:4d:be:f2:16:42:43:e7:bb:5a:46:fb: c1:c6:11:1f:f1:4a:b0:28:46:c9:c3:c4:42:7d:bc:fa:ab:59: 6e:d5:b7:51:88:11:e3:a4:85:19:6b:82:4c:a4:0c:12:ad:e9: a4:ae:3f:f1:c3:49:65:9a:8c:c5:c8:3e:25:b7:94:99:bb:92: 32:71:07:f0:86:5e:ed:50:27:a6:0d:a6:23:f9:bb:cb:a6:07: 14:42 Thawte Server CA ================ MD5 Fingerprint=C5:70:C4:A2:ED:53:78:0C:C8:10:53:81:64:CB:D0:1D PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkEx FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv biBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEm MCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wHhcNOTYwODAx MDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3 dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNl cyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3 DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD gY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl/Kj0R1HahbUgdJSGHg91 yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg71CcEJRCX L+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGj EzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG 7oWDTSEwjsrZqG9JGubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6e QNuozDJ0uW8NxuOzRAvZim+aKZuZGCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZ qdq5snUb9kLy78fyGPmJvKP/iiMucEc= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Server CA/Email=server-certs@thawte.com Validity Not Before: Aug 1 00:00:00 1996 GMT Not After : Dec 31 23:59:59 2020 GMT Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Server CA/Email=server-certs@thawte.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d3:a4:50:6e:c8:ff:56:6b:e6:cf:5d:b6:ea:0c: 68:75:47:a2:aa:c2:da:84:25:fc:a8:f4:47:51:da: 85:b5:20:74:94:86:1e:0f:75:c9:e9:08:61:f5:06: 6d:30:6e:15:19:02:e9:52:c0:62:db:4d:99:9e:e2: 6a:0c:44:38:cd:fe:be:e3:64:09:70:c5:fe:b1:6b: 29:b6:2f:49:c8:3b:d4:27:04:25:10:97:2f:e7:90: 6d:c0:28:42:99:d7:4c:43:de:c3:f5:21:6d:54:9f: 5d:c3:58:e1:c0:e4:d9:5b:b0:b8:dc:b4:7b:df:36: 3a:c2:b5:66:22:12:d6:87:0d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: md5WithRSAEncryption 07:fa:4c:69:5c:fb:95:cc:46:ee:85:83:4d:21:30:8e:ca:d9: a8:6f:49:1a:e6:da:51:e3:60:70:6c:84:61:11:a1:1a:c8:48: 3e:59:43:7d:4f:95:3d:a1:8b:b7:0b:62:98:7a:75:8a:dd:88: 4e:4e:9e:40:db:a8:cc:32:74:b9:6f:0d:c6:e3:b3:44:0b:d9: 8a:6f:9a:29:9b:99:18:28:3b:d1:e3:40:28:9a:5a:3c:d5:b5: e7:20:1b:8b:ca:a4:ab:8d:e9:51:d9:e2:4c:2c:59:a9:da:b9: b2:75:1b:f6:42:f2:ef:c7:f2:18:f9:89:bc:a3:ff:8a:23:2e: 70:47 Thawte Time Stamping CA ======================= MD5 Fingerprint=7F:66:7A:71:D3:EB:69:78:20:9A:51:14:9D:83:DA:20 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICoTCCAgqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBizELMAkGA1UEBhMCWkEx FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzAN BgNVBAoTBlRoYXd0ZTEdMBsGA1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAd BgNVBAMTFlRoYXd0ZSBUaW1lc3RhbXBpbmcgQ0EwHhcNOTcwMTAxMDAwMDAwWhcN MjAxMjMxMjM1OTU5WjCBizELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4g Q2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzANBgNVBAoTBlRoYXd0ZTEdMBsG A1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAdBgNVBAMTFlRoYXd0ZSBUaW1l c3RhbXBpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANYrWHhhRYZT 6jR7UZztsOYuGA7+4F+oJ9O0yeB8WU4WDnNUYMF/9p8u6TqFJBU820cEY8OexJQa Wt9MevPZQx08EHp5JduQ/vBR5zDWQQD9nyjfeb6Uu522FOMjhdepQeBMpHmwKxqL 8vg7ij5FrHGSALSQQZj7X+36ty6K+Ig3AgMBAAGjEzARMA8GA1UdEwEB/wQFMAMB Af8wDQYJKoZIhvcNAQEEBQADgYEAZ9viwuaHPUCDhjc1fR/OmsMMZiCouqoEiYbC 9RAIDb/LogWK0E02PvTX72nGXuSwlG9KuefeW4i2e9vjJ+V2w/A1wcu1J5szedyQ pgCed/r8zSeUQhac0xxo7L9c3eWpexAKMnRUEzGLhQOEkbdYATAUOK8oyvyxUBkZ CayJSdM= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 0 (0x0) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Durbanville, O=Thawte, OU=Thawte Certification, CN=Thawte Timestamping CA Validity Not Before: Jan 1 00:00:00 1997 GMT Not After : Dec 31 23:59:59 2020 GMT Subject: C=ZA, ST=Western Cape, L=Durbanville, O=Thawte, OU=Thawte Certification, CN=Thawte Timestamping CA Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d6:2b:58:78:61:45:86:53:ea:34:7b:51:9c:ed: b0:e6:2e:18:0e:fe:e0:5f:a8:27:d3:b4:c9:e0:7c: 59:4e:16:0e:73:54:60:c1:7f:f6:9f:2e:e9:3a:85: 24:15:3c:db:47:04:63:c3:9e:c4:94:1a:5a:df:4c: 7a:f3:d9:43:1d:3c:10:7a:79:25:db:90:fe:f0:51: e7:30:d6:41:00:fd:9f:28:df:79:be:94:bb:9d:b6: 14:e3:23:85:d7:a9:41:e0:4c:a4:79:b0:2b:1a:8b: f2:f8:3b:8a:3e:45:ac:71:92:00:b4:90:41:98:fb: 5f:ed:fa:b7:2e:8a:f8:88:37 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: md5WithRSAEncryption 67:db:e2:c2:e6:87:3d:40:83:86:37:35:7d:1f:ce:9a:c3:0c: 66:20:a8:ba:aa:04:89:86:c2:f5:10:08:0d:bf:cb:a2:05:8a: d0:4d:36:3e:f4:d7:ef:69:c6:5e:e4:b0:94:6f:4a:b9:e7:de: 5b:88:b6:7b:db:e3:27:e5:76:c3:f0:35:c1:cb:b5:27:9b:33: 79:dc:90:a6:00:9e:77:fa:fc:cd:27:94:42:16:9c:d3:1c:68: ec:bf:5c:dd:e5:a9:7b:10:0a:32:74:54:13:31:8b:85:03:84: 91:b7:58:01:30:14:38:af:28:ca:fc:b1:50:19:19:09:ac:89: 49:d3 UTN-USER First-Network Applications =================================== MD5 Fingerprint=BF:60:59:A3:5B:BA:F6:A7:76:42:DA:6F:1A:7B:50:CF PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEZDCCA0ygAwIBAgIQRL4Mi1AAJLQR0zYwS8AzdzANBgkqhkiG9w0BAQUFADCB ozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3Qt TmV0d29yayBBcHBsaWNhdGlvbnMwHhcNOTkwNzA5MTg0ODM5WhcNMTkwNzA5MTg1 NzQ5WjCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0 IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYD VQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VS Rmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IB DwAwggEKAoIBAQCz+5Gh5DZVhawGNFugmliy+LUPBXeDrjKxdpJo7CNKyXY/45y2 N3kDuatpjQclthln5LAbGHNhSuh+zdMvZOOmfAz6F4CjDUeJT1FxL+78P/m4FoCH iZMlIJpDgmkkdihZNaEdwH+DBmQWICzTSaSFtMBhf1EI+GgVkYDLpdXuOzr0hARe YFmnjDRy7rh4xdE7EkpvfmUnuaRVxblvQ6TFHSyZwFKkeEwVs0CYCGtDxgGwenv1 axwiP8vv/6jQOkt2FZ7S0cYu49tXGzKiuG/ohqY/cKvlcJKrRB5AUPuco2LkbG6g yN7igEL66S/ozjIEj3yNtxyjNTwV3Z7DrpelAgMBAAGjgZEwgY4wCwYDVR0PBAQD AgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFPqGydvguul49Uuo1hXf8NPh ahQ8ME8GA1UdHwRIMEYwRKBCoECGPmh0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9V VE4tVVNFUkZpcnN0LU5ldHdvcmtBcHBsaWNhdGlvbnMuY3JsMA0GCSqGSIb3DQEB BQUAA4IBAQCk8yXM0dSRgyLQzDKrm5ZONJFUICU0YV8qAhXhi6r/fWRRzwr/vH3Y IWp4yy9Rb/hCHTO967V7lMPDqaAt39EpHx3+jz+7qEUqf9FuVSTiuwL7MT++6Lzs QCv4AdRWOOTKRIK1YSAhZ2X28AvnNPilwpyjXEAfhZOVBt5P1CeptqX8Fs1zMT+4 ZSfP1FMa8Kxun08FDAOBp4QpxFq9ZFdyrTvPNximmMatBrTcCKME1SmklpoSZ0qM YEWd8SOasACcaLWYUNPvji6SZbFIPiG+FTAqDbUMo2s/rn9X9R+WfN9v3YIwLGUb QErNaLly7HF27FSOH4UMAWr6pjisH8SE -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 44:be:0c:8b:50:00:24:b4:11:d3:36:30:4b:c0:33:77 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN-USERFirst-Network Applications Validity Not Before: Jul 9 18:48:39 1999 GMT Not After : Jul 9 18:57:49 2019 GMT Subject: C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN-USERFirst-Network Applications Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:b3:fb:91:a1:e4:36:55:85:ac:06:34:5b:a0:9a: 58:b2:f8:b5:0f:05:77:83:ae:32:b1:76:92:68:ec: 23:4a:c9:76:3f:e3:9c:b6:37:79:03:b9:ab:69:8d: 07:25:b6:19:67:e4:b0:1b:18:73:61:4a:e8:7e:cd: d3:2f:64:e3:a6:7c:0c:fa:17:80:a3:0d:47:89:4f: 51:71:2f:ee:fc:3f:f9:b8:16:80:87:89:93:25:20: 9a:43:82:69:24:76:28:59:35:a1:1d:c0:7f:83:06: 64:16:20:2c:d3:49:a4:85:b4:c0:61:7f:51:08:f8: 68:15:91:80:cb:a5:d5:ee:3b:3a:f4:84:04:5e:60: 59:a7:8c:34:72:ee:b8:78:c5:d1:3b:12:4a:6f:7e: 65:27:b9:a4:55:c5:b9:6f:43:a4:c5:1d:2c:99:c0: 52:a4:78:4c:15:b3:40:98:08:6b:43:c6:01:b0:7a: 7b:f5:6b:1c:22:3f:cb:ef:ff:a8:d0:3a:4b:76:15: 9e:d2:d1:c6:2e:e3:db:57:1b:32:a2:b8:6f:e8:86: a6:3f:70:ab:e5:70:92:ab:44:1e:40:50:fb:9c:a3: 62:e4:6c:6e:a0:c8:de:e2:80:42:fa:e9:2f:e8:ce: 32:04:8f:7c:8d:b7:1c:a3:35:3c:15:dd:9e:c3:ae: 97:a5 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Key Usage: Digital Signature, Non Repudiation, Certificate Sign, CRL Sign X509v3 Basic Constraints: critical CA:TRUE X509v3 Subject Key Identifier: FA:86:C9:DB:E0:BA:E9:78:F5:4B:A8:D6:15:DF:F0:D3:E1:6A:14:3C X509v3 CRL Distribution Points: URI:http://crl.usertrust.com/UTN-USERFirst-NetworkApplications.crl Signature Algorithm: sha1WithRSAEncryption a4:f3:25:cc:d1:d4:91:83:22:d0:cc:32:ab:9b:96:4e:34:91: 54:20:25:34:61:5f:2a:02:15:e1:8b:aa:ff:7d:64:51:cf:0a: ff:bc:7d:d8:21:6a:78:cb:2f:51:6f:f8:42:1d:33:bd:eb:b5: 7b:94:c3:c3:a9:a0:2d:df:d1:29:1f:1d:fe:8f:3f:bb:a8:45: 2a:7f:d1:6e:55:24:e2:bb:02:fb:31:3f:be:e8:bc:ec:40:2b: f8:01:d4:56:38:e4:ca:44:82:b5:61:20:21:67:65:f6:f0:0b: e7:34:f8:a5:c2:9c:a3:5c:40:1f:85:93:95:06:de:4f:d4:27: a9:b6:a5:fc:16:cd:73:31:3f:b8:65:27:cf:d4:53:1a:f0:ac: 6e:9f:4f:05:0c:03:81:a7:84:29:c4:5a:bd:64:57:72:ad:3b: cf:37:18:a6:98:c6:ad:06:b4:dc:08:a3:04:d5:29:a4:96:9a: 12:67:4a:8c:60:45:9d:f1:23:9a:b0:00:9c:68:b5:98:50:d3: ef:8e:2e:92:65:b1:48:3e:21:be:15:30:2a:0d:b5:0c:a3:6b: 3f:ae:7f:57:f5:1f:96:7c:df:6f:dd:82:30:2c:65:1b:40:4a: cd:68:b9:72:ec:71:76:ec:54:8e:1f:85:0c:01:6a:fa:a6:38: ac:1f:c4:84 ValiCert Class 1 VA =================== MD5 Fingerprint=65:58:AB:15:AD:57:6C:1E:A8:A7:B5:69:AC:BF:FF:EB PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0 IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG 9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIyMjM0OFoXDTE5MDYy NTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9Y LqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIiGQj4/xEjm84H9b9pGib+ TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCmDuJWBQ8Y TfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0 LBwGlN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLW I8sogTLDAHkY7FkXicnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPw nXS3qT6gpf+2SQMT2iLM7XGCK5nPOrf1LXLI -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 1 Policy Validation Authority, CN=http://www.valicert.com//Email=info@valicert.com Validity Not Before: Jun 25 22:23:48 1999 GMT Not After : Jun 25 22:23:48 2019 GMT Subject: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 1 Policy Validation Authority, CN=http://www.valicert.com//Email=info@valicert.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d8:59:82:7a:89:b8:96:ba:a6:2f:68:6f:58:2e: a7:54:1c:06:6e:f4:ea:8d:48:bc:31:94:17:f0:f3: 4e:bc:b2:b8:35:92:76:b0:d0:a5:a5:01:d7:00:03: 12:22:19:08:f8:ff:11:23:9b:ce:07:f5:bf:69:1a: 26:fe:4e:e9:d1:7f:9d:2c:40:1d:59:68:6e:a6:f8: 58:b0:9d:1a:8f:d3:3f:f1:dc:19:06:81:a8:0e:e0: 3a:dd:c8:53:45:09:06:e6:0f:70:c3:fa:40:a6:0e: e2:56:05:0f:18:4d:fc:20:82:d1:73:55:74:8d:76: 72:a0:1d:9d:1d:c0:dd:3f:71 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 50:68:3d:49:f4:2c:1c:06:94:df:95:60:7f:96:7b:17:fe:4f: 71:ad:64:c8:dd:77:d2:ef:59:55:e8:3f:e8:8e:05:2a:21:f2: 07:d2:b5:a7:52:fe:9c:b1:b6:e2:5b:77:17:40:ea:72:d6:23: cb:28:81:32:c3:00:79:18:ec:59:17:89:c9:c6:6a:1e:71:c9: fd:b7:74:a5:25:45:69:c5:48:ab:19:e1:45:8a:25:6b:19:ee: e5:bb:12:f5:7f:f7:a6:8d:51:c3:f0:9d:74:b7:a9:3e:a0:a5: ff:b6:49:03:13:da:22:cc:ed:71:82:2b:99:cf:3a:b7:f5:2d: 72:c8 ValiCert Class 2 VA =================== MD5 Fingerprint=A9:23:75:9B:BA:49:36:6E:31:C2:DB:F2:E7:66:BA:87 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0 IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG 9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMTk1NFoXDTE5MDYy NjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOOnHK5avIWZJV16vY dA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVCCSRrCl6zfN1SLUzm1NZ9 WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7RfZHM047QS v4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9v UJSZSWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTu IYEZoDJJKPTEjlbVUjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwC W/POuZ6lcg5Ktz885hZo+L7tdEy8W9ViH0Pd -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 2 Policy Validation Authority, CN=http://www.valicert.com//Email=info@valicert.com Validity Not Before: Jun 26 00:19:54 1999 GMT Not After : Jun 26 00:19:54 2019 GMT Subject: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 2 Policy Validation Authority, CN=http://www.valicert.com//Email=info@valicert.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:ce:3a:71:ca:e5:ab:c8:59:92:55:d7:ab:d8:74: 0e:f9:ee:d9:f6:55:47:59:65:47:0e:05:55:dc:eb: 98:36:3c:5c:53:5d:d3:30:cf:38:ec:bd:41:89:ed: 25:42:09:24:6b:0a:5e:b3:7c:dd:52:2d:4c:e6:d4: d6:7d:5a:59:a9:65:d4:49:13:2d:24:4d:1c:50:6f: b5:c1:85:54:3b:fe:71:e4:d3:5c:42:f9:80:e0:91: 1a:0a:5b:39:36:67:f3:3f:55:7c:1b:3f:b4:5f:64: 73:34:e3:b4:12:bf:87:64:f8:da:12:ff:37:27:c1: b3:43:bb:ef:7b:6e:2e:69:f7 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 3b:7f:50:6f:6f:50:94:99:49:62:38:38:1f:4b:f8:a5:c8:3e: a7:82:81:f6:2b:c7:e8:c5:ce:e8:3a:10:82:cb:18:00:8e:4d: bd:a8:58:7f:a1:79:00:b5:bb:e9:8d:af:41:d9:0f:34:ee:21: 81:19:a0:32:49:28:f4:c4:8e:56:d5:52:33:fd:50:d5:7e:99: 6c:03:e4:c9:4c:fc:cb:6c:ab:66:b3:4a:21:8c:e5:b5:0c:32: 3e:10:b2:cc:6c:a1:dc:9a:98:4c:02:5b:f3:ce:b9:9e:a5:72: 0e:4a:b7:3f:3c:e6:16:68:f8:be:ed:74:4c:bc:5b:d5:62:1f: 43:dd ValiCert OCSP Responder ======================= MD5 Fingerprint=D5:1E:20:5F:D1:F5:1D:82:57:08:52:39:1D:FA:8A:AD PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDSDCCArGgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBsjEkMCIGA1UEBxMbVmFs aUNlcnQgVmFsaWRhdGlvbiBOZXR3b3JrMRcwFQYDVQQKEw5WYWxpQ2VydCwgSW5j LjEsMCoGA1UECxMjQ2xhc3MgMSBWYWxpZGF0aW9uIEF1dGhvcml0eSAtIE9DU1Ax ITAfBgNVBAMTGGh0dHA6Ly93d3cudmFsaWNlcnQubmV0LzEgMB4GCSqGSIb3DQEJ ARYRaW5mb0B2YWxpY2VydC5jb20wHhcNMDAwMjEyMTE1MDA1WhcNMDUwMjEwMTE1 MDA1WjCBsjEkMCIGA1UEBxMbVmFsaUNlcnQgVmFsaWRhdGlvbiBOZXR3b3JrMRcw FQYDVQQKEw5WYWxpQ2VydCwgSW5jLjEsMCoGA1UECxMjQ2xhc3MgMSBWYWxpZGF0 aW9uIEF1dGhvcml0eSAtIE9DU1AxITAfBgNVBAMTGGh0dHA6Ly93d3cudmFsaWNl cnQubmV0LzEgMB4GCSqGSIb3DQEJARYRaW5mb0B2YWxpY2VydC5jb20wgZ8wDQYJ KoZIhvcNAQEBBQADgY0AMIGJAoGBAMeML6fDQIc7PdfEmlgUZArDCDliGs/S66nx aXSKyg5adsyiUk7Q88R6tfimHLujp6RTh1uNwAC71WYk53TGFsivyANi1TKHolKR RJSVqEdDbaVInPZMddVPYufJ/3v0JIynvCh2tTKgJXO3Ry94+Eb5hxTwd/wKd+hP /Ywf+mLZAgMBAAGjbDBqMA8GCSsGAQUFBzABBQQCBQAwEwYDVR0lBAwwCgYIKwYB BQUHAwkwCwYDVR0PBAQDAgGGMDUGCCsGAQUFBwEBBCkwJzAlBggrBgEFBQcwAYYZ aHR0cDovL29jc3AyLnZhbGljZXJ0Lm5ldDANBgkqhkiG9w0BAQUFAAOBgQAVxeC4 NHISBiCoYpWT0byTupCr3E6Njo2YTOMy9Ss/s5f7qqKtQJetaL1crVMO0KazDawa mY2qMB7PDnD/ArB3ZYPN2gdcUs1Zu6LI4rQWg4/UlXmTLei/RJMxkjDTNDTxEPsh rC70w11kY3qZ4ZqrQh1IZqZ3N7hVPK3+ZbBi6Q== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: L=ValiCert Validation Network, O=ValiCert, Inc., OU=Class 1 Validation Authority - OCSP, CN=http://www.valicert.net//Email=info@valicert.com Validity Not Before: Feb 12 11:50:05 2000 GMT Not After : Feb 10 11:50:05 2005 GMT Subject: L=ValiCert Validation Network, O=ValiCert, Inc., OU=Class 1 Validation Authority - OCSP, CN=http://www.valicert.net//Email=info@valicert.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c7:8c:2f:a7:c3:40:87:3b:3d:d7:c4:9a:58:14: 64:0a:c3:08:39:62:1a:cf:d2:eb:a9:f1:69:74:8a: ca:0e:5a:76:cc:a2:52:4e:d0:f3:c4:7a:b5:f8:a6: 1c:bb:a3:a7:a4:53:87:5b:8d:c0:00:bb:d5:66:24: e7:74:c6:16:c8:af:c8:03:62:d5:32:87:a2:52:91: 44:94:95:a8:47:43:6d:a5:48:9c:f6:4c:75:d5:4f: 62:e7:c9:ff:7b:f4:24:8c:a7:bc:28:76:b5:32:a0: 25:73:b7:47:2f:78:f8:46:f9:87:14:f0:77:fc:0a: 77:e8:4f:fd:8c:1f:fa:62:d9 Exponent: 65537 (0x10001) X509v3 extensions: noCheck: .. X509v3 Extended Key Usage: OCSP Signing X509v3 Key Usage: Digital Signature, Certificate Sign, CRL Sign Authority Information Access: OCSP - URI:http://ocsp2.valicert.net Signature Algorithm: sha1WithRSAEncryption 15:c5:e0:b8:34:72:12:06:20:a8:62:95:93:d1:bc:93:ba:90: ab:dc:4e:8d:8e:8d:98:4c:e3:32:f5:2b:3f:b3:97:fb:aa:a2: ad:40:97:ad:68:bd:5c:ad:53:0e:d0:a6:b3:0d:ac:1a:99:8d: aa:30:1e:cf:0e:70:ff:02:b0:77:65:83:cd:da:07:5c:52:cd: 59:bb:a2:c8:e2:b4:16:83:8f:d4:95:79:93:2d:e8:bf:44:93: 31:92:30:d3:34:34:f1:10:fb:21:ac:2e:f4:c3:5d:64:63:7a: 99:e1:9a:ab:42:1d:48:66:a6:77:37:b8:55:3c:ad:fe:65:b0: 62:e9 Verisign/RSA Secure Server CA ============================= MD5 Fingerprint=74:7B:82:03:43:F0:00:9E:6B:B3:EC:47:BF:85:A5:93 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICNDCCAaECEAKtZn5ORf5eV288mBle3cAwDQYJKoZIhvcNAQECBQAwXzELMAkG A1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYD VQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk0 MTEwOTAwMDAwMFoXDTEwMDEwNzIzNTk1OVowXzELMAkGA1UEBhMCVVMxIDAeBgNV BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQLEyVTZWN1cmUgU2Vy dmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGbMA0GCSqGSIb3DQEBAQUAA4GJ ADCBhQJ+AJLOesGugz5aqomDV6wlAXYMra6OLDfO6zV4ZFQD5YRAUcm/jwjiioII 0haGN1XpsSECrXZogZoFokvJSyVmIlZsiAeP94FZbYQHZXATcXY+m3dM41CJVphI uR2nKRoTLkoRWZweFdVJVCxzOmmCsZc5nG1wZ0jl3S3WyB57AgMBAAEwDQYJKoZI hvcNAQECBQADfgBl3X7hsuyw4jrg7HFGmhkRuNPHoLQDQCYCPgmc4RKz0Vr2N6W3 YQO2WxZpO8ZECAyIUwxrl0nHPjXcbLm7qt9cuzovk2C2qUtN8iD3zV9/ZHuO3ABc 1/p3yjkWWW8O6tO1g39NTUJWdrTJXwT4OPjr0l91X817/OWOgHz8UA== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 02:ad:66:7e:4e:45:fe:5e:57:6f:3c:98:19:5e:dd:c0 Signature Algorithm: md2WithRSAEncryption Issuer: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority Validity Not Before: Nov 9 00:00:00 1994 GMT Not After : Jan 7 23:59:59 2010 GMT Subject: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1000 bit) Modulus (1000 bit): 00:92:ce:7a:c1:ae:83:3e:5a:aa:89:83:57:ac:25: 01:76:0c:ad:ae:8e:2c:37:ce:eb:35:78:64:54:03: e5:84:40:51:c9:bf:8f:08:e2:8a:82:08:d2:16:86: 37:55:e9:b1:21:02:ad:76:68:81:9a:05:a2:4b:c9: 4b:25:66:22:56:6c:88:07:8f:f7:81:59:6d:84:07: 65:70:13:71:76:3e:9b:77:4c:e3:50:89:56:98:48: b9:1d:a7:29:1a:13:2e:4a:11:59:9c:1e:15:d5:49: 54:2c:73:3a:69:82:b1:97:39:9c:6d:70:67:48:e5: dd:2d:d6:c8:1e:7b Exponent: 65537 (0x10001) Signature Algorithm: md2WithRSAEncryption 65:dd:7e:e1:b2:ec:b0:e2:3a:e0:ec:71:46:9a:19:11:b8:d3: c7:a0:b4:03:40:26:02:3e:09:9c:e1:12:b3:d1:5a:f6:37:a5: b7:61:03:b6:5b:16:69:3b:c6:44:08:0c:88:53:0c:6b:97:49: c7:3e:35:dc:6c:b9:bb:aa:df:5c:bb:3a:2f:93:60:b6:a9:4b: 4d:f2:20:f7:cd:5f:7f:64:7b:8e:dc:00:5c:d7:fa:77:ca:39: 16:59:6f:0e:ea:d3:b5:83:7f:4d:4d:42:56:76:b4:c9:5f:04: f8:38:f8:eb:d2:5f:75:5f:cd:7b:fc:e5:8e:80:7c:fc:50 Verisign Class 1 Public Primary Certification Authority ======================================================= MD5 Fingerprint=97:60:E8:57:5F:D3:50:47:E5:43:0C:94:36:8A:B0:62 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICPTCCAaYCEQDNun9W8N/kvFT+IqyzcqpVMA0GCSqGSIb3DQEBAgUAMF8xCzAJ BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xh c3MgMSBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05 NjAxMjkwMDAwMDBaFw0yODA4MDEyMzU5NTlaMF8xCzAJBgNVBAYTAlVTMRcwFQYD VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMSBQdWJsaWMgUHJp bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOB jQAwgYkCgYEA5Rm/baNWYS2ZSHH2Z965jeu3noaACpEO+jglr0aIguVzqKCbJF0N H8xlbgyw0FaEGIeaBpsQoXPftFg5a27B9hXVqKg/qhIGjTGsf7A01480Z4gJzRQR 4k5FVmkfeAKA2txHkSm7NsljXMXg1y2He6G3MrB7MLoqLzGq7qNn2tsCAwEAATAN BgkqhkiG9w0BAQIFAAOBgQBMP7iLxmjf7kMzDl3ppssHhE16M/+SG/Q2rdiVIjZo EWx8QszznC7EBz8UsA9P/5CSdvnivErpj82ggAr3xSnxgiJduLHdgSOjeyUVRjB5 FvjqBUuUfx3CHMjjt/QQQDwTw18fU+hI5Ia0e6E1sHslurjTjqs/OJ0ANACY89Fx lA== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: cd:ba:7f:56:f0:df:e4:bc:54:fe:22:ac:b3:72:aa:55 Signature Algorithm: md2WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority Validity Not Before: Jan 29 00:00:00 1996 GMT Not After : Aug 1 23:59:59 2028 GMT Subject: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:e5:19:bf:6d:a3:56:61:2d:99:48:71:f6:67:de: b9:8d:eb:b7:9e:86:80:0a:91:0e:fa:38:25:af:46: 88:82:e5:73:a8:a0:9b:24:5d:0d:1f:cc:65:6e:0c: b0:d0:56:84:18:87:9a:06:9b:10:a1:73:df:b4:58: 39:6b:6e:c1:f6:15:d5:a8:a8:3f:aa:12:06:8d:31: ac:7f:b0:34:d7:8f:34:67:88:09:cd:14:11:e2:4e: 45:56:69:1f:78:02:80:da:dc:47:91:29:bb:36:c9: 63:5c:c5:e0:d7:2d:87:7b:a1:b7:32:b0:7b:30:ba: 2a:2f:31:aa:ee:a3:67:da:db Exponent: 65537 (0x10001) Signature Algorithm: md2WithRSAEncryption 4c:3f:b8:8b:c6:68:df:ee:43:33:0e:5d:e9:a6:cb:07:84:4d: 7a:33:ff:92:1b:f4:36:ad:d8:95:22:36:68:11:6c:7c:42:cc: f3:9c:2e:c4:07:3f:14:b0:0f:4f:ff:90:92:76:f9:e2:bc:4a: e9:8f:cd:a0:80:0a:f7:c5:29:f1:82:22:5d:b8:b1:dd:81:23: a3:7b:25:15:46:30:79:16:f8:ea:05:4b:94:7f:1d:c2:1c:c8: e3:b7:f4:10:40:3c:13:c3:5f:1f:53:e8:48:e4:86:b4:7b:a1: 35:b0:7b:25:ba:b8:d3:8e:ab:3f:38:9d:00:34:00:98:f3:d1: 71:94 Verisign Class 1 Public Primary Certification Authority - G2 ============================================================ MD5 Fingerprint=DB:23:3D:F9:69:FA:4B:B9:95:80:44:73:5E:7D:41:83 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDAjCCAmsCEEzH6qqYPnHTkxD4PTqJkZIwDQYJKoZIhvcNAQEFBQAwgcExCzAJ BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh c3MgMSBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMg UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5 MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB AQUAA4GNADCBiQKBgQCq0Lq+Fi24g9TK0g+8djHKlNgdk4xWArzZbxpvUjZudVYK VdPfQ4chEWWKfo+9Id5rMj8bhDSVBZ1BNeuS65bdqlk/AVNtmU/t5eIqWpDBucSm Fc/IReumXY6cPvBkJHalzasab7bYe1FhbqZ/h8jit+U03EGI6glAvnOSPWvndQID AQABMA0GCSqGSIb3DQEBBQUAA4GBAKlPww3HZ74sy9mozS11534Vnjty637rXC0J h9ZrbWB85a7FkCMMXErQr7Fd88e2CtvgFZMN3QO8x3aKtd1Pw5sTdbgBwObJW2ul uIncrKTdcu1OofdPvAbT6shkdHvClUGcZXNY8ZCaPGqxmMnEh7zPRW1F4m4iP/68 DzFc6PLZ -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 4c:c7:ea:aa:98:3e:71:d3:93:10:f8:3d:3a:89:91:92 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Validity Not Before: May 18 00:00:00 1998 GMT Not After : Aug 1 23:59:59 2028 GMT Subject: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:aa:d0:ba:be:16:2d:b8:83:d4:ca:d2:0f:bc:76: 31:ca:94:d8:1d:93:8c:56:02:bc:d9:6f:1a:6f:52: 36:6e:75:56:0a:55:d3:df:43:87:21:11:65:8a:7e: 8f:bd:21:de:6b:32:3f:1b:84:34:95:05:9d:41:35: eb:92:eb:96:dd:aa:59:3f:01:53:6d:99:4f:ed:e5: e2:2a:5a:90:c1:b9:c4:a6:15:cf:c8:45:eb:a6:5d: 8e:9c:3e:f0:64:24:76:a5:cd:ab:1a:6f:b6:d8:7b: 51:61:6e:a6:7f:87:c8:e2:b7:e5:34:dc:41:88:ea: 09:40:be:73:92:3d:6b:e7:75 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption a9:4f:c3:0d:c7:67:be:2c:cb:d9:a8:cd:2d:75:e7:7e:15:9e: 3b:72:eb:7e:eb:5c:2d:09:87:d6:6b:6d:60:7c:e5:ae:c5:90: 23:0c:5c:4a:d0:af:b1:5d:f3:c7:b6:0a:db:e0:15:93:0d:dd: 03:bc:c7:76:8a:b5:dd:4f:c3:9b:13:75:b8:01:c0:e6:c9:5b: 6b:a5:b8:89:dc:ac:a4:dd:72:ed:4e:a1:f7:4f:bc:06:d3:ea: c8:64:74:7b:c2:95:41:9c:65:73:58:f1:90:9a:3c:6a:b1:98: c9:c4:87:bc:cf:45:6d:45:e2:6e:22:3f:fe:bc:0f:31:5c:e8: f2:d9 Verisign Class 1 Public Primary Certification Authority - G3 ============================================================ MD5 Fingerprint=B1:47:BC:18:57:D1:18:A0:78:2D:EC:71:E8:2A:95:73 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEGjCCAwICEQCLW3VWhFSFCwDPrzhIzrGkMA0GCSqGSIb3DQEBBQUAMIHKMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT aWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu IENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN2E1Lm0+afY8wR4 nN493GwTFtl63SRRZsDHJlkNrAYIwpTRMx/wgzUfbhvI3qpuFU5UJ+/EbRrsC+MO 8ESlV8dAWB6jRx9x7GD2bZTIGDnt/kIYVt/kTEkQeE4BdjVjEjbdZrwBBDajVWjV ojYJrKshJlQGrT/KFOCsyq0GHZXi+J3x4GD/wn91K0zM2v6HmSHquv4+VNfSWXjb PG7PoBMAGrgnoeS+Z5bKoMWznN3JdZ7rMJpfo83ZrngZPyPpXNspva1VyBtUjGP2 6KbqxzcSXKMpHgLZ2x87tNcPVkeBFQRKr4Mn0cVYiMHd9qqnoxjaaKptEVHhv2Vr n5Z20T0CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAq2aN17O6x5q25lXQBfGfMY1a qtmqRiYPce2lrVNWYgFHKkTp/j90CxObufRNG7LRX7K20ohcs5/Ny9Sn2WCVhDr4 wTcdYcrnsMXlkdpUpqwxga6X3s0IrLjAl4B/bnKk52kTlWUfxJM8/XmPBNQ+T+r3 ns7NZ3xPZQL/kYVUc8f/NveGLezQXk//EZ9yBta4GvFMDSZl4kSAHsef493oCtrs pSCAaWihT37ha88HQfqDjrw43bAuEbFrskLMmrz5SCJ5ShkPshw+IHTZasO+8ih4 E1Z5T21Q6huwtVexN2ZYI/PcD98Kh8TvhgXVOBRgmaNL3gaWcSzy27YfpO8/7g== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 8b:5b:75:56:84:54:85:0b:00:cf:af:38:48:ce:b1:a4 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 1 Public Primary Certification Authority - G3 Validity Not Before: Oct 1 00:00:00 1999 GMT Not After : Jul 16 23:59:59 2036 GMT Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 1 Public Primary Certification Authority - G3 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:dd:84:d4:b9:b4:f9:a7:d8:f3:04:78:9c:de:3d: dc:6c:13:16:d9:7a:dd:24:51:66:c0:c7:26:59:0d: ac:06:08:c2:94:d1:33:1f:f0:83:35:1f:6e:1b:c8: de:aa:6e:15:4e:54:27:ef:c4:6d:1a:ec:0b:e3:0e: f0:44:a5:57:c7:40:58:1e:a3:47:1f:71:ec:60:f6: 6d:94:c8:18:39:ed:fe:42:18:56:df:e4:4c:49:10: 78:4e:01:76:35:63:12:36:dd:66:bc:01:04:36:a3: 55:68:d5:a2:36:09:ac:ab:21:26:54:06:ad:3f:ca: 14:e0:ac:ca:ad:06:1d:95:e2:f8:9d:f1:e0:60:ff: c2:7f:75:2b:4c:cc:da:fe:87:99:21:ea:ba:fe:3e: 54:d7:d2:59:78:db:3c:6e:cf:a0:13:00:1a:b8:27: a1:e4:be:67:96:ca:a0:c5:b3:9c:dd:c9:75:9e:eb: 30:9a:5f:a3:cd:d9:ae:78:19:3f:23:e9:5c:db:29: bd:ad:55:c8:1b:54:8c:63:f6:e8:a6:ea:c7:37:12: 5c:a3:29:1e:02:d9:db:1f:3b:b4:d7:0f:56:47:81: 15:04:4a:af:83:27:d1:c5:58:88:c1:dd:f6:aa:a7: a3:18:da:68:aa:6d:11:51:e1:bf:65:6b:9f:96:76: d1:3d Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption ab:66:8d:d7:b3:ba:c7:9a:b6:e6:55:d0:05:f1:9f:31:8d:5a: aa:d9:aa:46:26:0f:71:ed:a5:ad:53:56:62:01:47:2a:44:e9: fe:3f:74:0b:13:9b:b9:f4:4d:1b:b2:d1:5f:b2:b6:d2:88:5c: b3:9f:cd:cb:d4:a7:d9:60:95:84:3a:f8:c1:37:1d:61:ca:e7: b0:c5:e5:91:da:54:a6:ac:31:81:ae:97:de:cd:08:ac:b8:c0: 97:80:7f:6e:72:a4:e7:69:13:95:65:1f:c4:93:3c:fd:79:8f: 04:d4:3e:4f:ea:f7:9e:ce:cd:67:7c:4f:65:02:ff:91:85:54: 73:c7:ff:36:f7:86:2d:ec:d0:5e:4f:ff:11:9f:72:06:d6:b8: 1a:f1:4c:0d:26:65:e2:44:80:1e:c7:9f:e3:dd:e8:0a:da:ec: a5:20:80:69:68:a1:4f:7e:e1:6b:cf:07:41:fa:83:8e:bc:38: dd:b0:2e:11:b1:6b:b2:42:cc:9a:bc:f9:48:22:79:4a:19:0f: b2:1c:3e:20:74:d9:6a:c3:be:f2:28:78:13:56:79:4f:6d:50: ea:1b:b0:b5:57:b1:37:66:58:23:f3:dc:0f:df:0a:87:c4:ef: 86:05:d5:38:14:60:99:a3:4b:de:06:96:71:2c:f2:db:b6:1f: a4:ef:3f:ee Verisign Class 1 Public Primary OCSP Responder ============================================== MD5 Fingerprint=7E:6F:3A:53:1B:7C:BE:B0:30:DB:43:1E:1E:94:89:B2 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDnjCCAwegAwIBAgIQK2jUo0aexTsoCas4XX8nIDANBgkqhkiG9w0BAQUFADBf MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT LkNsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw HhcNMDAwODA0MDAwMDAwWhcNMDQwODAzMjM1OTU5WjCBpzEXMBUGA1UEChMOVmVy aVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5 BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20v UlBBIChjKTAwMS4wLAYDVQQDEyVDbGFzcyAxIFB1YmxpYyBQcmltYXJ5IE9DU1Ag UmVzcG9uZGVyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC57V56Ondfzl86 UvzNZPdxtW9qlsZZklWUXS9bLsER6iaKy6eBPPZaRN56Ey/9WlHZezcmSsAnPwQD albBgyzhb1upVFAkSsYuekyhWzdUJCExH6F4GHansXDaItBq/gdiQMb39pt9DAa4 S8co5GYjhFHvRreT2IEzy+U2rMboBQIDAQABo4IBEDCCAQwwIAYDVR0RBBkwF6QV MBMxETAPBgNVBAMTCE9DU1AgMS0xMDEGA1UdHwQqMCgwJqAkoCKGIGh0dHA6Ly9j cmwudmVyaXNpZ24uY29tL3BjYTEuY3JsMBMGA1UdJQQMMAoGCCsGAQUFBwMJMEIG CCsGAQUFBwEBBDYwNDAyBggrBgEFBQcwAaYmFiRodHRwOi8vb2NzcC52ZXJpc2ln bi5jb20vb2NzcC9zdGF0dXMwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgG CCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vUlBBMAkGA1UdEwQC MAAwCwYDVR0PBAQDAgeAMA0GCSqGSIb3DQEBBQUAA4GBAHCQ3bjkvlMXfH8C6dX3 i5mTMWCNfuZgayTvYKzSzpHegG0JpNO4OOVEynJeDS3Bd5y9LAN4KY2kpXeH9fEr Jq3MB2w6VFoo4AnzTQoEytRYaQuns/XdAaXn3PAfusFdkI2z6k/BEVmXarIrE7Ha rZehs7GgIFvKMquNzxPwHynD -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 2b:68:d4:a3:46:9e:c5:3b:28:09:ab:38:5d:7f:27:20 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority Validity Not Before: Aug 4 00:00:00 2000 GMT Not After : Aug 3 23:59:59 2004 GMT Subject: O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/RPA (c)00, CN=Class 1 Public Primary OCSP Responder Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:b9:ed:5e:7a:3a:77:5f:ce:5f:3a:52:fc:cd:64: f7:71:b5:6f:6a:96:c6:59:92:55:94:5d:2f:5b:2e: c1:11:ea:26:8a:cb:a7:81:3c:f6:5a:44:de:7a:13: 2f:fd:5a:51:d9:7b:37:26:4a:c0:27:3f:04:03:6a: 56:c1:83:2c:e1:6f:5b:a9:54:50:24:4a:c6:2e:7a: 4c:a1:5b:37:54:24:21:31:1f:a1:78:18:76:a7:b1: 70:da:22:d0:6a:fe:07:62:40:c6:f7:f6:9b:7d:0c: 06:b8:4b:c7:28:e4:66:23:84:51:ef:46:b7:93:d8: 81:33:cb:e5:36:ac:c6:e8:05 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Alternative Name: DirName:/CN=OCSP 1-1 X509v3 CRL Distribution Points: URI:http://crl.verisign.com/pca1.crl X509v3 Extended Key Usage: OCSP Signing Authority Information Access: OCSP - URI:$http://ocsp.verisign.com/ocsp/status X509v3 Certificate Policies: Policy: 2.16.840.1.113733.1.7.1.1 CPS: https://www.verisign.com/RPA X509v3 Basic Constraints: CA:FALSE X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 70:90:dd:b8:e4:be:53:17:7c:7f:02:e9:d5:f7:8b:99:93:31: 60:8d:7e:e6:60:6b:24:ef:60:ac:d2:ce:91:de:80:6d:09:a4: d3:b8:38:e5:44:ca:72:5e:0d:2d:c1:77:9c:bd:2c:03:78:29: 8d:a4:a5:77:87:f5:f1:2b:26:ad:cc:07:6c:3a:54:5a:28:e0: 09:f3:4d:0a:04:ca:d4:58:69:0b:a7:b3:f5:dd:01:a5:e7:dc: f0:1f:ba:c1:5d:90:8d:b3:ea:4f:c1:11:59:97:6a:b2:2b:13: b1:da:ad:97:a1:b3:b1:a0:20:5b:ca:32:ab:8d:cf:13:f0:1f: 29:c3 Verisign Class 2 Public Primary Certification Authority ======================================================= MD5 Fingerprint=B3:9C:25:B1:C3:2E:32:53:80:15:30:9D:4D:02:77:3E PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICPDCCAaUCEC0b/EoXjaOR6+f/9YtFvgswDQYJKoZIhvcNAQECBQAwXzELMAkG A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz cyAyIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2 MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAyIFB1YmxpYyBQcmlt YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQC2WoujDWojg4BrzzmH9CETMwZMJaLtVRKXxaeAufqDwSCg+i8VDXyh YGt+eSz6Bg86rvYbb7HS/y8oUl+DfUvEerf4Zh+AVPy3wo5ZShRXRtGak75BkQO7 FYCTXOvnzAhsPz6zSvz/S2wj1VCCJkQZjiPDceoZJEcEnnW/yKYAHwIDAQABMA0G CSqGSIb3DQEBAgUAA4GBAIobK/o5wXTXXtgZZKJYSi034DNHD6zt96rbHuSLBlxg J8pFUs4W7z8GZOeUaHxgMxURaa+dYo2jA1Rrpr7l7gUYYAS/QoD90KioHgE796Nc r6Pc5iaAIzy4RHT3Cq5Ji2F4zCS/iIqnDupzGUH9TQPwiNHleI2lKk/2lw0Xd8rY -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 2d:1b:fc:4a:17:8d:a3:91:eb:e7:ff:f5:8b:45:be:0b Signature Algorithm: md2WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 2 Public Primary Certification Authority Validity Not Before: Jan 29 00:00:00 1996 GMT Not After : Aug 1 23:59:59 2028 GMT Subject: C=US, O=VeriSign, Inc., OU=Class 2 Public Primary Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:b6:5a:8b:a3:0d:6a:23:83:80:6b:cf:39:87:f4: 21:13:33:06:4c:25:a2:ed:55:12:97:c5:a7:80:b9: fa:83:c1:20:a0:fa:2f:15:0d:7c:a1:60:6b:7e:79: 2c:fa:06:0f:3a:ae:f6:1b:6f:b1:d2:ff:2f:28:52: 5f:83:7d:4b:c4:7a:b7:f8:66:1f:80:54:fc:b7:c2: 8e:59:4a:14:57:46:d1:9a:93:be:41:91:03:bb:15: 80:93:5c:eb:e7:cc:08:6c:3f:3e:b3:4a:fc:ff:4b: 6c:23:d5:50:82:26:44:19:8e:23:c3:71:ea:19:24: 47:04:9e:75:bf:c8:a6:00:1f Exponent: 65537 (0x10001) Signature Algorithm: md2WithRSAEncryption 8a:1b:2b:fa:39:c1:74:d7:5e:d8:19:64:a2:58:4a:2d:37:e0: 33:47:0f:ac:ed:f7:aa:db:1e:e4:8b:06:5c:60:27:ca:45:52: ce:16:ef:3f:06:64:e7:94:68:7c:60:33:15:11:69:af:9d:62: 8d:a3:03:54:6b:a6:be:e5:ee:05:18:60:04:bf:42:80:fd:d0: a8:a8:1e:01:3b:f7:a3:5c:af:a3:dc:e6:26:80:23:3c:b8:44: 74:f7:0a:ae:49:8b:61:78:cc:24:bf:88:8a:a7:0e:ea:73:19: 41:fd:4d:03:f0:88:d1:e5:78:8d:a5:2a:4f:f6:97:0d:17:77: ca:d8 Verisign Class 2 Public Primary Certification Authority - G2 ============================================================ MD5 Fingerprint=2D:BB:E5:25:D3:D1:65:82:3A:B7:0E:FA:E6:EB:E2:E1 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0Ns YXNzIDIgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH MjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y aXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazAe Fw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJVUzEX MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGlj IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMx KGMpIDE5OTggVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s eTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazCBnzANBgkqhkiG9w0B AQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjxnNuX6Zr8wgQGE75fUsjM HiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRCwiNPStjw DqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cC AwEAATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9ji nb3/7aHmZuovCfTK1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAX rXfMSTWqz9iP0b63GJZHc2pUIjRkLbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnIn jBJ7xUS0rg== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: b9:2f:60:cc:88:9f:a1:7a:46:09:b8:5b:70:6c:8a:af Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 2 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Validity Not Before: May 18 00:00:00 1998 GMT Not After : Aug 1 23:59:59 2028 GMT Subject: C=US, O=VeriSign, Inc., OU=Class 2 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:a7:88:01:21:74:2c:e7:1a:03:f0:98:e1:97:3c: 0f:21:08:f1:9c:db:97:e9:9a:fc:c2:04:06:13:be: 5f:52:c8:cc:1e:2c:12:56:2c:b8:01:69:2c:cc:99: 1f:ad:b0:96:ae:79:04:f2:13:39:c1:7b:98:ba:08: 2c:e8:c2:84:13:2c:aa:69:e9:09:f4:c7:a9:02:a4: 42:c2:23:4f:4a:d8:f0:0e:a2:fb:31:6c:c9:e6:6f: 99:27:07:f5:e6:f4:4c:78:9e:6d:eb:46:86:fa:b9: 86:c9:54:f2:b2:c4:af:d4:46:1c:5a:c9:15:30:ff: 0d:6c:f5:2d:0e:6d:ce:7f:77 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 72:2e:f9:7f:d1:f1:71:fb:c4:9e:f6:c5:5e:51:8a:40:98:b8: 68:f8:9b:1c:83:d8:e2:9d:bd:ff:ed:a1:e6:66:ea:2f:09:f4: ca:d7:ea:a5:2b:95:f6:24:60:86:4d:44:2e:83:a5:c4:2d:a0: d3:ae:78:69:6f:72:da:6c:ae:08:f0:63:92:37:e6:bb:c4:30: 17:ad:77:cc:49:35:aa:cf:d8:8f:d1:be:b7:18:96:47:73:6a: 54:22:34:64:2d:b6:16:9b:59:5b:b4:51:59:3a:b3:0b:14:f4: 12:df:67:a0:f4:ad:32:64:5e:b1:46:72:27:8c:12:7b:c5:44: b4:ae Verisign Class 2 Public Primary Certification Authority - G3 ============================================================ MD5 Fingerprint=F8:BE:C4:63:22:C9:A8:46:74:8B:B8:1D:1E:4A:2B:F6 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEGTCCAwECEGFwy0mMX5hFKeewptlQW3owDQYJKoZIhvcNAQEFBQAwgcoxCzAJ BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVy aVNpZ24gVHJ1c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24s IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNp Z24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 eSAtIEczMB4XDTk5MTAwMTAwMDAwMFoXDTM2MDcxNjIzNTk1OVowgcoxCzAJBgNV BAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNp Z24gVHJ1c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIElu Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24g Q2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt IEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArwoNwtUs22e5LeWU J92lvuCwTY+zYVY81nzD9M0+hsuiiOLh2KRpxbXiv8GmR1BeRjmL1Za6tW8UvxDO JxOeBUebMXoT2B/Z0wI3i60sR/COgQanDTAM6/c8DyAd3HJG7qUCyFvDyVZpTMUY wZF7C9UTAJu878NIPkZgIIUq1ZC2zYugzDLdt/1AVbJQHFauzI13TccgTacxdu9o koqQHgiBVrKtaaNS0MscxCM9H5n+TOgWY47GCI72MfbS+uV23bUckqNJzc0BzWjN qWm6o+sdDZykIKbBoMXRRkwXbdKsZj+WjOCE1Db/IlnF+RFgqF8EffIa9iVCYQ/E Srg+iQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQA0JhU8wI1NQ0kdvekhktdmnLfe xbjQ5F1fdiLAJvmEOjr5jLX77GDx6M4EsMjdpwOPMPOY36TmpDHf0xwLRtxyID+u 7gU8pDM/CzmscHhzS5kr3zDCVLCoO1Wh/hYozUK9dG6A2ydEp85EXdQbkJgNHkKU sQAsBNB0owIFImNjzYO1+8FtYmtpdf1dcEG59b98377BMnMiIYtYgXsVkXq642RI sH/7NiXaldDxJBQX3RiAa0YjOVT1jmIJBB2UkKab5iXiQkWquJCtvgiPqQtCGJTP cjnhsUPgKM+351psE2tJs//jGHyJizNdrDPXp/naOlXJWBD5qu9ats9LS98q -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 61:70:cb:49:8c:5f:98:45:29:e7:b0:a6:d9:50:5b:7a Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 2 Public Primary Certification Authority - G3 Validity Not Before: Oct 1 00:00:00 1999 GMT Not After : Jul 16 23:59:59 2036 GMT Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 2 Public Primary Certification Authority - G3 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:af:0a:0d:c2:d5:2c:db:67:b9:2d:e5:94:27:dd: a5:be:e0:b0:4d:8f:b3:61:56:3c:d6:7c:c3:f4:cd: 3e:86:cb:a2:88:e2:e1:d8:a4:69:c5:b5:e2:bf:c1: a6:47:50:5e:46:39:8b:d5:96:ba:b5:6f:14:bf:10: ce:27:13:9e:05:47:9b:31:7a:13:d8:1f:d9:d3:02: 37:8b:ad:2c:47:f0:8e:81:06:a7:0d:30:0c:eb:f7: 3c:0f:20:1d:dc:72:46:ee:a5:02:c8:5b:c3:c9:56: 69:4c:c5:18:c1:91:7b:0b:d5:13:00:9b:bc:ef:c3: 48:3e:46:60:20:85:2a:d5:90:b6:cd:8b:a0:cc:32: dd:b7:fd:40:55:b2:50:1c:56:ae:cc:8d:77:4d:c7: 20:4d:a7:31:76:ef:68:92:8a:90:1e:08:81:56:b2: ad:69:a3:52:d0:cb:1c:c4:23:3d:1f:99:fe:4c:e8: 16:63:8e:c6:08:8e:f6:31:f6:d2:fa:e5:76:dd:b5: 1c:92:a3:49:cd:cd:01:cd:68:cd:a9:69:ba:a3:eb: 1d:0d:9c:a4:20:a6:c1:a0:c5:d1:46:4c:17:6d:d2: ac:66:3f:96:8c:e0:84:d4:36:ff:22:59:c5:f9:11: 60:a8:5f:04:7d:f2:1a:f6:25:42:61:0f:c4:4a:b8: 3e:89 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 34:26:15:3c:c0:8d:4d:43:49:1d:bd:e9:21:92:d7:66:9c:b7: de:c5:b8:d0:e4:5d:5f:76:22:c0:26:f9:84:3a:3a:f9:8c:b5: fb:ec:60:f1:e8:ce:04:b0:c8:dd:a7:03:8f:30:f3:98:df:a4: e6:a4:31:df:d3:1c:0b:46:dc:72:20:3f:ae:ee:05:3c:a4:33: 3f:0b:39:ac:70:78:73:4b:99:2b:df:30:c2:54:b0:a8:3b:55: a1:fe:16:28:cd:42:bd:74:6e:80:db:27:44:a7:ce:44:5d:d4: 1b:90:98:0d:1e:42:94:b1:00:2c:04:d0:74:a3:02:05:22:63: 63:cd:83:b5:fb:c1:6d:62:6b:69:75:fd:5d:70:41:b9:f5:bf: 7c:df:be:c1:32:73:22:21:8b:58:81:7b:15:91:7a:ba:e3:64: 48:b0:7f:fb:36:25:da:95:d0:f1:24:14:17:dd:18:80:6b:46: 23:39:54:f5:8e:62:09:04:1d:94:90:a6:9b:e6:25:e2:42:45: aa:b8:90:ad:be:08:8f:a9:0b:42:18:94:cf:72:39:e1:b1:43: e0:28:cf:b7:e7:5a:6c:13:6b:49:b3:ff:e3:18:7c:89:8b:33: 5d:ac:33:d7:a7:f9:da:3a:55:c9:58:10:f9:aa:ef:5a:b6:cf: 4b:4b:df:2a Verisign Class 2 Public Primary OCSP Responder ============================================== MD5 Fingerprint=F3:45:BD:10:96:0D:85:4B:EF:9F:11:62:34:A7:5E:B5 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDnjCCAwegAwIBAgIQCUYX5h3Y1BygDKBi6HmKpzANBgkqhkiG9w0BAQUFADBf MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT LkNsYXNzIDIgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw HhcNMDAwODAxMDAwMDAwWhcNMDQwNzMxMjM1OTU5WjCBpzEXMBUGA1UEChMOVmVy aVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5 BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20v UlBBIChjKTAwMS4wLAYDVQQDEyVDbGFzcyAyIFB1YmxpYyBQcmltYXJ5IE9DU1Ag UmVzcG9uZGVyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQymMxYX9ENHwF fQs9apDLeUt3Cj9LxyPlwGItfpx+PoiHkdCs6E1Jh6KWkIrdBKUCP4yb6Yn+YqDi Wr3I3bR45qVCkwhnAcAgTddc9F3as+M3plIaLExlTYqH2aij8UlUuzxcgFFoxvtJ /wtVqxXd+5rBuR10DbKMRF2J/J/5gwIDAQABo4IBEDCCAQwwIAYDVR0RBBkwF6QV MBMxETAPBgNVBAMTCE9DU1AgMS0yMDEGA1UdHwQqMCgwJqAkoCKGIGh0dHA6Ly9j cmwudmVyaXNpZ24uY29tL3BjYTIuY3JsMBMGA1UdJQQMMAoGCCsGAQUFBwMJMEIG CCsGAQUFBwEBBDYwNDAyBggrBgEFBQcwAaYmFiRodHRwOi8vb2NzcC52ZXJpc2ln bi5jb20vb2NzcC9zdGF0dXMwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgG CCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vUlBBMAkGA1UdEwQC MAAwCwYDVR0PBAQDAgeAMA0GCSqGSIb3DQEBBQUAA4GBAB99CW4kRnUEnPMmm+M5 bhfvvL2iG9IChIar0ECXLMRDiDcZayKoA3FQnSDcNmAgmnMtc1VsWJsswrQ0LHoz QsqR2elDr88e4PXEeqs/cmMeqTfhWzuIsxOGgpBXy1f/9Fa+It3jl6jhvCJDwt1N 2/aBnpIUnjkPE1TegtjAXjSN -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 09:46:17:e6:1d:d8:d4:1c:a0:0c:a0:62:e8:79:8a:a7 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 2 Public Primary Certification Authority Validity Not Before: Aug 1 00:00:00 2000 GMT Not After : Jul 31 23:59:59 2004 GMT Subject: O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/RPA (c)00, CN=Class 2 Public Primary OCSP Responder Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d0:ca:63:31:61:7f:44:34:7c:05:7d:0b:3d:6a: 90:cb:79:4b:77:0a:3f:4b:c7:23:e5:c0:62:2d:7e: 9c:7e:3e:88:87:91:d0:ac:e8:4d:49:87:a2:96:90: 8a:dd:04:a5:02:3f:8c:9b:e9:89:fe:62:a0:e2:5a: bd:c8:dd:b4:78:e6:a5:42:93:08:67:01:c0:20:4d: d7:5c:f4:5d:da:b3:e3:37:a6:52:1a:2c:4c:65:4d: 8a:87:d9:a8:a3:f1:49:54:bb:3c:5c:80:51:68:c6: fb:49:ff:0b:55:ab:15:dd:fb:9a:c1:b9:1d:74:0d: b2:8c:44:5d:89:fc:9f:f9:83 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Alternative Name: DirName:/CN=OCSP 1-2 X509v3 CRL Distribution Points: URI:http://crl.verisign.com/pca2.crl X509v3 Extended Key Usage: OCSP Signing Authority Information Access: OCSP - URI:$http://ocsp.verisign.com/ocsp/status X509v3 Certificate Policies: Policy: 2.16.840.1.113733.1.7.1.1 CPS: https://www.verisign.com/RPA X509v3 Basic Constraints: CA:FALSE X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 1f:7d:09:6e:24:46:75:04:9c:f3:26:9b:e3:39:6e:17:ef:bc: bd:a2:1b:d2:02:84:86:ab:d0:40:97:2c:c4:43:88:37:19:6b: 22:a8:03:71:50:9d:20:dc:36:60:20:9a:73:2d:73:55:6c:58: 9b:2c:c2:b4:34:2c:7a:33:42:ca:91:d9:e9:43:af:cf:1e:e0: f5:c4:7a:ab:3f:72:63:1e:a9:37:e1:5b:3b:88:b3:13:86:82: 90:57:cb:57:ff:f4:56:be:22:dd:e3:97:a8:e1:bc:22:43:c2: dd:4d:db:f6:81:9e:92:14:9e:39:0f:13:54:de:82:d8:c0:5e: 34:8d Verisign Class 3 Public Primary Certification Authority ======================================================= MD5 Fingerprint=10:FC:63:5D:F6:26:3E:0D:F3:25:BE:5F:79:CD:67:67 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2 MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 70:ba:e4:1d:10:d9:29:34:b6:38:ca:7b:03:cc:ba:bf Signature Algorithm: md2WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority Validity Not Before: Jan 29 00:00:00 1996 GMT Not After : Aug 1 23:59:59 2028 GMT Subject: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c9:5c:59:9e:f2:1b:8a:01:14:b4:10:df:04:40: db:e3:57:af:6a:45:40:8f:84:0c:0b:d1:33:d9:d9: 11:cf:ee:02:58:1f:25:f7:2a:a8:44:05:aa:ec:03: 1f:78:7f:9e:93:b9:9a:00:aa:23:7d:d6:ac:85:a2: 63:45:c7:72:27:cc:f4:4c:c6:75:71:d2:39:ef:4f: 42:f0:75:df:0a:90:c6:8e:20:6f:98:0f:f8:ac:23: 5f:70:29:36:a4:c9:86:e7:b1:9a:20:cb:53:a5:85: e7:3d:be:7d:9a:fe:24:45:33:dc:76:15:ed:0f:a2: 71:64:4c:65:2e:81:68:45:a7 Exponent: 65537 (0x10001) Signature Algorithm: md2WithRSAEncryption bb:4c:12:2b:cf:2c:26:00:4f:14:13:dd:a6:fb:fc:0a:11:84: 8c:f3:28:1c:67:92:2f:7c:b6:c5:fa:df:f0:e8:95:bc:1d:8f: 6c:2c:a8:51:cc:73:d8:a4:c0:53:f0:4e:d6:26:c0:76:01:57: 81:92:5e:21:f1:d1:b1:ff:e7:d0:21:58:cd:69:17:e3:44:1c: 9c:19:44:39:89:5c:dc:9c:00:0f:56:8d:02:99:ed:a2:90:45: 4c:e4:bb:10:a4:3d:f0:32:03:0e:f1:ce:f8:e8:c9:51:8c:e6: 62:9f:e6:9f:c0:7d:b7:72:9c:c9:36:3a:6b:9f:4e:a8:ff:64: 0d:64 Verisign Class 3 Public Primary Certification Authority - G2 ============================================================ MD5 Fingerprint=A2:33:9B:4C:74:78:73:D4:6C:E7:C1:F3:8D:CB:5C:E9 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJ BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh c3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMg UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5 MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB AQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCOFoUgRm1HP9SFIIThbbP4 pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71lSk8UOg0 13gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwID AQABMA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSk U01UbSuvDV1Ai2TT1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7i F6YM40AIOw7n60RzKprxaZLvcRTDOaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpY oJ2daZH9 -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 7d:d9:fe:07:cf:a8:1e:b7:10:79:67:fb:a7:89:34:c6 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Validity Not Before: May 18 00:00:00 1998 GMT Not After : Aug 1 23:59:59 2028 GMT Subject: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:cc:5e:d1:11:5d:5c:69:d0:ab:d3:b9:6a:4c:99: 1f:59:98:30:8e:16:85:20:46:6d:47:3f:d4:85:20: 84:e1:6d:b3:f8:a4:ed:0c:f1:17:0f:3b:f9:a7:f9: 25:d7:c1:cf:84:63:f2:7c:63:cf:a2:47:f2:c6:5b: 33:8e:64:40:04:68:c1:80:b9:64:1c:45:77:c7:d8: 6e:f5:95:29:3c:50:e8:34:d7:78:1f:a8:ba:6d:43: 91:95:8f:45:57:5e:7e:c5:fb:ca:a4:04:eb:ea:97: 37:54:30:6f:bb:01:47:32:33:cd:dc:57:9b:64:69: 61:f8:9b:1d:1c:89:4f:5c:67 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 51:4d:cd:be:5c:cb:98:19:9c:15:b2:01:39:78:2e:4d:0f:67: 70:70:99:c6:10:5a:94:a4:53:4d:54:6d:2b:af:0d:5d:40:8b: 64:d3:d7:ee:de:56:61:92:5f:a6:c4:1d:10:61:36:d3:2c:27: 3c:e8:29:09:b9:11:64:74:cc:b5:73:9f:1c:48:a9:bc:61:01: ee:e2:17:a6:0c:e3:40:08:3b:0e:e7:eb:44:73:2a:9a:f1:69: 92:ef:71:14:c3:39:ac:71:a7:91:09:6f:e4:71:06:b3:ba:59: 57:26:79:00:f6:f8:0d:a2:33:30:28:d4:aa:58:a0:9d:9d:69: 91:fd Verisign Class 3 Public Primary Certification Authority - G3 ============================================================ MD5 Fingerprint=CD:68:B6:A7:C7:C4:CE:75:E0:1D:4F:57:44:61:92:09 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te 2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC /Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 9b:7e:06:49:a3:3e:62:b9:d5:ee:90:48:71:29:ef:57 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G3 Validity Not Before: Oct 1 00:00:00 1999 GMT Not After : Jul 16 23:59:59 2036 GMT Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G3 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:cb:ba:9c:52:fc:78:1f:1a:1e:6f:1b:37:73:bd: f8:c9:6b:94:12:30:4f:f0:36:47:f5:d0:91:0a:f5: 17:c8:a5:61:c1:16:40:4d:fb:8a:61:90:e5:76:20: c1:11:06:7d:ab:2c:6e:a6:f5:11:41:8e:fa:2d:ad: 2a:61:59:a4:67:26:4c:d0:e8:bc:52:5b:70:20:04: 58:d1:7a:c9:a4:69:bc:83:17:64:ad:05:8b:bc:d0: 58:ce:8d:8c:f5:eb:f0:42:49:0b:9d:97:27:67:32: 6e:e1:ae:93:15:1c:70:bc:20:4d:2f:18:de:92:88: e8:6c:85:57:11:1a:e9:7e:e3:26:11:54:a2:45:96: 55:83:ca:30:89:e8:dc:d8:a3:ed:2a:80:3f:7f:79: 65:57:3e:15:20:66:08:2f:95:93:bf:aa:47:2f:a8: 46:97:f0:12:e2:fe:c2:0a:2b:51:e6:76:e6:b7:46: b7:e2:0d:a6:cc:a8:c3:4c:59:55:89:e6:e8:53:5c: 1c:ea:9d:f0:62:16:0b:a7:c9:5f:0c:f0:de:c2:76: ce:af:f7:6a:f2:fa:41:a6:a2:33:14:c9:e5:7a:63: d3:9e:62:37:d5:85:65:9e:0e:e6:53:24:74:1b:5e: 1d:12:53:5b:c7:2c:e7:83:49:3b:15:ae:8a:68:b9: 57:97 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 11:14:96:c1:ab:92:08:f7:3f:2f:c9:b2:fe:e4:5a:9f:64:de: db:21:4f:86:99:34:76:36:57:dd:d0:15:2f:c5:ad:7f:15:1f: 37:62:73:3e:d4:e7:5f:ce:17:03:db:35:fa:2b:db:ae:60:09: 5f:1e:5f:8f:6e:bb:0b:3d:ea:5a:13:1e:0c:60:6f:b5:c0:b5: 23:22:2e:07:0b:cb:a9:74:cb:47:bb:1d:c1:d7:a5:6b:cc:2f: d2:42:fd:49:dd:a7:89:cf:53:ba:da:00:5a:28:bf:82:df:f8: ba:13:1d:50:86:82:fd:8e:30:8f:29:46:b0:1e:3d:35:da:38: 62:16:18:4a:ad:e6:b6:51:6c:de:af:62:eb:01:d0:1e:24:fe: 7a:8f:12:1a:12:68:b8:fb:66:99:14:14:45:5c:ae:e7:ae:69: 17:81:2b:5a:37:c9:5e:2a:f4:c6:e2:a1:5c:54:9b:a6:54:00: cf:f0:f1:c1:c7:98:30:1a:3b:36:16:db:a3:6e:ea:fd:ad:b2: c2:da:ef:02:47:13:8a:c0:f1:b3:31:ad:4f:1c:e1:4f:9c:af: 0f:0c:9d:f7:78:0d:d8:f4:35:56:80:da:b7:6d:17:8f:9d:1e: 81:64:e1:fe:c5:45:ba:ad:6b:b9:0a:7a:4e:4f:4b:84:ee:4b: f1:7d:dd:11 Verisign Class 3 Public Primary OCSP Responder ============================================== MD5 Fingerprint=7D:51:92:C9:76:83:98:16:DE:8C:B3:86:C4:7D:66:FB PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDojCCAwugAwIBAgIQLpaev7ZibOx76XPM42zBhDANBgkqhkiG9w0BAQUFADBf MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw HhcNMDAwODA0MDAwMDAwWhcNMDQwODAzMjM1OTU5WjCBpzEXMBUGA1UEChMOVmVy aVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5 BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20v UlBBIChjKTAwMS4wLAYDVQQDEyVDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IE9DU1Ag UmVzcG9uZGVyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDx5AgOg7t140jl uNum8Lmr6Txix141W9ACVBHYydFWuXZLuat65s269gwE1n7WsAplrE454/H3LaMl Oe+wi8++2wxdbnD0B81w9zrAPjUW7XiMQ8/CJi5H1oZ9nPG+1mcMIiWkymXmH3p4 KC8/BdsEIb/hRWb+PLeC7Vq4FhW5VQIDAQABo4IBFDCCARAwIAYDVR0RBBkwF6QV MBMxETAPBgNVBAMTCE9DU1AgMS0zMDUGA1UdHwQuMCwwKqAooCaGJGh0dHA6Ly9j cmwudmVyaXNpZ24uY29tL3BjYTMuMS4xLmNybDATBgNVHSUEDDAKBggrBgEFBQcD CTBCBggrBgEFBQcBAQQ2MDQwMgYIKwYBBQUHMAGmJhYkaHR0cDovL29jc3AudmVy aXNpZ24uY29tL29jc3Avc3RhdHVzMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEw KjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL1JQQTAJBgNV HRMEAjAAMAsGA1UdDwQEAwIHgDANBgkqhkiG9w0BAQUFAAOBgQAC9lNjwKke8tCL MzCPSJtMsFa0g3FKvtxQ2PW24AvbvXhP6c8JNNopSZ0Bc1qRkYJULBMK03cjzzf8 Y96n4/a3tWlFKEnDkdyqRxypiJksBSqNjYr6YuJatwAgXTnEKMLL/J6oia5bPY4S 6jKy/OsU1wkVGsDNG9W1FU5B1ZbjTg== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 2e:96:9e:bf:b6:62:6c:ec:7b:e9:73:cc:e3:6c:c1:84 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority Validity Not Before: Aug 4 00:00:00 2000 GMT Not After : Aug 3 23:59:59 2004 GMT Subject: O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/RPA (c)00, CN=Class 3 Public Primary OCSP Responder Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:f1:e4:08:0e:83:bb:75:e3:48:e5:b8:db:a6:f0: b9:ab:e9:3c:62:c7:5e:35:5b:d0:02:54:11:d8:c9: d1:56:b9:76:4b:b9:ab:7a:e6:cd:ba:f6:0c:04:d6: 7e:d6:b0:0a:65:ac:4e:39:e3:f1:f7:2d:a3:25:39: ef:b0:8b:cf:be:db:0c:5d:6e:70:f4:07:cd:70:f7: 3a:c0:3e:35:16:ed:78:8c:43:cf:c2:26:2e:47:d6: 86:7d:9c:f1:be:d6:67:0c:22:25:a4:ca:65:e6:1f: 7a:78:28:2f:3f:05:db:04:21:bf:e1:45:66:fe:3c: b7:82:ed:5a:b8:16:15:b9:55 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Alternative Name: DirName:/CN=OCSP 1-3 X509v3 CRL Distribution Points: URI:http://crl.verisign.com/pca3.1.1.crl X509v3 Extended Key Usage: OCSP Signing Authority Information Access: OCSP - URI:$http://ocsp.verisign.com/ocsp/status X509v3 Certificate Policies: Policy: 2.16.840.1.113733.1.7.1.1 CPS: https://www.verisign.com/RPA X509v3 Basic Constraints: CA:FALSE X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 02:f6:53:63:c0:a9:1e:f2:d0:8b:33:30:8f:48:9b:4c:b0:56: b4:83:71:4a:be:dc:50:d8:f5:b6:e0:0b:db:bd:78:4f:e9:cf: 09:34:da:29:49:9d:01:73:5a:91:91:82:54:2c:13:0a:d3:77: 23:cf:37:fc:63:de:a7:e3:f6:b7:b5:69:45:28:49:c3:91:dc: aa:47:1c:a9:88:99:2c:05:2a:8d:8d:8a:fa:62:e2:5a:b7:00: 20:5d:39:c4:28:c2:cb:fc:9e:a8:89:ae:5b:3d:8e:12:ea:32: b2:fc:eb:14:d7:09:15:1a:c0:cd:1b:d5:b5:15:4e:41:d5:96: e3:4e Verisign Class 4 Public Primary Certification Authority - G2 ============================================================ MD5 Fingerprint=26:6D:2C:19:98:B6:70:68:38:50:54:19:EC:90:34:60 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDAjCCAmsCEDKIjprS9esTR/h/xCA3JfgwDQYJKoZIhvcNAQEFBQAwgcExCzAJ BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh c3MgNCBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgNCBQdWJsaWMg UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5 MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB AQUAA4GNADCBiQKBgQC68OTP+cSuhVS5B1f5j8V/aBH4xBewRNzjMHPVKmIquNDM HO0oW369atyzkSTKQWI8/AIBvxwWMZQFl3Zuoq29YRdsTjCG8FE3KlDHqGKB3FtK qsGgtG7rL+VXxbErQHDbWk2hjh+9Ax/YA9SPTJlxvOKCzFjomDqG04Y48wApHwID AQABMA0GCSqGSIb3DQEBBQUAA4GBAIWMEsGnuVAVess+rLhDityq3RS6iYF+ATwj cSGIL4LcY/oCRaxFWdcqWERbt5+BO5JoPeI3JPV7bI92NZYJqFmduc4jq3TWg/0y cyfYaT5DdPauxYma51N86Xv2S/PBZYPejYqcPIiNOVn8qj8ijaHBZlCBckztImRP T8qAkbYp -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 32:88:8e:9a:d2:f5:eb:13:47:f8:7f:c4:20:37:25:f8 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 4 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Validity Not Before: May 18 00:00:00 1998 GMT Not After : Aug 1 23:59:59 2028 GMT Subject: C=US, O=VeriSign, Inc., OU=Class 4 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:ba:f0:e4:cf:f9:c4:ae:85:54:b9:07:57:f9:8f: c5:7f:68:11:f8:c4:17:b0:44:dc:e3:30:73:d5:2a: 62:2a:b8:d0:cc:1c:ed:28:5b:7e:bd:6a:dc:b3:91: 24:ca:41:62:3c:fc:02:01:bf:1c:16:31:94:05:97: 76:6e:a2:ad:bd:61:17:6c:4e:30:86:f0:51:37:2a: 50:c7:a8:62:81:dc:5b:4a:aa:c1:a0:b4:6e:eb:2f: e5:57:c5:b1:2b:40:70:db:5a:4d:a1:8e:1f:bd:03: 1f:d8:03:d4:8f:4c:99:71:bc:e2:82:cc:58:e8:98: 3a:86:d3:86:38:f3:00:29:1f Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 85:8c:12:c1:a7:b9:50:15:7a:cb:3e:ac:b8:43:8a:dc:aa:dd: 14:ba:89:81:7e:01:3c:23:71:21:88:2f:82:dc:63:fa:02:45: ac:45:59:d7:2a:58:44:5b:b7:9f:81:3b:92:68:3d:e2:37:24: f5:7b:6c:8f:76:35:96:09:a8:59:9d:b9:ce:23:ab:74:d6:83: fd:32:73:27:d8:69:3e:43:74:f6:ae:c5:89:9a:e7:53:7c:e9: 7b:f6:4b:f3:c1:65:83:de:8d:8a:9c:3c:88:8d:39:59:fc:aa: 3f:22:8d:a1:c1:66:50:81:72:4c:ed:22:64:4f:4f:ca:80:91: b6:29 Verisign Class 4 Public Primary Certification Authority - G3 ============================================================ MD5 Fingerprint=DB:C8:F2:27:2E:B1:EA:6A:29:23:5D:FE:56:3E:33:DF PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT aWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu IENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK3LpRFpxlmr8Y+1 GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaStBO3IFsJ +mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0Gbd U6LM8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLm NxdLMEYH5IBtptiWLugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XY ufTsgsbSPZUd5cBPhMnZo0QoBmrXRazwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAj/ola09b5KROJ1WrIhVZPMq1 CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXttmhwwjIDLk5Mq g6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c 2NU8Qh0XwRJdRTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/ bLvSHgCwIe34QWKCudiyxLtGUPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: ec:a0:a7:8b:6e:75:6a:01:cf:c4:7c:cc:2f:94:5e:d7 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 4 Public Primary Certification Authority - G3 Validity Not Before: Oct 1 00:00:00 1999 GMT Not After : Jul 16 23:59:59 2036 GMT Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 4 Public Primary Certification Authority - G3 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:ad:cb:a5:11:69:c6:59:ab:f1:8f:b5:19:0f:56: ce:cc:b5:1f:20:e4:9e:26:25:4b:e0:73:65:89:59: de:d0:83:e4:f5:0f:b5:bb:ad:f1:7c:e8:21:fc:e4: e8:0c:ee:7c:45:22:19:76:92:b4:13:b7:20:5b:09: fa:61:ae:a8:f2:a5:8d:85:c2:2a:d6:de:66:36:d2: 9b:02:f4:a8:92:60:7c:9c:69:b4:8f:24:1e:d0:86: 52:f6:32:9c:41:58:1e:22:bd:cd:45:62:95:08:6e: d0:66:dd:53:a2:cc:f0:10:dc:54:73:8b:04:a1:46: 33:33:5c:17:40:b9:9e:4d:d3:f3:be:55:83:e8:b1: 89:8e:5a:7c:9a:96:22:90:3b:88:25:f2:d2:53:88: 02:0c:0b:78:f2:e6:37:17:4b:30:46:07:e4:80:6d: a6:d8:96:2e:e8:2c:f8:11:b3:38:0d:66:a6:9b:ea: c9:23:5b:db:8e:e2:f3:13:8e:1a:59:2d:aa:02:f0: ec:a4:87:66:dc:c1:3f:f5:d8:b9:f4:ec:82:c6:d2: 3d:95:1d:e5:c0:4f:84:c9:d9:a3:44:28:06:6a:d7: 45:ac:f0:6b:6a:ef:4e:5f:f8:11:82:1e:38:63:34: 66:50:d4:3e:93:73:fa:30:c3:66:ad:ff:93:2d:97: ef:03 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 8f:fa:25:6b:4f:5b:e4:a4:4e:27:55:ab:22:15:59:3c:ca:b5: 0a:d4:4a:db:ab:dd:a1:5f:53:c5:a0:57:39:c2:ce:47:2b:be: 3a:c8:56:bf:c2:d9:27:10:3a:b1:05:3c:c0:77:31:bb:3a:d3: 05:7b:6d:9a:1c:30:8c:80:cb:93:93:2a:83:ab:05:51:82:02: 00:11:67:6b:f3:88:61:47:5f:03:93:d5:5b:0d:e0:f1:d4:a1: 32:35:85:b2:3a:db:b0:82:ab:d1:cb:0a:bc:4f:8c:5b:c5:4b: 00:3b:1f:2a:82:a6:7e:36:85:dc:7e:3c:67:00:b5:e4:3b:52: e0:a8:eb:5d:15:f9:c6:6d:f0:ad:1d:0e:85:b7:a9:9a:73:14: 5a:5b:8f:41:28:c0:d5:e8:2d:4d:a4:5e:cd:aa:d9:ed:ce:dc: d8:d5:3c:42:1d:17:c1:12:5d:45:38:c3:38:f3:fc:85:2e:83: 46:48:b2:d7:20:5f:92:36:8f:e7:79:0f:98:5e:99:e8:f0:d0: a4:bb:f5:53:bd:2a:ce:59:b0:af:6e:7f:6c:bb:d2:1e:00:b0: 21:ed:f8:41:62:82:b9:d8:b2:c4:bb:46:50:f3:31:c5:8f:01: a8:74:eb:f5:78:27:da:e7:f7:66:43:f3:9e:83:3e:20:aa:c3: 35:60:91:ce Verisign Secure Server OCSP Responder ===================================== MD5 Fingerprint=2C:62:C3:D8:80:01:16:09:EA:59:EA:78:AB:10:43:F6 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDnzCCAwygAwIBAgIRAP9F1SddJPuzwjkkU1fhT94wDQYJKoZIhvcNAQEFBQAw XzELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMu MS4wLAYDVQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MB4XDTAwMDgwNDAwMDAwMFoXDTA0MDgwMzIzNTk1OVowgZ4xFzAVBgNVBAoTDlZl cmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTsw OQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29t L1JQQSAoYykwMDElMCMGA1UEAxMcU2VjdXJlIFNlcnZlciBPQ1NQIFJlc3BvbmRl cjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuFGZZIUO7rMKaPC/Y3YdU/X8 oXiMM+6f9L452psPTUepjyDoS0S9zs17kNEw6JDEJXuJKN699pMd/7n/krWpjeSu zOLDB4Nqo3IQASdiIqY1Jjktns9gDPxHpNfQQninHWzQy08VpykKtJVFxLHnWgnX OZXYHTWewr2zXcEMSx8CAwEAAaOCAR0wggEZMCAGA1UdEQQZMBekFTATMREwDwYD VQQDEwhPQ1NQIDEtNDA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vY3JsLnZlcmlz aWduLmNvbS9SU0FTZWN1cmVTZXJ2ZXItcC5jcmwwEwYDVR0lBAwwCgYIKwYBBQUH AwkwQgYIKwYBBQUHAQEENjA0MDIGCCsGAQUFBzABpiYWJGh0dHA6Ly9vY3NwLnZl cmlzaWduLmNvbS9vY3NwL3N0YXR1czBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBwEB MCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9SUEEwCQYD VR0TBAIwADALBgNVHQ8EBAMCB4AwDQYJKoZIhvcNAQEFBQADfgAAsxBTZpxJky4x oAJC0lhXfmah/huKYRhQQCweK0Gl1tv/rAgcWgVtAlwqtpZPR9u+TtvOzLqGuBjO sRKRX2P380g+zPFNE+RtCZR4AJLLoyCdBgtqoEMHztEZbI8YdZqfFzP9qSa44+Le wqjEWop/mNYHBmvMVp6GcM7U7w== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: ff:45:d5:27:5d:24:fb:b3:c2:39:24:53:57:e1:4f:de Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority Validity Not Before: Aug 4 00:00:00 2000 GMT Not After : Aug 3 23:59:59 2004 GMT Subject: O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/RPA (c)00, CN=Secure Server OCSP Responder Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:b8:51:99:64:85:0e:ee:b3:0a:68:f0:bf:63:76: 1d:53:f5:fc:a1:78:8c:33:ee:9f:f4:be:39:da:9b: 0f:4d:47:a9:8f:20:e8:4b:44:bd:ce:cd:7b:90:d1: 30:e8:90:c4:25:7b:89:28:de:bd:f6:93:1d:ff:b9: ff:92:b5:a9:8d:e4:ae:cc:e2:c3:07:83:6a:a3:72: 10:01:27:62:22:a6:35:26:39:2d:9e:cf:60:0c:fc: 47:a4:d7:d0:42:78:a7:1d:6c:d0:cb:4f:15:a7:29: 0a:b4:95:45:c4:b1:e7:5a:09:d7:39:95:d8:1d:35: 9e:c2:bd:b3:5d:c1:0c:4b:1f Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Alternative Name: DirName:/CN=OCSP 1-4 X509v3 CRL Distribution Points: URI:http://crl.verisign.com/RSASecureServer-p.crl X509v3 Extended Key Usage: OCSP Signing Authority Information Access: OCSP - URI:$http://ocsp.verisign.com/ocsp/status X509v3 Certificate Policies: Policy: 2.16.840.1.113733.1.7.1.1 CPS: https://www.verisign.com/RPA X509v3 Basic Constraints: CA:FALSE X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 00:b3:10:53:66:9c:49:93:2e:31:a0:02:42:d2:58:57:7e:66: a1:fe:1b:8a:61:18:50:40:2c:1e:2b:41:a5:d6:db:ff:ac:08: 1c:5a:05:6d:02:5c:2a:b6:96:4f:47:db:be:4e:db:ce:cc:ba: 86:b8:18:ce:b1:12:91:5f:63:f7:f3:48:3e:cc:f1:4d:13:e4: 6d:09:94:78:00:92:cb:a3:20:9d:06:0b:6a:a0:43:07:ce:d1: 19:6c:8f:18:75:9a:9f:17:33:fd:a9:26:b8:e3:e2:de:c2:a8: c4:5a:8a:7f:98:d6:07:06:6b:cc:56:9e:86:70:ce:d4:ef Verisign Time Stamping Authority CA =================================== MD5 Fingerprint=89:49:54:8C:C8:68:9A:83:29:EC:DC:06:73:21:AB:97 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDzTCCAzagAwIBAgIQU2GyYK7bcY6nlLMTM/QHCTANBgkqhkiG9w0BAQUFADCB wTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTwwOgYDVQQL EzNDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 IC0gRzIxOjA4BgNVBAsTMShjKSAxOTk4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1 dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv cmswHhcNMDAwOTI2MDAwMDAwWhcNMTAwOTI1MjM1OTU5WjCBpTEXMBUGA1UEChMO VmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsx OzA5BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5j b20vcnBhIChjKTAwMSwwKgYDVQQDEyNWZXJpU2lnbiBUaW1lIFN0YW1waW5nIEF1 dGhvcml0eSBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0hmdZ8IAIVli zrQJIkRpivglWtvtDbc2fk7gu5Q+kCWHwmFHKdm9VLhjzCx9abQzNvQ3B5rB3UBU /OB4naCTuQk9I1F/RMIUdNsKvsvJMDRAmD7Q1yUQgZS9B0+c1lQn3y6ov8uQjI11 S7zi6ESHzeZBCiVu6PQkAsVSD27smHUCAwEAAaOB3zCB3DAPBgNVHRMECDAGAQH/ AgEAMEUGA1UdIAQ+MDwwOgYMYIZIAYb4RQEHFwEDMCowKAYIKwYBBQUHAgEWHGh0 dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEwMQYDVR0fBCowKDAmoCSgIoYgaHR0 cDovL2NybC52ZXJpc2lnbi5jb20vcGNhMy5jcmwwCwYDVR0PBAQDAgEGMEIGCCsG AQUFBwEBBDYwNDAyBggrBgEFBQcwAaYmFiRodHRwOi8vb2NzcC52ZXJpc2lnbi5j b20vb2NzcC9zdGF0dXMwDQYJKoZIhvcNAQEFBQADgYEAgnBold+2DcIBcBlK0lRW HqzyRUyHuPU163hLBanInTsZIS5wNEqi9YngFXVF5yg3ADQnKeg3S/LvRJdrF1Ea w1adPBqK9kpGRjeM+sv1ZFo4aC4cw+9wzrhGBha/937ntag+RaypJXUie28/sJyU 58dzq6wf7iWbwBbtt8pb8BQ= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 53:61:b2:60:ae:db:71:8e:a7:94:b3:13:33:f4:07:09 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Validity Not Before: Sep 26 00:00:00 2000 GMT Not After : Sep 25 23:59:59 2010 GMT Subject: O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)00, CN=VeriSign Time Stamping Authority CA Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d2:19:9d:67:c2:00:21:59:62:ce:b4:09:22:44: 69:8a:f8:25:5a:db:ed:0d:b7:36:7e:4e:e0:bb:94: 3e:90:25:87:c2:61:47:29:d9:bd:54:b8:63:cc:2c: 7d:69:b4:33:36:f4:37:07:9a:c1:dd:40:54:fc:e0: 78:9d:a0:93:b9:09:3d:23:51:7f:44:c2:14:74:db: 0a:be:cb:c9:30:34:40:98:3e:d0:d7:25:10:81:94: bd:07:4f:9c:d6:54:27:df:2e:a8:bf:cb:90:8c:8d: 75:4b:bc:e2:e8:44:87:cd:e6:41:0a:25:6e:e8:f4: 24:02:c5:52:0f:6e:ec:98:75 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:TRUE, pathlen:0 X509v3 Certificate Policies: Policy: 2.16.840.1.113733.1.7.23.1.3 CPS: https://www.verisign.com/rpa X509v3 CRL Distribution Points: URI:http://crl.verisign.com/pca3.crl X509v3 Key Usage: Certificate Sign, CRL Sign Authority Information Access: OCSP - URI:$http://ocsp.verisign.com/ocsp/status Signature Algorithm: sha1WithRSAEncryption 82:70:68:95:df:b6:0d:c2:01:70:19:4a:d2:54:56:1e:ac:f2: 45:4c:87:b8:f5:35:eb:78:4b:05:a9:c8:9d:3b:19:21:2e:70: 34:4a:a2:f5:89:e0:15:75:45:e7:28:37:00:34:27:29:e8:37: 4b:f2:ef:44:97:6b:17:51:1a:c3:56:9d:3c:1a:8a:f6:4a:46: 46:37:8c:fa:cb:f5:64:5a:38:68:2e:1c:c3:ef:70:ce:b8:46: 06:16:bf:f7:7e:e7:b5:a8:3e:45:ac:a9:25:75:22:7b:6f:3f: b0:9c:94:e7:c7:73:ab:ac:1f:ee:25:9b:c0:16:ed:b7:ca:5b: f0:14 Visa eCommerce Root =================== MD5 Fingerprint=FC:11:B8:D8:08:93:30:00:6D:23:F9:7E:EB:52:1E:02 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBr MQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRl cm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv bW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2WhcNMjIwNjI0MDAxNjEyWjBrMQsw CQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5h dGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1l cmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h 2mCxlCfLF9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4E lpF7sDPwsRROEW+1QK8bRaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdV ZqW1LS7YgFmypw23RuwhY/81q6UCzyr0TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq 299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI/k4+oKsGGelT84ATB+0t vz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzsGHxBvfaL dXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD AgEGMB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUF AAOCAQEAX/FBfXxcCLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcR zCSs00Rsca4BIGsDoo8Ytyk6feUWYFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3 LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pzzkWKsKZJ/0x9nXGIxHYdkFsd 7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBuYQa7FkKMcPcw ++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt 398znM/jra6O1I7mT1GvFpLgXPYHDw== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 13:86:35:4d:1d:3f:06:f2:c1:f9:65:05:d5:90:1c:62 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VISA, OU=Visa International Service Association, CN=Visa eCommerce Root Validity Not Before: Jun 26 02:18:36 2002 GMT Not After : Jun 24 00:16:12 2022 GMT Subject: C=US, O=VISA, OU=Visa International Service Association, CN=Visa eCommerce Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:af:57:de:56:1e:6e:a1:da:60:b1:94:27:cb:17: db:07:3f:80:85:4f:c8:9c:b6:d0:f4:6f:4f:cf:99: d8:e1:db:c2:48:5c:3a:ac:39:33:c7:1f:6a:8b:26: 3d:2b:35:f5:48:b1:91:c1:02:4e:04:96:91:7b:b0: 33:f0:b1:14:4e:11:6f:b5:40:af:1b:45:a5:4a:ef: 7e:b6:ac:f2:a0:1f:58:3f:12:46:60:3c:8d:a1:e0: 7d:cf:57:3e:33:1e:fb:47:f1:aa:15:97:07:55:66: a5:b5:2d:2e:d8:80:59:b2:a7:0d:b7:46:ec:21:63: ff:35:ab:a5:02:cf:2a:f4:4c:fe:7b:f5:94:5d:84: 4d:a8:f2:60:8f:db:0e:25:3c:9f:73:71:cf:94:df: 4a:ea:db:df:72:38:8c:f3:96:bd:f1:17:bc:d2:ba: 3b:45:5a:c6:a7:f6:c6:17:8b:01:9d:fc:19:a8:2a: 83:16:b8:3a:48:fe:4e:3e:a0:ab:06:19:e9:53:f3: 80:13:07:ed:2d:bf:3f:0a:3c:55:20:39:2c:2c:00: 69:74:95:4a:bc:20:b2:a9:79:e5:18:89:91:a8:dc: 1c:4d:ef:bb:7e:37:0b:5d:fe:39:a5:88:52:8c:00: 6c:ec:18:7c:41:bd:f6:8b:75:77:ba:60:9d:84:e7: fe:2d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Certificate Sign, CRL Sign X509v3 Subject Key Identifier: 15:38:83:0F:3F:2C:3F:70:33:1E:CD:46:FE:07:8C:20:E0:D7:C3:B7 Signature Algorithm: sha1WithRSAEncryption 5f:f1:41:7d:7c:5c:08:b9:2b:e0:d5:92:47:fa:67:5c:a5:13: c3:03:21:9b:2b:4c:89:46:cf:59:4d:c9:fe:a5:40:b6:63:cd: dd:71:28:95:67:11:cc:24:ac:d3:44:6c:71:ae:01:20:6b:03: a2:8f:18:b7:29:3a:7d:e5:16:60:53:78:3c:c0:af:15:83:f7: 8f:52:33:24:bd:64:93:97:ee:8b:f7:db:18:a8:6d:71:b3:f7: 2c:17:d0:74:25:69:f7:fe:6b:3c:94:be:4d:4b:41:8c:4e:e2: 73:d0:e3:90:22:73:43:cd:f3:ef:ea:73:ce:45:8a:b0:a6:49: ff:4c:7d:9d:71:88:c4:76:1d:90:5b:1d:ee:fd:cc:f7:ee:fd: 60:a5:b1:7a:16:71:d1:16:d0:7c:12:3c:6c:69:97:db:ae:5f: 39:9a:70:2f:05:3c:19:46:04:99:20:36:d0:60:6e:61:06:bb: 16:42:8c:70:f7:30:fb:e0:db:66:a3:00:01:bd:e6:2c:da:91: 5f:a0:46:8b:4d:6a:9c:3d:3d:dd:05:46:fe:76:bf:a0:0a:3c: e4:00:e6:27:b7:ff:84:2d:de:ba:22:27:96:10:71:eb:22:ed: df:df:33:9c:cf:e3:ad:ae:8e:d4:8e:e6:4f:51:af:16:92:e0: 5c:f6:07:0f Visa International Global Root 2 ================================ MD5 Fingerprint=35:48:95:36:4A:54:5A:72:96:8E:E0:64:CC:EF:2C:8C PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDgDCCAmigAwIBAgICAx4wDQYJKoZIhvcNAQEFBQAwYTELMAkGA1UEBhMCVVMx DTALBgNVBAoTBFZJU0ExLzAtBgNVBAsTJlZpc2EgSW50ZXJuYXRpb25hbCBTZXJ2 aWNlIEFzc29jaWF0aW9uMRIwEAYDVQQDEwlHUCBSb290IDIwHhcNMDAwODE2MjI1 MTAwWhcNMjAwODE1MjM1OTAwWjBhMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklT QTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRp b24xEjAQBgNVBAMTCUdQIFJvb3QgMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBAKkBcLWqxEDwq2omYXkZAPy/mzdZDK9vZBv42pWUJGkzEXDK41Z0ohdX ZFwgBuHW73G3O/erwWnQSaSxBNf0V2KJXLB1LRckaeNCYOTudNargFbYiCjh+20i /SN8RnNPflRzHqgsVVh1t0zzWkWlAhr62p3DRcMiXvOL8WAp0sdftAw6UYPvMPjU 58fy+pmjIlC++QU3o63tmsPm7IgbthknGziLgE3sucfFicv8GjLtI/C1AVj59o/g halMCXI5Etuz9c9OYmTaxhkVOmMd6RdVoUwiPDQyRvhlV7or7zaMavrZ2UT0qt2E 1w0cslSsMoW0ZA3eQbuxNMYBhjJk1Z8CAwEAAaNCMEAwHQYDVR0OBBYEFJ59SzS/ ca3CBfYDdYDOqU8axCRMMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG MA0GCSqGSIb3DQEBBQUAA4IBAQAhpXYUVfmtJ3CPPPTVbMjMCqujmAuKBiPFyWHb mQdpNSYx/scuhMKZYdQN6X0uEyt8joW2hcdLzzW2LEc9zikv2G+fiRxkk78IvXbQ kIqUs38oW26sTTMs7WXcFsziza6kPWKSBpUmv9+55CCmc2rBvveURNZNbyoLaxhN dBA2aGpawWqn3TYpjLgwi08hPwAuVDAHOrqK5MOeyti12HvOdUVmB/RtLdh6yumJ ivIj2C/LbgA2T/vwLwHMD8AiZfSr4k5hLQOCfZEWtTDVFN5ex5D8ofyrEK9ca3Cn B+8phuiyJccg/ybdd+95RBTEvd07xQObdyPsoOy7Wjm1zK0G -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 798 (0x31e) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VISA, OU=Visa International Service Association, CN=GP Root 2 Validity Not Before: Aug 16 22:51:00 2000 GMT Not After : Aug 15 23:59:00 2020 GMT Subject: C=US, O=VISA, OU=Visa International Service Association, CN=GP Root 2 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:a9:01:70:b5:aa:c4:40:f0:ab:6a:26:61:79:19: 00:fc:bf:9b:37:59:0c:af:6f:64:1b:f8:da:95:94: 24:69:33:11:70:ca:e3:56:74:a2:17:57:64:5c:20: 06:e1:d6:ef:71:b7:3b:f7:ab:c1:69:d0:49:a4:b1: 04:d7:f4:57:62:89:5c:b0:75:2d:17:24:69:e3:42: 60:e4:ee:74:d6:ab:80:56:d8:88:28:e1:fb:6d:22: fd:23:7c:46:73:4f:7e:54:73:1e:a8:2c:55:58:75: b7:4c:f3:5a:45:a5:02:1a:fa:da:9d:c3:45:c3:22: 5e:f3:8b:f1:60:29:d2:c7:5f:b4:0c:3a:51:83:ef: 30:f8:d4:e7:c7:f2:fa:99:a3:22:50:be:f9:05:37: a3:ad:ed:9a:c3:e6:ec:88:1b:b6:19:27:1b:38:8b: 80:4d:ec:b9:c7:c5:89:cb:fc:1a:32:ed:23:f0:b5: 01:58:f9:f6:8f:e0:85:a9:4c:09:72:39:12:db:b3: f5:cf:4e:62:64:da:c6:19:15:3a:63:1d:e9:17:55: a1:4c:22:3c:34:32:46:f8:65:57:ba:2b:ef:36:8c: 6a:fa:d9:d9:44:f4:aa:dd:84:d7:0d:1c:b2:54:ac: 32:85:b4:64:0d:de:41:bb:b1:34:c6:01:86:32:64: d5:9f Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: 9E:7D:4B:34:BF:71:AD:C2:05:F6:03:75:80:CE:A9:4F:1A:C4:24:4C X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 21:a5:76:14:55:f9:ad:27:70:8f:3c:f4:d5:6c:c8:cc:0a:ab: a3:98:0b:8a:06:23:c5:c9:61:db:99:07:69:35:26:31:fe:c7: 2e:84:c2:99:61:d4:0d:e9:7d:2e:13:2b:7c:8e:85:b6:85:c7: 4b:cf:35:b6:2c:47:3d:ce:29:2f:d8:6f:9f:89:1c:64:93:bf: 08:bd:76:d0:90:8a:94:b3:7f:28:5b:6e:ac:4d:33:2c:ed:65: dc:16:cc:e2:cd:ae:a4:3d:62:92:06:95:26:bf:df:b9:e4:20: a6:73:6a:c1:be:f7:94:44:d6:4d:6f:2a:0b:6b:18:4d:74:10: 36:68:6a:5a:c1:6a:a7:dd:36:29:8c:b8:30:8b:4f:21:3f:00: 2e:54:30:07:3a:ba:8a:e4:c3:9e:ca:d8:b5:d8:7b:ce:75:45: 66:07:f4:6d:2d:d8:7a:ca:e9:89:8a:f2:23:d8:2f:cb:6e:00: 36:4f:fb:f0:2f:01:cc:0f:c0:22:65:f4:ab:e2:4e:61:2d:03: 82:7d:91:16:b5:30:d5:14:de:5e:c7:90:fc:a1:fc:ab:10:af: 5c:6b:70:a7:07:ef:29:86:e8:b2:25:c7:20:ff:26:dd:77:ef: 79:44:14:c4:bd:dd:3b:c5:03:9b:77:23:ec:a0:ec:bb:5a:39: b5:cc:ad:06 RCurl/inst/CurlSSL/cacert.pem0000644000176000001440000061443212437571707015570 0ustar ripleyusers## ## cacert.pem-foo -- Bundle of CA Root Certificates ## ## Converted at: Thu Mar 26 21:23:06 2009 UTC ## ## This is a bundle of X.509 certificates of public Certificate Authorities ## (CA). These were automatically extracted from Mozilla's root certificates ## file (certdata.txt). This file can be found in the mozilla source tree: ## '/mozilla/security/nss/lib/ckfw/builtins/certdata.txt' ## ## It contains the certificates in PEM format and therefore ## can be directly used with curl / libcurl / php_curl, or with ## an Apache+mod_ssl webserver for SSL client authentication. ## Just configure this file as the SSLCACertificateFile. ## # ***** BEGIN LICENSE BLOCK ***** # Version: MPL 1.1/GPL 2.0/LGPL 2.1 # # The contents of this file are subject to the Mozilla Public License Version # 1.1 (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # for the specific language governing rights and limitations under the # License. # # The Original Code is the Netscape security libraries. # # The Initial Developer of the Original Code is # Netscape Communications Corporation. # Portions created by the Initial Developer are Copyright (C) 1994-2000 # the Initial Developer. All Rights Reserved. # # Contributor(s): # # Alternatively, the contents of this file may be used under the terms of # either the GNU General Public License Version 2 or later (the "GPL"), or # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), # in which case the provisions of the GPL or the LGPL are applicable instead # of those above. If you wish to allow use of your version of this file only # under the terms of either the GPL or the LGPL, and not to allow others to # use your version of this file under the terms of the MPL, indicate your # decision by deleting the provisions above and replace them with the notice # and other provisions required by the GPL or the LGPL. If you do not delete # the provisions above, a recipient may use your version of this file under # the terms of any one of the MPL, the GPL or the LGPL. # # ***** END LICENSE BLOCK ***** # @(#) $RCSfile: certdata.txt,v $ $Revision: 1.51 $ $Date: 2009/01/15 22:35:15 $ Verisign/RSA Secure Server CA ============================= -----BEGIN CERTIFICATE----- MIICNDCCAaECEAKtZn5ORf5eV288mBle3cAwDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx IDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQLEyVTZWN1cmUgU2VydmVy IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk0MTEwOTAwMDAwMFoXDTEwMDEwNzIzNTk1OVow XzELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQL EyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGbMA0GCSqGSIb3DQEBAQUA A4GJADCBhQJ+AJLOesGugz5aqomDV6wlAXYMra6OLDfO6zV4ZFQD5YRAUcm/jwjiioII0haGN1Xp sSECrXZogZoFokvJSyVmIlZsiAeP94FZbYQHZXATcXY+m3dM41CJVphIuR2nKRoTLkoRWZweFdVJ VCxzOmmCsZc5nG1wZ0jl3S3WyB57AgMBAAEwDQYJKoZIhvcNAQECBQADfgBl3X7hsuyw4jrg7HFG mhkRuNPHoLQDQCYCPgmc4RKz0Vr2N6W3YQO2WxZpO8ZECAyIUwxrl0nHPjXcbLm7qt9cuzovk2C2 qUtN8iD3zV9/ZHuO3ABc1/p3yjkWWW8O6tO1g39NTUJWdrTJXwT4OPjr0l91X817/OWOgHz8UA== -----END CERTIFICATE----- GTE CyberTrust Root CA ====================== -----BEGIN CERTIFICATE----- MIIB+jCCAWMCAgGjMA0GCSqGSIb3DQEBBAUAMEUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg Q29ycG9yYXRpb24xHDAaBgNVBAMTE0dURSBDeWJlclRydXN0IFJvb3QwHhcNOTYwMjIzMjMwMTAw WhcNMDYwMjIzMjM1OTAwWjBFMQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9u MRwwGgYDVQQDExNHVEUgQ3liZXJUcnVzdCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQC45k+625h8cXyvRLfTD0bZZOWTwUKOx7pJjTUteueLveUFMVnGsS8KDPufpz+iCWaEVh43KRuH 6X4MypqfpX/1FZSj1aJGgthoTNE3FQZor734sLPwKfWVWgkWYXcKIiXUT0Wqx73llt/51KiOQswk wB6RJ0q1bQaAYznEol44AwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABKzdcZfHeFhVYAA1IFLezEP I2PnPfMD+fQ2qLvZ46WXTeorKeDWanOB5sCJo9Px4KWlIjeaY8JIILTbcuPI9tl8vrGvU9oUtCG4 1tWW4/5ODFlitppK+ULdjG+BqXH/9ApybW1EDp3zdHSo1TRJ6V6e6bR64eVaH4QwnNOfpSXY -----END CERTIFICATE----- GTE CyberTrust Global Root ========================== -----BEGIN CERTIFICATE----- MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEG A1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEz MjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQL Ex5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0 IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrHiM3dFw4u sJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTSr41tiGeA5u2ylc9yMcql HHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X404Wqk2kmhXBIgD8SFcd5tB8FLztimQID AQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMW M4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OF NMQkpw0PlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/ -----END CERTIFICATE----- Thawte Personal Basic CA ======================== -----BEGIN CERTIFICATE----- MIIDITCCAoqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCByzELMAkGA1UEBhMCWkExFTATBgNVBAgT DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3Vs dGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMY VGhhd3RlIFBlcnNvbmFsIEJhc2ljIENBMSgwJgYJKoZIhvcNAQkBFhlwZXJzb25hbC1iYXNpY0B0 aGF3dGUuY29tMB4XDTk2MDEwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgcsxCzAJBgNVBAYTAlpB MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhh d3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24x ITAfBgNVBAMTGFRoYXd0ZSBQZXJzb25hbCBCYXNpYyBDQTEoMCYGCSqGSIb3DQEJARYZcGVyc29u YWwtYmFzaWNAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvLyTU23AUE+C FeZIlDWmWr5vQvoPR+53dXLdjUmbllegeNTKP1GzaQuRdhciB5dqxFGTS+CN7zeVoQxN2jSQHReJ l+A1OFdKwPQIcOk8RHtQfmGakOMj04gRRif1CwcOu93RfyAKiLlWCy4cgNrx454p7xS9CkT7G1sY 0b8jkyECAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAt4plrsD16 iddZopQBHyvdEktTwq1/qqcAXJFAVyVKOKqEcLnZgA+le1z7c8a914phXAPjLSeoF+CEhULcXpvG t7Jtu3Sv5D/Lp7ew4F2+eIMllNLbgQ95B21P9DkVWlIBe94y1k049hJcBlDfBVu9FEuh3ym6O0GN 92NWod8isQ== -----END CERTIFICATE----- Thawte Personal Premium CA ========================== -----BEGIN CERTIFICATE----- MIIDKTCCApKgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBzzELMAkGA1UEBhMCWkExFTATBgNVBAgT DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3Vs dGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEjMCEGA1UEAxMa VGhhd3RlIFBlcnNvbmFsIFByZW1pdW0gQ0ExKjAoBgkqhkiG9w0BCQEWG3BlcnNvbmFsLXByZW1p dW1AdGhhd3RlLmNvbTAeFw05NjAxMDEwMDAwMDBaFw0yMDEyMzEyMzU5NTlaMIHPMQswCQYDVQQG EwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAYBgNVBAoT EVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlz aW9uMSMwIQYDVQQDExpUaGF3dGUgUGVyc29uYWwgUHJlbWl1bSBDQTEqMCgGCSqGSIb3DQEJARYb cGVyc29uYWwtcHJlbWl1bUB0aGF3dGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJ Ztn4B0TPuYwu8KHvE0VsBd/eJxZRNkERbGw77f4QfRKe5ZtCmv5gMcNmt3M6SK5O0DI3lIi1DbbZ 8/JE2dWIEt12TfIa/G8jHnrx2JhFTgcQ7xZC0EN1bUre4qrJMf8fAHB8Zs8QJQi6+u4A6UYDZicR FTuqW/KY3TZCstqIdQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBAUAA4GB AGk2ifc0KjNyL2071CKyuG+axTZmDhs8obF1Wub9NdP4qPIHb4Vnjt4rueIXsDqg8A6iAJrf8xQV brvIhVqYgPn/vnQdPfP+MCXRNzRn+qVxeTBhKXLA4CxM+1bkOqhv5TJZUtt1KFBZDPgLGeSs2a+W jS9Q2wfD6h+rM+D1KzGJ -----END CERTIFICATE----- Thawte Personal Freemail CA =========================== -----BEGIN CERTIFICATE----- MIIDLTCCApagAwIBAgIBADANBgkqhkiG9w0BAQQFADCB0TELMAkGA1UEBhMCWkExFTATBgNVBAgT DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3Vs dGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMb VGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25hbC1mcmVl bWFpbEB0aGF3dGUuY29tMB4XDTk2MDEwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgdExCzAJBgNV BAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UE ChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2 aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJ ARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC gYEA1GnX1LCUZFtx6UfYDFG26nKRsIRefS0Nj3sS34UldSh0OkIsYyeflXtL734Zhx2G6qPduc6W ZBrCFG5ErHzmj+hND3EfQDimAKOHePb5lIZererAXnbr2RSjXW56fAylS1V/Bhkpf56aJtVquzgk CGqYx7Hao5iR/Xnb5VrEHLkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQF AAOBgQDH7JJ+Tvj1lqVnYiqk8E0RYNBvjWBYYawmu1I1XAjPMPuoSpaKH2JCI4wXD/S6ZJwXrEcp 352YXtJsYHFcoqzceePnbgBHH7UNKOgCneSa/RP0ptl8sfjcXyMmCZGAc9AUG95DqYMl8uacLxXK /qarigd1iwzdUYRr5PjRzneigQ== -----END CERTIFICATE----- Thawte Server CA ================ -----BEGIN CERTIFICATE----- MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UE AxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5j b20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNV BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29u c3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcG A1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0 ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl /Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg7 1CcEJRCXL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzAR MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9J GubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZ GCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc= -----END CERTIFICATE----- Thawte Premium Server CA ======================== -----BEGIN CERTIFICATE----- MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2 aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2 aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/ qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf 8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t UCemDaYj+bvLpgcUQg== -----END CERTIFICATE----- Equifax Secure CA ================= -----BEGIN CERTIFICATE----- MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW 8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961 zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95 70+sB3c4 -----END CERTIFICATE----- ABAecom (sub., Am. Bankers Assn.) Root CA ========================================= -----BEGIN CERTIFICATE----- MIIDtTCCAp2gAwIBAgIRANAeQJAAAEZSAAAAAQAAAAQwDQYJKoZIhvcNAQEFBQAwgYkxCzAJBgNV BAYTAlVTMQswCQYDVQQIEwJEQzETMBEGA1UEBxMKV2FzaGluZ3RvbjEXMBUGA1UEChMOQUJBLkVD T00sIElOQy4xGTAXBgNVBAMTEEFCQS5FQ09NIFJvb3QgQ0ExJDAiBgkqhkiG9w0BCQEWFWFkbWlu QGRpZ3NpZ3RydXN0LmNvbTAeFw05OTA3MTIxNzMzNTNaFw0wOTA3MDkxNzMzNTNaMIGJMQswCQYD VQQGEwJVUzELMAkGA1UECBMCREMxEzARBgNVBAcTCldhc2hpbmd0b24xFzAVBgNVBAoTDkFCQS5F Q09NLCBJTkMuMRkwFwYDVQQDExBBQkEuRUNPTSBSb290IENBMSQwIgYJKoZIhvcNAQkBFhVhZG1p bkBkaWdzaWd0cnVzdC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx0xHgeVVD BwhMywVCAOINg0Y95JO6tgbTDVm9PsHOQ2cBiiGo77zM0KLMsFWWU4RmBQDaREmA2FQKpSWGlO1j Vv9wbKOhGdJ4vmgqRF4vz8wYXke8OrFGPR7wuSw0X4x8TAgpnUBV6zx9g9618PeKgw6hTLQ6pbNf WiKX7BmbwQVo/ea3qZGULOR4SCQaJRk665WcOQqKz0Ky8BzVX/tr7WhWezkscjiw7pOp03t3POtx A6k4ShZsiSrK2jMTecJVjO2cu/LLWxD4LmE1xilMKtAqY9FlWbT4zfn0AIS2V0KFnTKo+SpU+/94 Qby9cSj0u5C8/5Y0BONFnqFGKECBAgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQgwDQYJKoZI hvcNAQEFBQADggEBAARvJYbk5pYntNlCwNDJALF/VD6Hsm0kqS8Kfv2kRLD4VAe9G52dyntQJHsR W0mjpr8SdNWJt7cvmGQlFLdh6X9ggGvTZOirvRrWUfrAtF13Gn9kCF55xgVM8XrdTX3O5kh7VNJh koHWG9YA8A6eKHegTYjHInYZw8eeG6Z3ePhfm1bR8PIXrI6dWeYf/le22V7hXZ9F7GFoGUHhsiAm /lowdiT/QHI8eZ98IkirRs3bs4Ysj78FQdPB4xTjQRcm0HyncUwZ6EoPclgxfexgeqMiKL0ZJGA/ O4dzwGvky663qyVDslUte6sGDnVdNOVdc22esnVApVnJTzFxiNmIf1Q= -----END CERTIFICATE----- Digital Signature Trust Co. Global CA 1 ======================================= -----BEGIN CERTIFICATE----- MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMTAeFw05ODEy MTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUA A4GLADCBhwKBgQCgbIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJE NySZj9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlVSn5JTe2i o74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0 dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw IoAPMTk5ODEyMTAxODEwMjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQY MBaAFGp5fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i+DAM BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB ACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lNQseSJqBcNJo4cvj9axY+IO6CizEq kzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4 RbyhkwS7hp86W0N6w4pl -----END CERTIFICATE----- Digital Signature Trust Co. Global CA 3 ======================================= -----BEGIN CERTIFICATE----- MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMjAeFw05ODEy MDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUA A4GLADCBhwKBgQC/k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGOD VvsoLeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3oTQPMx7JS xhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0 dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw IoAPMTk5ODEyMDkxOTE3MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQY MBaAFB6CTShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5WzAM BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB AEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHRxdf0CiUPPXiBng+xZ8SQTGPdXqfi up/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVLB3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1 mPnHfxsb1gYgAlihw6ID -----END CERTIFICATE----- Digital Signature Trust Co. Global CA 2 ======================================= -----BEGIN CERTIFICATE----- MIID2DCCAsACEQDQHkCLAAACfAAAAAIAAAABMA0GCSqGSIb3DQEBBQUAMIGpMQswCQYDVQQGEwJ1 czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0 YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgWDExFjAUBgNVBAMTDURTVCBS b290Q0EgWDExITAfBgkqhkiG9w0BCQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTAeFw05ODEyMDExODE4 NTVaFw0wODExMjgxODE4NTVaMIGpMQswCQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UE BxMOU2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjER MA8GA1UECxMIRFNUQ0EgWDExFjAUBgNVBAMTDURTVCBSb290Q0EgWDExITAfBgkqhkiG9w0BCQEW EmNhQGRpZ3NpZ3RydXN0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANLGJrbn pT3BxGjVUG9TxW9JEwm4ryxIjRRqoxdfWvnTLnUv2Chi0ZMv/E3Uq4flCMeZ55I/db3rJbQVwZsZ PdJEjdd0IG03Ao9pk1uKxBmd9LIO/BZsubEFkoPRhSxglD5FVaDZqwgh5mDoO3TymVBRaNADLbGA vqPYUrBEzUNKcI5YhZXhTizWLUFv1oTnyJhEykfbLCSlaSbPa7gnYsP0yXqSI+0TZ4KuRS5F5X5y P4WdlGIQ5jyRoa13AOAV7POEgHJ6jm5gl8ckWRA0g1vhpaRptlc1HHhZxtMvOnNn7pTKBBMFYgZw I7P0fO5F2WQLW0mqpEPOJsREEmy43XkCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAojeyP2n714Z5 VEkxlTMr89EJFEliYIalsBHiUMIdBlc+LegzZL6bqq1fG03UmZWii5rJYnK1aerZWKs17RWiQ9a2 vAd5ZWRzfdd5ynvVWlHG4VMElo04z6MXrDlxawHDi1M8Y+nuecDkvpIyZHqzH5eUYr3qsiAVlfuX 8ngvYzZAOONGDx3drJXK50uQe7FLqdTF65raqtWjlBRGjS0f8zrWkzr2Pnn86Oawde3uPclwx12q gUtGJRzHbBXjlU4PqjI3lAoXJJIThFjSY28r9+ZbYgsTF7ANUkz+/m9c4pFuHf2kYtdo+o56T9II 2pPc8JIRetDccpMMc5NihWjQ9A== -----END CERTIFICATE----- Digital Signature Trust Co. Global CA 4 ======================================= -----BEGIN CERTIFICATE----- MIID2DCCAsACEQDQHkCLAAB3bQAAAAEAAAAEMA0GCSqGSIb3DQEBBQUAMIGpMQswCQYDVQQGEwJ1 czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0 YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgWDIxFjAUBgNVBAMTDURTVCBS b290Q0EgWDIxITAfBgkqhkiG9w0BCQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTAeFw05ODExMzAyMjQ2 MTZaFw0wODExMjcyMjQ2MTZaMIGpMQswCQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UE BxMOU2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjER MA8GA1UECxMIRFNUQ0EgWDIxFjAUBgNVBAMTDURTVCBSb290Q0EgWDIxITAfBgkqhkiG9w0BCQEW EmNhQGRpZ3NpZ3RydXN0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANx18IzA dZaawGIfJvfE4Zrq4FZzW5nNAUSoCLbVp9oaBBg5kkp4o4HC9Xd6ULRw/5qrxsfKboNPQpj7Jgva 3G3WqZlVUmfpKAOS3OWwBZoPFflrWXJW8vo5/Kpo7g8fEIMv/J36F5bdguPmRX3AS4BEH+0s4IT9 kVySVGkl5WJp3OXuAFK9MwutdQKFp2RQLcUZGTDAJtvJ0/0uma1ZtQtN1EGuhUhDWdy3qOKi3sOP 17ihYqZoUFLkzzGnlIXan0YyF1bl8utmPRL/Q9uY73fPy4GNNLHGUEom0eQ+QVCvbK4iNC7Va26D unm4dmVI2gkpZGMiuftHdoWMhkTLCdsCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAtTYOXeFhKFoR ZcA/gwN5Tb4opgsHAlKFzfiR0BBstWogWxyQ2TA8xkieil5k+aFxd+8EJx8H6+Qm93N0yUQYGmbT 4EOvkTvRyyzYdFQ6HE3K1GjNI3wdEJ5F6fYAbqbNGf9PLCmPV03Ed5K+4EwJ+11EhmYhqLkyolbV 6YyDfFk/xPEL553snr2cGA4+wjl5KLcDDQjLxufZATdQEOzMYRZA1K8xdHv8PzGn0EdzMzkbzE5q 10mDEQb+64JYMzJM8FasHpwvVpp7wUocpf1VNs78lk30sPDst2yC7S8xmUJMqbINuBVd8d+6ybVK 1GSYsyapMMj9puyrliGtf8J4tg== -----END CERTIFICATE----- Verisign Class 1 Public Primary Certification Authority ======================================================= -----BEGIN CERTIFICATE----- MIICPTCCAaYCEQDNun9W8N/kvFT+IqyzcqpVMA0GCSqGSIb3DQEBAgUAMF8xCzAJBgNVBAYTAlVT MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMSBQdWJsaWMgUHJpbWFy eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05NjAxMjkwMDAwMDBaFw0yODA4MDEyMzU5NTla MF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3Mg MSBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEF AAOBjQAwgYkCgYEA5Rm/baNWYS2ZSHH2Z965jeu3noaACpEO+jglr0aIguVzqKCbJF0NH8xlbgyw 0FaEGIeaBpsQoXPftFg5a27B9hXVqKg/qhIGjTGsf7A01480Z4gJzRQR4k5FVmkfeAKA2txHkSm7 NsljXMXg1y2He6G3MrB7MLoqLzGq7qNn2tsCAwEAATANBgkqhkiG9w0BAQIFAAOBgQBMP7iLxmjf 7kMzDl3ppssHhE16M/+SG/Q2rdiVIjZoEWx8QszznC7EBz8UsA9P/5CSdvnivErpj82ggAr3xSnx giJduLHdgSOjeyUVRjB5FvjqBUuUfx3CHMjjt/QQQDwTw18fU+hI5Ia0e6E1sHslurjTjqs/OJ0A NACY89FxlA== -----END CERTIFICATE----- Verisign Class 2 Public Primary Certification Authority ======================================================= -----BEGIN CERTIFICATE----- MIICPDCCAaUCEC0b/EoXjaOR6+f/9YtFvgswDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAyIFB1YmxpYyBQcmltYXJ5 IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAy IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA A4GNADCBiQKBgQC2WoujDWojg4BrzzmH9CETMwZMJaLtVRKXxaeAufqDwSCg+i8VDXyhYGt+eSz6 Bg86rvYbb7HS/y8oUl+DfUvEerf4Zh+AVPy3wo5ZShRXRtGak75BkQO7FYCTXOvnzAhsPz6zSvz/ S2wj1VCCJkQZjiPDceoZJEcEnnW/yKYAHwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBAIobK/o5wXTX XtgZZKJYSi034DNHD6zt96rbHuSLBlxgJ8pFUs4W7z8GZOeUaHxgMxURaa+dYo2jA1Rrpr7l7gUY YAS/QoD90KioHgE796Ncr6Pc5iaAIzy4RHT3Cq5Ji2F4zCS/iIqnDupzGUH9TQPwiNHleI2lKk/2 lw0Xd8rY -----END CERTIFICATE----- Verisign Class 3 Public Primary Certification Authority ======================================================= -----BEGIN CERTIFICATE----- MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5 IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94 f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59Ah WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf Tqj/ZA1k -----END CERTIFICATE----- Verisign Class 1 Public Primary Certification Authority - G2 ============================================================ -----BEGIN CERTIFICATE----- MIIDAjCCAmsCEEzH6qqYPnHTkxD4PTqJkZIwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq0Lq+Fi24g9TK0g+8djHKlNgd k4xWArzZbxpvUjZudVYKVdPfQ4chEWWKfo+9Id5rMj8bhDSVBZ1BNeuS65bdqlk/AVNtmU/t5eIq WpDBucSmFc/IReumXY6cPvBkJHalzasab7bYe1FhbqZ/h8jit+U03EGI6glAvnOSPWvndQIDAQAB MA0GCSqGSIb3DQEBBQUAA4GBAKlPww3HZ74sy9mozS11534Vnjty637rXC0Jh9ZrbWB85a7FkCMM XErQr7Fd88e2CtvgFZMN3QO8x3aKtd1Pw5sTdbgBwObJW2uluIncrKTdcu1OofdPvAbT6shkdHvC lUGcZXNY8ZCaPGqxmMnEh7zPRW1F4m4iP/68DzFc6PLZ -----END CERTIFICATE----- Verisign Class 2 Public Primary Certification Authority - G2 ============================================================ -----BEGIN CERTIFICATE----- MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQswCQYDVQQGEwJV UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1 c3QgTmV0d29yazAeFw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJV UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1 c3QgTmV0d29yazCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjx nNuX6Zr8wgQGE75fUsjMHiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRC wiNPStjwDqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cCAwEA ATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9jinb3/7aHmZuovCfTK 1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAXrXfMSTWqz9iP0b63GJZHc2pUIjRk LbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnInjBJ7xUS0rg== -----END CERTIFICATE----- Verisign Class 3 Public Primary Certification Authority - G2 ============================================================ -----BEGIN CERTIFICATE----- MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCO FoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71 lSk8UOg013gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQAB MA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT 1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTD Oaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpYoJ2daZH9 -----END CERTIFICATE----- Verisign Class 4 Public Primary Certification Authority - G2 ============================================================ -----BEGIN CERTIFICATE----- MIIDAjCCAmsCEDKIjprS9esTR/h/xCA3JfgwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgNCBQdWJsaWMgUHJpbWFy eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgNCBQdWJsaWMgUHJpbWFy eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC68OTP+cSuhVS5B1f5j8V/aBH4 xBewRNzjMHPVKmIquNDMHO0oW369atyzkSTKQWI8/AIBvxwWMZQFl3Zuoq29YRdsTjCG8FE3KlDH qGKB3FtKqsGgtG7rL+VXxbErQHDbWk2hjh+9Ax/YA9SPTJlxvOKCzFjomDqG04Y48wApHwIDAQAB MA0GCSqGSIb3DQEBBQUAA4GBAIWMEsGnuVAVess+rLhDityq3RS6iYF+ATwjcSGIL4LcY/oCRaxF WdcqWERbt5+BO5JoPeI3JPV7bI92NZYJqFmduc4jq3TWg/0ycyfYaT5DdPauxYma51N86Xv2S/PB ZYPejYqcPIiNOVn8qj8ijaHBZlCBckztImRPT8qAkbYp -----END CERTIFICATE----- GlobalSign Root CA ================== -----BEGIN CERTIFICATE----- MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== -----END CERTIFICATE----- GlobalSign Root CA - R2 ======================= -----BEGIN CERTIFICATE----- MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6 ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp 9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu 01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7 9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== -----END CERTIFICATE----- ValiCert Class 1 VA =================== -----BEGIN CERTIFICATE----- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIy MjM0OFoXDTE5MDYyNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEg UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA A4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9YLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIi GQj4/xEjm84H9b9pGib+TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCm DuJWBQ8YTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0LBwG lN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLWI8sogTLDAHkY7FkX icnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPwnXS3qT6gpf+2SQMT2iLM7XGCK5nP Orf1LXLI -----END CERTIFICATE----- ValiCert Class 2 VA =================== -----BEGIN CERTIFICATE----- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw MTk1NFoXDTE5MDYyNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIg UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA A4GNADCBiQKBgQDOOnHK5avIWZJV16vYdA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVC CSRrCl6zfN1SLUzm1NZ9WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7Rf ZHM047QSv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9vUJSZ SWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTuIYEZoDJJKPTEjlbV UjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwCW/POuZ6lcg5Ktz885hZo+L7tdEy8 W9ViH0Pd -----END CERTIFICATE----- RSA Root Certificate 1 ====================== -----BEGIN CERTIFICATE----- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw MjIzM1oXDTE5MDYyNjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMg UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA A4GNADCBiQKBgQDjmFGWHOjVsQaBalfDcnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td 3zZxFJmP3MKS8edgkpfs2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89H BFx1cQqYJJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliEZwgs 3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJn0WuPIqpsHEzXcjF V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r on+jjBXu -----END CERTIFICATE----- Verisign Class 1 Public Primary Certification Authority - G3 ============================================================ -----BEGIN CERTIFICATE----- MIIEGjCCAwICEQCLW3VWhFSFCwDPrzhIzrGkMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAN2E1Lm0+afY8wR4nN493GwTFtl63SRRZsDHJlkNrAYIwpTRMx/wgzUfbhvI3qpuFU5UJ+/E bRrsC+MO8ESlV8dAWB6jRx9x7GD2bZTIGDnt/kIYVt/kTEkQeE4BdjVjEjbdZrwBBDajVWjVojYJ rKshJlQGrT/KFOCsyq0GHZXi+J3x4GD/wn91K0zM2v6HmSHquv4+VNfSWXjbPG7PoBMAGrgnoeS+ Z5bKoMWznN3JdZ7rMJpfo83ZrngZPyPpXNspva1VyBtUjGP26KbqxzcSXKMpHgLZ2x87tNcPVkeB FQRKr4Mn0cVYiMHd9qqnoxjaaKptEVHhv2Vrn5Z20T0CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA q2aN17O6x5q25lXQBfGfMY1aqtmqRiYPce2lrVNWYgFHKkTp/j90CxObufRNG7LRX7K20ohcs5/N y9Sn2WCVhDr4wTcdYcrnsMXlkdpUpqwxga6X3s0IrLjAl4B/bnKk52kTlWUfxJM8/XmPBNQ+T+r3 ns7NZ3xPZQL/kYVUc8f/NveGLezQXk//EZ9yBta4GvFMDSZl4kSAHsef493oCtrspSCAaWihT37h a88HQfqDjrw43bAuEbFrskLMmrz5SCJ5ShkPshw+IHTZasO+8ih4E1Z5T21Q6huwtVexN2ZYI/Pc D98Kh8TvhgXVOBRgmaNL3gaWcSzy27YfpO8/7g== -----END CERTIFICATE----- Verisign Class 2 Public Primary Certification Authority - G3 ============================================================ -----BEGIN CERTIFICATE----- MIIEGTCCAwECEGFwy0mMX5hFKeewptlQW3owDQYJKoZIhvcNAQEFBQAwgcoxCzAJBgNVBAYTAlVT MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29y azE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ug b25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0 aW9uIEF1dGhvcml0eSAtIEczMB4XDTk5MTAwMTAwMDAwMFoXDTM2MDcxNjIzNTk1OVowgcoxCzAJ BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1 c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y aXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEArwoNwtUs22e5LeWUJ92lvuCwTY+zYVY81nzD9M0+hsuiiOLh2KRpxbXiv8GmR1BeRjmL1Za6 tW8UvxDOJxOeBUebMXoT2B/Z0wI3i60sR/COgQanDTAM6/c8DyAd3HJG7qUCyFvDyVZpTMUYwZF7 C9UTAJu878NIPkZgIIUq1ZC2zYugzDLdt/1AVbJQHFauzI13TccgTacxdu9okoqQHgiBVrKtaaNS 0MscxCM9H5n+TOgWY47GCI72MfbS+uV23bUckqNJzc0BzWjNqWm6o+sdDZykIKbBoMXRRkwXbdKs Zj+WjOCE1Db/IlnF+RFgqF8EffIa9iVCYQ/ESrg+iQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQA0 JhU8wI1NQ0kdvekhktdmnLfexbjQ5F1fdiLAJvmEOjr5jLX77GDx6M4EsMjdpwOPMPOY36TmpDHf 0xwLRtxyID+u7gU8pDM/CzmscHhzS5kr3zDCVLCoO1Wh/hYozUK9dG6A2ydEp85EXdQbkJgNHkKU sQAsBNB0owIFImNjzYO1+8FtYmtpdf1dcEG59b98377BMnMiIYtYgXsVkXq642RIsH/7NiXaldDx JBQX3RiAa0YjOVT1jmIJBB2UkKab5iXiQkWquJCtvgiPqQtCGJTPcjnhsUPgKM+351psE2tJs//j GHyJizNdrDPXp/naOlXJWBD5qu9ats9LS98q -----END CERTIFICATE----- Verisign Class 3 Public Primary Certification Authority - G3 ============================================================ -----BEGIN CERTIFICATE----- MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1 EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj 055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC /Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0 xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== -----END CERTIFICATE----- Verisign Class 4 Public Primary Certification Authority - G3 ============================================================ -----BEGIN CERTIFICATE----- MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM 8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg== -----END CERTIFICATE----- Entrust.net Secure Server CA ============================ -----BEGIN CERTIFICATE----- MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMCVVMxFDASBgNV BAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5uZXQvQ1BTIGluY29ycC4gYnkg cmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRl ZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eTAeFw05OTA1MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIG A1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBi eSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1p dGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0 aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQ aO2f55M28Qpku0f1BBc/I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5 gXpa0zf3wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OCAdcw ggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHboIHYpIHVMIHSMQsw CQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5l dC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENl cnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0MFqBDzIwMTkw NTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0Bow HQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAaMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyN Ewr75Ji174z4xRAN95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9 n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI= -----END CERTIFICATE----- Entrust.net Secure Personal CA ============================== -----BEGIN CERTIFICATE----- MIIE7TCCBFagAwIBAgIEOAOR7jANBgkqhkiG9w0BAQQFADCByTELMAkGA1UEBhMCVVMxFDASBgNV BAoTC0VudHJ1c3QubmV0MUgwRgYDVQQLFD93d3cuZW50cnVzdC5uZXQvQ2xpZW50X0NBX0luZm8v Q1BTIGluY29ycC4gYnkgcmVmLiBsaW1pdHMgbGlhYi4xJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1 c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENsaWVudCBDZXJ0aWZpY2F0aW9u IEF1dGhvcml0eTAeFw05OTEwMTIxOTI0MzBaFw0xOTEwMTIxOTU0MzBaMIHJMQswCQYDVQQGEwJV UzEUMBIGA1UEChMLRW50cnVzdC5uZXQxSDBGBgNVBAsUP3d3dy5lbnRydXN0Lm5ldC9DbGllbnRf Q0FfSW5mby9DUFMgaW5jb3JwLiBieSByZWYuIGxpbWl0cyBsaWFiLjElMCMGA1UECxMcKGMpIDE5 OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5uZXQgQ2xpZW50IENlcnRp ZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDIOpleMRffrCdv kHvkGf9FozTC28GoT/Bo6oT9n3V5z8GKUZSvx1cDR2SerYIbWtp/N3hHuzeYEpbOxhN979IMMFGp OZ5V+Pux5zDeg7K6PvHViTs7hbqqdCz+PzFur5GVbgbUB01LLFZHGARS2g4Qk79jkJvh34zmAqTm T173iwIBA6OCAeAwggHcMBEGCWCGSAGG+EIBAQQEAwIABzCCASIGA1UdHwSCARkwggEVMIHkoIHh oIHepIHbMIHYMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxSDBGBgNVBAsUP3d3 dy5lbnRydXN0Lm5ldC9DbGllbnRfQ0FfSW5mby9DUFMgaW5jb3JwLiBieSByZWYuIGxpbWl0cyBs aWFiLjElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50 cnVzdC5uZXQgQ2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCyg KqAohiZodHRwOi8vd3d3LmVudHJ1c3QubmV0L0NSTC9DbGllbnQxLmNybDArBgNVHRAEJDAigA8x OTk5MTAxMjE5MjQzMFqBDzIwMTkxMDEyMTkyNDMwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU xPucKXuXzUyW/O5bs8qZdIuV6kwwHQYDVR0OBBYEFMT7nCl7l81MlvzuW7PKmXSLlepMMAwGA1Ud EwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEEBQADgYEAP66K 8ddmAwWePvrqHEa7pFuPeJoSSJn59DXeDDYHAmsQOokUgZwxpnyyQbJq5wcBoUv5nyU7lsqZwz6h URzzwy5E97BnRqqS5TvaHBkUODDV4qIxJS7x7EU47fgGWANzYrAQMY9Av2TgXD7FTx/aEkP/TOYG JqibGapEPHayXOw= -----END CERTIFICATE----- Entrust.net Premium 2048 Secure Server CA ========================================= -----BEGIN CERTIFICATE----- MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx NzUwNTFaFw0xOTEyMjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3 d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo3QwcjARBglghkgBhvhC AQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGAvtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdER gL7YibkIozH5oSQJFrlwMB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0B AQUFAAOCAQEAWUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQh7A6tcOdBTcS o8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18f3v/rxzP5tsHrV7bhZ3QKw0z 2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfNB/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjX OP/swNlQ8C5LWK5Gb9Auw2DaclVyvUxFnmG6v4SBkgPR0ml8xQ== -----END CERTIFICATE----- Baltimore CyberTrust Root ========================= -----BEGIN CERTIFICATE----- MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9 XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5 hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp -----END CERTIFICATE----- Equifax Secure Global eBusiness CA ================================== -----BEGIN CERTIFICATE----- MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp bmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMx HDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEds b2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRV PEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzN qfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxn hcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j BBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hs MA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okEN I7SS+RkAZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIY NMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV -----END CERTIFICATE----- Equifax Secure eBusiness CA 1 ============================= -----BEGIN CERTIFICATE----- MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT RXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENB LTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQwMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UE ChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNz IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ 1MRoRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBuWqDZQu4a IZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKwEnv+j6YDAgMBAAGjZjBk MBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kW Nl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRKeDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQF AAOBgQB1W6ibAxHm6VZMzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5 lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+ KpYrtWKmpj29f5JZzVoqgrI3eQ== -----END CERTIFICATE----- Equifax Secure eBusiness CA 2 ============================= -----BEGIN CERTIFICATE----- MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEXMBUGA1UE ChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0y MB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoT DkVxdWlmYXggU2VjdXJlMSYwJAYDVQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn 2Z0GvxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/BPO3QSQ5 BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0CAwEAAaOCAQkwggEFMHAG A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUx JjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoG A1UdEAQTMBGBDzIwMTkwNjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9e uSBIplBqy/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQFMAMB Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAAyGgq3oThr1 jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia 78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUm V+GRMOrN -----END CERTIFICATE----- Visa International Global Root 2 ================================ -----BEGIN CERTIFICATE----- MIIDgDCCAmigAwIBAgICAx4wDQYJKoZIhvcNAQEFBQAwYTELMAkGA1UEBhMCVVMxDTALBgNVBAoT BFZJU0ExLzAtBgNVBAsTJlZpc2EgSW50ZXJuYXRpb25hbCBTZXJ2aWNlIEFzc29jaWF0aW9uMRIw EAYDVQQDEwlHUCBSb290IDIwHhcNMDAwODE2MjI1MTAwWhcNMjAwODE1MjM1OTAwWjBhMQswCQYD VQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZp Y2UgQXNzb2NpYXRpb24xEjAQBgNVBAMTCUdQIFJvb3QgMjCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAKkBcLWqxEDwq2omYXkZAPy/mzdZDK9vZBv42pWUJGkzEXDK41Z0ohdXZFwgBuHW 73G3O/erwWnQSaSxBNf0V2KJXLB1LRckaeNCYOTudNargFbYiCjh+20i/SN8RnNPflRzHqgsVVh1 t0zzWkWlAhr62p3DRcMiXvOL8WAp0sdftAw6UYPvMPjU58fy+pmjIlC++QU3o63tmsPm7Igbthkn GziLgE3sucfFicv8GjLtI/C1AVj59o/ghalMCXI5Etuz9c9OYmTaxhkVOmMd6RdVoUwiPDQyRvhl V7or7zaMavrZ2UT0qt2E1w0cslSsMoW0ZA3eQbuxNMYBhjJk1Z8CAwEAAaNCMEAwHQYDVR0OBBYE FJ59SzS/ca3CBfYDdYDOqU8axCRMMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0G CSqGSIb3DQEBBQUAA4IBAQAhpXYUVfmtJ3CPPPTVbMjMCqujmAuKBiPFyWHbmQdpNSYx/scuhMKZ YdQN6X0uEyt8joW2hcdLzzW2LEc9zikv2G+fiRxkk78IvXbQkIqUs38oW26sTTMs7WXcFsziza6k PWKSBpUmv9+55CCmc2rBvveURNZNbyoLaxhNdBA2aGpawWqn3TYpjLgwi08hPwAuVDAHOrqK5MOe yti12HvOdUVmB/RtLdh6yumJivIj2C/LbgA2T/vwLwHMD8AiZfSr4k5hLQOCfZEWtTDVFN5ex5D8 ofyrEK9ca3CnB+8phuiyJccg/ybdd+95RBTEvd07xQObdyPsoOy7Wjm1zK0G -----END CERTIFICATE----- beTRUSTed Root CA ================= -----BEGIN CERTIFICATE----- MIIFLDCCBBSgAwIBAgIEOU99hzANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJXVzESMBAGA1UE ChMJYmVUUlVTVGVkMRswGQYDVQQDExJiZVRSVVNUZWQgUm9vdCBDQXMxGjAYBgNVBAMTEWJlVFJV U1RlZCBSb290IENBMB4XDTAwMDYyMDE0MjEwNFoXDTEwMDYyMDEzMjEwNFowWjELMAkGA1UEBhMC V1cxEjAQBgNVBAoTCWJlVFJVU1RlZDEbMBkGA1UEAxMSYmVUUlVTVGVkIFJvb3QgQ0FzMRowGAYD VQQDExFiZVRSVVNUZWQgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANS0 c3oTCjhVAb6JVuGUntS+WutKNHUbYSnE4a0IYCF4SP+00PpeQY1hRIfo7clY+vyTmt9P6j41ffgz eubx181vSUs9Ty1uDoM6GHh3o8/n9E1z2Jo7Gh2+lVPPIJfCzz4kUmwMjmVZxXH/YgmPqsWPzGCg c0rXOD8Vcr+il7dw6K/ifhYGTPWqZCZyByWtNfwYsSbX2P8ZDoMbjNx4RWc0PfSvHI3kbWvtILNn mrRhyxdviTX/507AMhLn7uzf/5cwdO2NR47rtMNE5qdMf1ZD6Li8tr76g5fmu/vEtpO+GRg+jIG5 c4gW9JZDnGdzF5DYCW5jrEq2I8QBoa2k5MUCAwEAAaOCAfgwggH0MA8GA1UdEwEB/wQFMAMBAf8w ggFZBgNVHSAEggFQMIIBTDCCAUgGCisGAQQBsT4BAAAwggE4MIIBAQYIKwYBBQUHAgIwgfQagfFS ZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFu Y2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBv ZiB1c2UsIGFuZCBjZXJ0aWZpY2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudCwgd2hpY2ggY2FuIGJl IGZvdW5kIGF0IGJlVFJVU1RlZCdzIHdlYiBzaXRlLCBodHRwczovL3d3dy5iZVRSVVNUZWQuY29t L3ZhdWx0L3Rlcm1zMDEGCCsGAQUFBwIBFiVodHRwczovL3d3dy5iZVRSVVNUZWQuY29tL3ZhdWx0 L3Rlcm1zMDQGA1UdHwQtMCswKaAnoCWkIzAhMRIwEAYDVQQKEwliZVRSVVNUZWQxCzAJBgNVBAYT AldXMB0GA1UdDgQWBBQquZtpLjub2M3eKjEENGvKBxirZzAfBgNVHSMEGDAWgBQquZtpLjub2M3e KjEENGvKBxirZzAOBgNVHQ8BAf8EBAMCAf4wDQYJKoZIhvcNAQEFBQADggEBAHlh26Nebhax6nZR +csVm8tpvuaBa58oH2U+3RGFktToQb9+M70j5/Egv6S0phkBxoyNNXxlpE8JpNbYIxUFE6dDea/b ow6be3ga8wSGWsb2jCBHOElQBp1yZzrwmAOtlmdE/D8QDYZN5AA7KXvOOzuZhmElQITcE2K3+spZ 1gMe1lMBzW1MaFVA4e5rxyoAAEiCswoBw2AqDPeCNe5IhpbkdNQ96gFxugR1QKepfzk5mlWXKWWu GVUlBXJH0+gY3Ljpr0NzARJ0o+FcXxVdJPP55PS2Z2cS52QiivalQaYctmBjRYoQtLpGEK5BV2Vs PyMQPyEQWbfkQN0mDCP2qq4= -----END CERTIFICATE----- AddTrust Low-Value Services Root ================================ -----BEGIN CERTIFICATE----- MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6 54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1 Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk= -----END CERTIFICATE----- AddTrust External Root ====================== -----BEGIN CERTIFICATE----- MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821 +iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy 2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7 7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355 e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= -----END CERTIFICATE----- AddTrust Public Services Root ============================= -----BEGIN CERTIFICATE----- MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB /zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4 JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL +YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9 Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H EufOX1362KqxMy3ZdvJOOjMMK7MtkAY= -----END CERTIFICATE----- AddTrust Qualified Certificates Root ==================================== -----BEGIN CERTIFICATE----- MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx 64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3 KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/ BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE= -----END CERTIFICATE----- Verisign Time Stamping Authority CA =================================== -----BEGIN CERTIFICATE----- MIIDzTCCAzagAwIBAgIQU2GyYK7bcY6nlLMTM/QHCTANBgkqhkiG9w0BAQUFADCBwTELMAkGA1UE BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTwwOgYDVQQLEzNDbGFzcyAzIFB1YmxpYyBQ cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIxOjA4BgNVBAsTMShjKSAxOTk4IFZl cmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAsTFlZlcmlTaWdu IFRydXN0IE5ldHdvcmswHhcNMDAwOTI2MDAwMDAwWhcNMTAwOTI1MjM1OTU5WjCBpTEXMBUGA1UE ChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNV BAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhIChjKTAwMSww KgYDVQQDEyNWZXJpU2lnbiBUaW1lIFN0YW1waW5nIEF1dGhvcml0eSBDQTCBnzANBgkqhkiG9w0B AQEFAAOBjQAwgYkCgYEA0hmdZ8IAIVlizrQJIkRpivglWtvtDbc2fk7gu5Q+kCWHwmFHKdm9VLhj zCx9abQzNvQ3B5rB3UBU/OB4naCTuQk9I1F/RMIUdNsKvsvJMDRAmD7Q1yUQgZS9B0+c1lQn3y6o v8uQjI11S7zi6ESHzeZBCiVu6PQkAsVSD27smHUCAwEAAaOB3zCB3DAPBgNVHRMECDAGAQH/AgEA MEUGA1UdIAQ+MDwwOgYMYIZIAYb4RQEHFwEDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZl cmlzaWduLmNvbS9ycGEwMQYDVR0fBCowKDAmoCSgIoYgaHR0cDovL2NybC52ZXJpc2lnbi5jb20v cGNhMy5jcmwwCwYDVR0PBAQDAgEGMEIGCCsGAQUFBwEBBDYwNDAyBggrBgEFBQcwAaYmFiRodHRw Oi8vb2NzcC52ZXJpc2lnbi5jb20vb2NzcC9zdGF0dXMwDQYJKoZIhvcNAQEFBQADgYEAgnBold+2 DcIBcBlK0lRWHqzyRUyHuPU163hLBanInTsZIS5wNEqi9YngFXVF5yg3ADQnKeg3S/LvRJdrF1Ea w1adPBqK9kpGRjeM+sv1ZFo4aC4cw+9wzrhGBha/937ntag+RaypJXUie28/sJyU58dzq6wf7iWb wBbtt8pb8BQ= -----END CERTIFICATE----- Thawte Time Stamping CA ======================= -----BEGIN CERTIFICATE----- MIICoTCCAgqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBizELMAkGA1UEBhMCWkExFTATBgNVBAgT DFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzANBgNVBAoTBlRoYXd0ZTEdMBsG A1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAdBgNVBAMTFlRoYXd0ZSBUaW1lc3RhbXBpbmcg Q0EwHhcNOTcwMTAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBizELMAkGA1UEBhMCWkExFTATBgNV BAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzANBgNVBAoTBlRoYXd0ZTEd MBsGA1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAdBgNVBAMTFlRoYXd0ZSBUaW1lc3RhbXBp bmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANYrWHhhRYZT6jR7UZztsOYuGA7+4F+o J9O0yeB8WU4WDnNUYMF/9p8u6TqFJBU820cEY8OexJQaWt9MevPZQx08EHp5JduQ/vBR5zDWQQD9 nyjfeb6Uu522FOMjhdepQeBMpHmwKxqL8vg7ij5FrHGSALSQQZj7X+36ty6K+Ig3AgMBAAGjEzAR MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAZ9viwuaHPUCDhjc1fR/OmsMMZiCo uqoEiYbC9RAIDb/LogWK0E02PvTX72nGXuSwlG9KuefeW4i2e9vjJ+V2w/A1wcu1J5szedyQpgCe d/r8zSeUQhac0xxo7L9c3eWpexAKMnRUEzGLhQOEkbdYATAUOK8oyvyxUBkZCayJSdM= -----END CERTIFICATE----- Entrust.net Global Secure Server CA =================================== -----BEGIN CERTIFICATE----- MIIElTCCA/6gAwIBAgIEOJsRPDANBgkqhkiG9w0BAQQFADCBujEUMBIGA1UEChMLRW50cnVzdC5u ZXQxPzA9BgNVBAsUNnd3dy5lbnRydXN0Lm5ldC9TU0xfQ1BTIGluY29ycC4gYnkgcmVmLiAobGlt aXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDIwMDAgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UE AxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0w MDAyMDQxNzIwMDBaFw0yMDAyMDQxNzUwMDBaMIG6MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDE/MD0G A1UECxQ2d3d3LmVudHJ1c3QubmV0L1NTTF9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlh Yi4pMSUwIwYDVQQLExwoYykgMjAwMCBFbnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRy dXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3 DQEBAQUAA4GNADCBiQKBgQDHwV9OcfHO8GCGD9JYf9Mzly0XonUwtZZkJi9ow0SrqHXmAGc0V55l xyKbc+bT3QgON1WqJUaBbL3+qPZ1V1eMkGxKwz6LS0MKyRFWmponIpnPVZ5h2QLifLZ8OAfc439P mrkDQYC2dWcTC5/oVzbIXQA23mYU2m52H083jIITiQIDAQABo4IBpDCCAaAwEQYJYIZIAYb4QgEB BAQDAgAHMIHjBgNVHR8EgdswgdgwgdWggdKggc+kgcwwgckxFDASBgNVBAoTC0VudHJ1c3QubmV0 MT8wPQYDVQQLFDZ3d3cuZW50cnVzdC5uZXQvU1NMX0NQUyBpbmNvcnAuIGJ5IHJlZi4gKGxpbWl0 cyBsaWFiLikxJTAjBgNVBAsTHChjKSAyMDAwIEVudHJ1c3QubmV0IExpbWl0ZWQxOjA4BgNVBAMT MUVudHJ1c3QubmV0IFNlY3VyZSBTZXJ2ZXIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxDTALBgNV BAMTBENSTDEwKwYDVR0QBCQwIoAPMjAwMDAyMDQxNzIwMDBagQ8yMDIwMDIwNDE3NTAwMFowCwYD VR0PBAQDAgEGMB8GA1UdIwQYMBaAFMtswGvjuz7L/CKc/vuLkpyw8m4iMB0GA1UdDgQWBBTLbMBr 47s+y/winP77i5KcsPJuIjAMBgNVHRMEBTADAQH/MB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4w AwIEkDANBgkqhkiG9w0BAQQFAAOBgQBi24GRzsiad0Iv7L0no1MPUBvqTpLwqa+poLpIYcvvyQbv H9X07t9WLebKahlzqlO+krNQAraFJnJj2HVQYnUUt7NQGj/KEQALhUVpbbalrlHhStyCP2yMNLJ3 a9kC9n8O6mUE8c1UyrrJzOCE98g+EZfTYAkYvAX/bIkz8OwVDw== -----END CERTIFICATE----- Entrust.net Global Secure Personal CA ===================================== -----BEGIN CERTIFICATE----- MIIEgzCCA+ygAwIBAgIEOJ725DANBgkqhkiG9w0BAQQFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9HQ0NBX0NQUyBpbmNvcnAuIGJ5IHJlZi4gKGxp bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAyMDAwIEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV BAMTKkVudHJ1c3QubmV0IENsaWVudCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMDAyMDcx NjE2NDBaFw0yMDAyMDcxNjQ2NDBaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3 d3d3LmVudHJ1c3QubmV0L0dDQ0FfQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl MCMGA1UECxMcKGMpIDIwMDAgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u ZXQgQ2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB iQKBgQCTdLS25MVL1qFof2LV7PdRV7NySpj10InJrWPNTTVRaoTUrcloeW+46xHbh65cJFET8VQl hK8pK5/jgOLZy93GRUk0iJBeAZfv6lOm3fzB3ksqJeTpNfpVBQbliXrqpBFXO/x8PTbNZzVtpKkl Wb1m9fkn5JVn1j+SgF7yNH0rhQIDAQABo4IBnjCCAZowEQYJYIZIAYb4QgEBBAQDAgAHMIHdBgNV HR8EgdUwgdIwgc+ggcyggcmkgcYwgcMxFDASBgNVBAoTC0VudHJ1c3QubmV0MUAwPgYDVQQLFDd3 d3cuZW50cnVzdC5uZXQvR0NDQV9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUw IwYDVQQLExwoYykgMjAwMCBFbnRydXN0Lm5ldCBMaW1pdGVkMTMwMQYDVQQDEypFbnRydXN0Lm5l dCBDbGllbnQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw IoAPMjAwMDAyMDcxNjE2NDBagQ8yMDIwMDIwNzE2NDY0MFowCwYDVR0PBAQDAgEGMB8GA1UdIwQY MBaAFISLdP3FjcD/J20gN0V8/i3OutN9MB0GA1UdDgQWBBSEi3T9xY3A/ydtIDdFfP4tzrrTfTAM BgNVHRMEBTADAQH/MB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0BAQQF AAOBgQBObzWAO9GK9Q6nIMstZVXQkvTnhLUGJoMShAusO7JE7r3PQNsgDrpuFOow4DtifH+La3xK p9U1PL6oXOpLu5OOgGarDyn9TS2/GpsKkMWr2tGzhtQvJFJcem3G8v7lTRowjJDyutdKPkN+1MhQ Gof4T4HHdguEOnKdzmVml64mXg== -----END CERTIFICATE----- Entrust Root Certification Authority ==================================== -----BEGIN CERTIFICATE----- MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 -----END CERTIFICATE----- AOL Time Warner Root Certification Authority 1 ============================================== -----BEGIN CERTIFICATE----- MIID5jCCAs6gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMCVVMxHTAbBgNVBAoT FEFPTCBUaW1lIFdhcm5lciBJbmMuMRwwGgYDVQQLExNBbWVyaWNhIE9ubGluZSBJbmMuMTcwNQYD VQQDEy5BT0wgVGltZSBXYXJuZXIgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAxMB4XDTAy MDUyOTA2MDAwMFoXDTM3MTEyMDE1MDMwMFowgYMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBT0wg VGltZSBXYXJuZXIgSW5jLjEcMBoGA1UECxMTQW1lcmljYSBPbmxpbmUgSW5jLjE3MDUGA1UEAxMu QU9MIFRpbWUgV2FybmVyIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAJnej8Mlo2k06AX3dLm/WpcZuS+U0pPlLYnKhHw/EEMbjIt8 hFj4JHxIzyr9wBXZGH6EGhfT257XyuTZ16pYUYfw8ItITuLCxFlpMGK2MKKMCxGZYTVtfu/FsRkG IBKOQuHfD5YQUqjPnF+VFNivO3ULMSAfRC+iYkGzuxgh28pxPIzstrkNn+9R7017EvILDOGsQI93 f7DKeHEMXRZxcKLXwjqFzQ6axOAAsNUl6twr5JQtOJyJQVdkKGUZHLZEtMgxa44Be3ZZJX8VHIQI fHNlIAqhBC4aMqiaILGcLCFZ5/vP7nAtCMpjPiybkxlqpMKX/7eGV4iFbJ4VFitNLLMCAwEAAaNj MGEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUoTYwFsuGkABFgFOxj8jYPXy+XxIwHwYDVR0j BBgwFoAUoTYwFsuGkABFgFOxj8jYPXy+XxIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUA A4IBAQCKIBilvrMvtKaEAEAwKfq0FHNMeUWn9nDg6H5kHgqVfGphwu9OH77/yZkfB2FK4V1Mza3u 0FIy2VkyvNp5ctZ7CegCgTXTCt8RHcl5oIBN/lrXVtbtDyqvpxh1MwzqwWEFT2qaifKNuZ8u77Bf WgDrvq2g+EQFZ7zLBO+eZMXpyD8Fv8YvBxzDNnGGyjhmSs3WuEvGbKeXO/oTLW4jYYehY0KswsuX n2Fozy1MBJ3XJU8KDk2QixhWqJNIV9xvrr2eZ1d3iVCzvhGbRWeDhhmH05i9CBoWH1iCC+GWaQVL juyDUTEH1dSf/1l7qG6Fz9NLqUmwX7A5KGgOc90lmt4S -----END CERTIFICATE----- AOL Time Warner Root Certification Authority 2 ============================================== -----BEGIN CERTIFICATE----- MIIF5jCCA86gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMCVVMxHTAbBgNVBAoT FEFPTCBUaW1lIFdhcm5lciBJbmMuMRwwGgYDVQQLExNBbWVyaWNhIE9ubGluZSBJbmMuMTcwNQYD VQQDEy5BT0wgVGltZSBXYXJuZXIgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAyMB4XDTAy MDUyOTA2MDAwMFoXDTM3MDkyODIzNDMwMFowgYMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBT0wg VGltZSBXYXJuZXIgSW5jLjEcMBoGA1UECxMTQW1lcmljYSBPbmxpbmUgSW5jLjE3MDUGA1UEAxMu QU9MIFRpbWUgV2FybmVyIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZI hvcNAQEBBQADggIPADCCAgoCggIBALQ3WggWmRToVbEbJGv8x4vmh6mJ7ouZzU9AhqS2TcnZsdw8 TQ2FTBVsRotSeJ/4I/1n9SQ6aF3Q92RhQVSji6UI0ilbm2BPJoPRYxJWSXakFsKlnUWsi4SVqBax 7J/qJBrvuVdcmiQhLE0OcR+mrF1FdAOYxFSMFkpBd4aVdQxHAWZg/BXxD+r1FHjHDtdugRxev17n OirYlxcwfACtCJ0zr7iZYYCLqJV+FNwSbKTQ2O9ASQI2+W6p1h2WVgSysy0WVoaP2SBXgM1nEG2w TPDaRrbqJS5Gr42whTg0ixQmgiusrpkLjhTXUr2eacOGAgvqdnUxCc4zGSGFQ+aJLZ8lN2fxI2rS AG2X+Z/nKcrdH9cG6rjJuQkhn8g/BsXS6RJGAE57COtCPStIbp1n3UsC5ETzkxmlJ85per5n0/xQ pCyrw2u544BMzwVhSyvcG7mm0tCq9Stz+86QNZ8MUhy/XCFhEVsVS6kkUfykXPcXnbDS+gfpj1bk GoxoigTTfFrjnqKhynFbotSg5ymFXQNoKk/SBtc9+cMDLz9l+WceR0DTYw/j1Y75hauXTLPXJuuW CpTehTacyH+BCQJJKg71ZDIMgtG6aoIbs0t0EfOMd9afv9w3pKdVBC/UMejTRrkDfNoSTllkt1Ex MVCgyhwn2RAurda9EGYrw7AiShJbAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE FE9pbQN+nZ8HGEO8txBO1b+pxCAoMB8GA1UdIwQYMBaAFE9pbQN+nZ8HGEO8txBO1b+pxCAoMA4G A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAO/Ouyuguh4X7ZVnnrREUpVe8WJ8kEle7 +z802u6teio0cnAxa8cZmIDJgt43d15Ui47y6mdPyXSEkVYJ1eV6moG2gcKtNuTxVBFT8zRFASbI 5Rq8NEQh3q0l/HYWdyGQgJhXnU7q7C+qPBR7V8F+GBRn7iTGvboVsNIYvbdVgaxTwOjdaRITQrcC tQVBynlQboIOcXKTRuidDV29rs4prWPVVRaAMCf/drr3uNZK49m1+VLQTkCpx+XCMseqdiThawVQ 68W/ClTluUI8JPu3B5wwn3la5uBAUhX0/Kr0VvlEl4ftDmVyXr4m+02kLQgH3thcoNyBM5kYJRF3 p+v9WAksmWsbivNSPxpNSGDxoPYzAlOL7SUJuA0t7Zdz7NeWH45gDtoQmy8YJPamTQr5O8t1wswv ziRpyQoijlmn94IM19drNZxDAGrElWe6nEXLuA4399xOAU++CrYD062KRffaJ00psUjf5BHklka9 bAI+1lHIlRcBFanyqqryvy9lG2/QuRqT9Y41xICHPpQvZuTpqP9BnHAqTyo5GJUefvthATxRCC4o GKQWDzH9OmwjkyB24f0HhdFbP9IcczLd+rn4jM8Ch3qaluTtT4mNU0OrDhPAARW0eTjb/G49nlG2 uBOLZ8/5fNkiHfZdxRwBL5joeiQYvITX+txyW/fBOmg= -----END CERTIFICATE----- beTRUSTed Root CA-Baltimore Implementation ========================================== -----BEGIN CERTIFICATE----- MIIFajCCBFKgAwIBAgIEPLU9RjANBgkqhkiG9w0BAQUFADBmMRIwEAYDVQQKEwliZVRSVVNUZWQx GzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEzMDEGA1UEAxMqYmVUUlVTVGVkIFJvb3QgQ0Et QmFsdGltb3JlIEltcGxlbWVudGF0aW9uMB4XDTAyMDQxMTA3Mzg1MVoXDTIyMDQxMTA3Mzg1MVow ZjESMBAGA1UEChMJYmVUUlVTVGVkMRswGQYDVQQLExJiZVRSVVNUZWQgUm9vdCBDQXMxMzAxBgNV BAMTKmJlVFJVU1RlZCBSb290IENBLUJhbHRpbW9yZSBJbXBsZW1lbnRhdGlvbjCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBALx+xDmcjOPWHIb/ymKt4H8wRXqOGrO4x/nRNv8i805qX4QQ +2aBw5R5MdKR4XeOGCrDFN5R9U+jK7wYFuK13XneIviCfsuBH/0nLI/6l2Qijvj/YaOcGx6Sj8Co Cd8JEey3fTGaGuqDIQY8n7pc/5TqarjDa1U0Tz0yH92BFODEPM2dMPgwqZfT7syj0B9fHBOB1Bir lNFjw55/NZKeX0Tq7PQiXLfoPX2k+YmpkbIq2eszh+6l/ePazIjmiSZuxyuC0F6dWdsU7JGDBcNe DsYq0ATdcT0gTlgn/FP7eHgZFLL8kFKJOGJgB7Sg7KxrUNb9uShr71ItOrL/8QFArDcCAwEAAaOC Ah4wggIaMA8GA1UdEwEB/wQFMAMBAf8wggG1BgNVHSAEggGsMIIBqDCCAaQGDysGAQQBsT4AAAEJ KIORMTCCAY8wggFIBggrBgEFBQcCAjCCAToaggE2UmVsaWFuY2Ugb24gb3IgdXNlIG9mIHRoaXMg Q2VydGlmaWNhdGUgY3JlYXRlcyBhbiBhY2tub3dsZWRnbWVudCBhbmQgYWNjZXB0YW5jZSBvZiB0 aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSwg dGhlIENlcnRpZmljYXRpb24gUHJhY3RpY2UgU3RhdGVtZW50IGFuZCB0aGUgUmVseWluZyBQYXJ0 eSBBZ3JlZW1lbnQsIHdoaWNoIGNhbiBiZSBmb3VuZCBhdCB0aGUgYmVUUlVTVGVkIHdlYiBzaXRl LCBodHRwOi8vd3d3LmJldHJ1c3RlZC5jb20vcHJvZHVjdHNfc2VydmljZXMvaW5kZXguaHRtbDBB BggrBgEFBQcCARY1aHR0cDovL3d3dy5iZXRydXN0ZWQuY29tL3Byb2R1Y3RzX3NlcnZpY2VzL2lu ZGV4Lmh0bWwwHQYDVR0OBBYEFEU9w6nR3D8kVpgccxiIav+DR+22MB8GA1UdIwQYMBaAFEU9w6nR 3D8kVpgccxiIav+DR+22MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEASZK8o+6s vfoNyYt5hhwjdrCAWXf82n+0S9/DZEtqTg6t8n1ZdwWtColzsPq8y9yNAIiPpqCy6qxSJ7+hSHyX EHu67RMdmgduyzFiEuhjA6p9beP4G3YheBufS0OM00mG9htc9i5gFdPp43t1P9ACg9AYgkHNZTfq jjJ+vWuZXTARyNtIVBw74acT02pIk/c9jH8F6M7ziCpjBLjqflh8AXtb4cV97yHgjQ5dUX2xZ/2j vTg2xvI4hocalmhgRvsoFEdV4aeADGvi6t9NfJBIoDa9CReJf8Py05yc493EG931t3GzUwWJBtDL SoDByFOQtTwxiBdQn8nEDovYqAJjDQ== -----END CERTIFICATE----- beTRUSTed Root CA - Entrust Implementation ========================================== -----BEGIN CERTIFICATE----- MIIGUTCCBTmgAwIBAgIEPLVPQDANBgkqhkiG9w0BAQUFADBmMRIwEAYDVQQKEwliZVRSVVNUZWQx GzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEzMDEGA1UEAxMqYmVUUlVTVGVkIFJvb3QgQ0Eg LSBFbnRydXN0IEltcGxlbWVudGF0aW9uMB4XDTAyMDQxMTA4MjQyN1oXDTIyMDQxMTA4NTQyN1ow ZjESMBAGA1UEChMJYmVUUlVTVGVkMRswGQYDVQQLExJiZVRSVVNUZWQgUm9vdCBDQXMxMzAxBgNV BAMTKmJlVFJVU1RlZCBSb290IENBIC0gRW50cnVzdCBJbXBsZW1lbnRhdGlvbjCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBALr0RAOqEmq1Q+xVkrYwfTVXDNvzDSduTPdQqJtOK2/b9a0c S12zqcH+e0TrW6MFDR/FNCswACnxeECypP869AGIF37m1CbTukzqMvtDd5eHI8XbQ6P1KqNRXuE7 0mVpflUVm3rnafdE4Fe1FehmYA8NA/uCjqPoEXtsvsdjDheT389Lrm5zdeDzqrmkwAkbhepxKYhB MvnwKg5sCfJ0a2ZsUhMfGLzUPvfYbiCeyv78IZTuEyhL11xeDGbu6bsPwTSxfwh28z0mcMmLJR1i JAzqHHVOwBLkuhMdMCktVjMFu5dZfsZJT4nXLySotohAtWSSU1Yk5KKghbNekLQSM80CAwEAAaOC AwUwggMBMIIBtwYDVR0gBIIBrjCCAaowggGmBg8rBgEEAbE+AAACCSiDkTEwggGRMIIBSQYIKwYB BQUHAgIwggE7GoIBN1JlbGlhbmNlIG9uIG9yIHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNyZWF0 ZXMgYW4gYWNrbm93bGVkZ21lbnQgYW5kIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIHRoZSBDZXJ0aWZpY2F0aW9u IFByYWN0aWNlIFN0YXRlbWVudCBhbmQgdGhlIFJlbHlpbmcgUGFydHkgQWdyZWVtZW50LCB3aGlj aCBjYW4gYmUgZm91bmQgYXQgdGhlIGJlVFJVU1RlZCB3ZWIgc2l0ZSwgaHR0cHM6Ly93d3cuYmV0 cnVzdGVkLmNvbS9wcm9kdWN0c19zZXJ2aWNlcy9pbmRleC5odG1sMEIGCCsGAQUFBwIBFjZodHRw czovL3d3dy5iZXRydXN0ZWQuY29tL3Byb2R1Y3RzX3NlcnZpY2VzL2luZGV4Lmh0bWwwEQYJYIZI AYb4QgEBBAQDAgAHMIGJBgNVHR8EgYEwfzB9oHugeaR3MHUxEjAQBgNVBAoTCWJlVFJVU1RlZDEb MBkGA1UECxMSYmVUUlVTVGVkIFJvb3QgQ0FzMTMwMQYDVQQDEypiZVRSVVNUZWQgUm9vdCBDQSAt IEVudHJ1c3QgSW1wbGVtZW50YXRpb24xDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMjAwMjA0 MTEwODI0MjdagQ8yMDIyMDQxMTA4NTQyN1owCwYDVR0PBAQDAgEGMB8GA1UdIwQYMBaAFH1w5a44 iwY/qhwaj/nPJDCqhIQWMB0GA1UdDgQWBBR9cOWuOIsGP6ocGo/5zyQwqoSEFjAMBgNVHRMEBTAD AQH/MB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEAKrgX zh8QlOu4mre5X+za95IkrNySO8cgjfKZ5V04ocI07cUTWVwFtStPYZuR+0H8/NU8TZh2BvWBfevd kObRVlTa4y0MnxEylCIBevZsLHRnBMylj44ss0O1lKLQfelifwa+JwGDnjr9iu6YQ0pr17WXOzq/ T220Y/ozADQuLW2WyXvKmWO6vvT2MKAtmJbpVkQFqUSjYRDrgqFnXbxdJ3Wqiig2KjiS2d2kXgCl zMx8KSreKJCrt+G2/30lC0DYqjSjLd4H61/OCt3Kfjp9JsFiaDrmLzfzgYYhxKlkqu9FNtEaZnz4 6TfW1mG+oq1I59/mdP7TbX3SJdysYlep9w== -----END CERTIFICATE----- beTRUSTed Root CA - RSA Implementation ====================================== -----BEGIN CERTIFICATE----- MIIFaDCCBFCgAwIBAgIQO1nHe81bV569N1KsdrSqGjANBgkqhkiG9w0BAQUFADBiMRIwEAYDVQQK EwliZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEvMC0GA1UEAxMmYmVUUlVT VGVkIFJvb3QgQ0EgLSBSU0EgSW1wbGVtZW50YXRpb24wHhcNMDIwNDExMTExODEzWhcNMjIwNDEy MTEwNzI1WjBiMRIwEAYDVQQKEwliZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENB czEvMC0GA1UEAxMmYmVUUlVTVGVkIFJvb3QgQ0EgLSBSU0EgSW1wbGVtZW50YXRpb24wggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkujQwCY5X0LkGLG9uJIAiv11DpvpPrILnHGhwhRuj brWqeNluB0s/6d/16uhUoWGKDi9pdRi3DOUUjXFumLhV/AyV0Jtu4S2I1DpAa5LxmZZk3tv/ePTu lh1HiXzUvrmIdyM6CeYEnm2qXtLIvZpOGd+J6lsOfsPktPDgaTuID0GQ+NRxQyTBjyZLO1bp/4xs N+lFrYWMU8NghpBKlsmzVLC7F/AcRdnUGxlkVgoZ98zh/4avflherHqQH8koOUV7orbHnB/ahdQh hlkwk75TMzf270HPM8ercmsl9fNTGwxMLvF1S++gh/f+ihXQbNXL+WhTuXAVE8L1LvtDNXUtAgMB AAGjggIYMIICFDAMBgNVHRMEBTADAQH/MIIBtQYDVR0gBIIBrDCCAagwggGkBg8rBgEEAbE+AAAD CSiDkTEwggGPMEEGCCsGAQUFBwIBFjVodHRwOi8vd3d3LmJldHJ1c3RlZC5jb20vcHJvZHVjdHNf c2VydmljZXMvaW5kZXguaHRtbDCCAUgGCCsGAQUFBwICMIIBOhqCATZSZWxpYW5jZSBvbiBvciB1 c2Ugb2YgdGhpcyBDZXJ0aWZpY2F0ZSBjcmVhdGVzIGFuIGFja25vd2xlZGdtZW50IGFuZCBhY2Nl cHRhbmNlIG9mIHRoZSB0aGVuIGFwcGxpY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNvbmRpdGlv bnMgb2YgdXNlLCB0aGUgQ2VydGlmaWNhdGlvbiBQcmFjdGljZSBTdGF0ZW1lbnQgYW5kIHRoZSBS ZWx5aW5nIFBhcnR5IEFncmVlbWVudCwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0IHRoZSBiZVRSVVNU ZWQgd2ViIHNpdGUsIGh0dHA6Ly93d3cuYmV0cnVzdGVkLmNvbS9wcm9kdWN0c19zZXJ2aWNlcy9p bmRleC5odG1sMAsGA1UdDwQEAwIBBjAfBgNVHSMEGDAWgBSp7BR++dlDzFMrFK3P9/BZiUHNGTAd BgNVHQ4EFgQUqewUfvnZQ8xTKxStz/fwWYlBzRkwDQYJKoZIhvcNAQEFBQADggEBANuXsHXqDMTB mMpWBcCorSZIry0g6IHHtt9DwSwddUvUQo3neqh03GZCWYez9Wlt2ames30cMcH1VOJZJEnl7r05 pmuKmET7m9cqg5c0Lcd9NUwtNLg+DcTsiCevnpL9UGGCqGAHFFPMZRPB9kdEadIxyKbdLrML3kqN Wz2rDcI1UqJWN8wyiyiFQpyRQHpwKzg21eFzGh/l+n5f3NacOzDq28BbJ1zTcwfBwvNMm2+fG8oe qqg4MwlYsq78B+g23FW6L09A/nq9BqaBwZMifIYRCgZ3SK41ty8ymmFei74pnykkiFY5LKjSq5YD WtRIn7lAhAuYaPsBQ9Yb4gmxlxw= -----END CERTIFICATE----- RSA Security 2048 v3 ==================== -----BEGIN CERTIFICATE----- MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7 Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP +Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/ MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj 0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395 nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA pKnXwiJPZ9d37CAFYd4= -----END CERTIFICATE----- RSA Security 1024 v3 ==================== -----BEGIN CERTIFICATE----- MIICXDCCAcWgAwIBAgIQCgEBAQAAAnwAAAALAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMTAyNCBWMzAeFw0wMTAy MjIyMTAxNDlaFw0yNjAyMjIyMDAxNDlaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb BgNVBAsTFFJTQSBTZWN1cml0eSAxMDI0IFYzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDV 3f5mCc8kPD6ugU5OisRpgFtZO9+5TUzKtS3DJy08rwBCbbwoppbPf9dYrIMKo1W1exeQFYRMiu4m mdxY78c4pqqv0I5CyGLXq6yp+0p9v+r+Ek3d/yYtbzZUaMjShFbuklNhCbM/OZuoyZu9zp9+1Blq FikYvtc6adwlWzMaUQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAf BgNVHSMEGDAWgBTEwBykB5T9zU0B1FTapQxf3q4FWjAdBgNVHQ4EFgQUxMAcpAeU/c1NAdRU2qUM X96uBVowDQYJKoZIhvcNAQEFBQADgYEAPy1q4yZDlX2Jl2X7deRyHUZXxGFraZ8SmyzVWujAovBD leMf6XbN3Ou8k6BlCsdNT1+nr6JGFLkM88y9am63nd4lQtBU/55oc2PcJOsiv6hy8l4A4Q1OOkNu mU4/iXgDmMrzVcydro7BqkWY+o8aoI2II/EVQQ2lRj6RP4vr93E= -----END CERTIFICATE----- GeoTrust Global CA ================== -----BEGIN CERTIFICATE----- MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet 8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4 d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2 mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm Mw== -----END CERTIFICATE----- GeoTrust Global CA 2 ==================== -----BEGIN CERTIFICATE----- MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/ NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7 srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF H4z1Ir+rzoPz4iIprn2DQKi6bA== -----END CERTIFICATE----- GeoTrust Universal CA ===================== -----BEGIN CERTIFICATE----- MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1 MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs 7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d 8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08 ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0 XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2 qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2 DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI P/rmMuGNG2+k5o7Y+SlIis5z/iw= -----END CERTIFICATE----- GeoTrust Universal CA 2 ======================= -----BEGIN CERTIFICATE----- MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0 MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0 DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17 j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2 WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP 20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG 8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2 +/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ 4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+ mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS -----END CERTIFICATE----- UTN-USER First-Network Applications =================================== -----BEGIN CERTIFICATE----- MIIEZDCCA0ygAwIBAgIQRL4Mi1AAJLQR0zYwS8AzdzANBgkqhkiG9w0BAQUFADCBozELMAkGA1UE BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzAp BgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwHhcNOTkwNzA5MTg0ODM5 WhcNMTkwNzA5MTg1NzQ5WjCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5T YWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBB cHBsaWNhdGlvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCz+5Gh5DZVhawGNFug mliy+LUPBXeDrjKxdpJo7CNKyXY/45y2N3kDuatpjQclthln5LAbGHNhSuh+zdMvZOOmfAz6F4Cj DUeJT1FxL+78P/m4FoCHiZMlIJpDgmkkdihZNaEdwH+DBmQWICzTSaSFtMBhf1EI+GgVkYDLpdXu Ozr0hAReYFmnjDRy7rh4xdE7EkpvfmUnuaRVxblvQ6TFHSyZwFKkeEwVs0CYCGtDxgGwenv1axwi P8vv/6jQOkt2FZ7S0cYu49tXGzKiuG/ohqY/cKvlcJKrRB5AUPuco2LkbG6gyN7igEL66S/ozjIE j3yNtxyjNTwV3Z7DrpelAgMBAAGjgZEwgY4wCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8w HQYDVR0OBBYEFPqGydvguul49Uuo1hXf8NPhahQ8ME8GA1UdHwRIMEYwRKBCoECGPmh0dHA6Ly9j cmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LU5ldHdvcmtBcHBsaWNhdGlvbnMuY3JsMA0G CSqGSIb3DQEBBQUAA4IBAQCk8yXM0dSRgyLQzDKrm5ZONJFUICU0YV8qAhXhi6r/fWRRzwr/vH3Y IWp4yy9Rb/hCHTO967V7lMPDqaAt39EpHx3+jz+7qEUqf9FuVSTiuwL7MT++6LzsQCv4AdRWOOTK RIK1YSAhZ2X28AvnNPilwpyjXEAfhZOVBt5P1CeptqX8Fs1zMT+4ZSfP1FMa8Kxun08FDAOBp4Qp xFq9ZFdyrTvPNximmMatBrTcCKME1SmklpoSZ0qMYEWd8SOasACcaLWYUNPvji6SZbFIPiG+FTAq DbUMo2s/rn9X9R+WfN9v3YIwLGUbQErNaLly7HF27FSOH4UMAWr6pjisH8SE -----END CERTIFICATE----- America Online Root Certification Authority 1 ============================================= -----BEGIN CERTIFICATE----- MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp Y2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkG A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQAD ggEPADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lkhsmj76CG v2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym1BW32J/X3HGrfpq/m44z DyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsWOqMFf6Dch9Wc/HKpoH145LcxVR5lu9Rh sCFg7RAycsWSJR74kEoYeEfffjA3PlAb2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP 8c9GsEsPPt2IYriMqQkoO3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0T AQH/BAUwAwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAUAK3Z o/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQB8itEf GDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkFZu90821fnZmv9ov761KyBZiibyrF VL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAbLjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft 3OJvx8Fi8eNy1gTIdGcL+oiroQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43g Kd8hdIaC2y+CMMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7 -----END CERTIFICATE----- America Online Root Certification Authority 2 ============================================= -----BEGIN CERTIFICATE----- MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp Y2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkG A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQAD ggIPADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC206B89en fHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFciKtZHgVdEglZTvYYUAQv8 f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2JxhP7JsowtS013wMPgwr38oE18aO6lhO qKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JN RvCAOVIyD+OEsnpD8l7eXz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0 gBe4lL8BPeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67Xnfn 6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEqZ8A9W6Wa6897Gqid FEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZo2C7HK2JNDJiuEMhBnIMoVxtRsX6 Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnj B453cMor9H124HhnAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3Op aaEg5+31IqEjFNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmnxPBUlgtk87FY T15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2LHo1YGwRgJfMqZJS5ivmae2p +DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzcccobGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXg JXUjhx5c3LqdsKyzadsXg8n33gy8CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//Zoy zH1kUQ7rVyZ2OuMeIjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgO ZtMADjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2FAjgQ5ANh 1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUXOm/9riW99XJZZLF0Kjhf GEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPbAZO1XB4Y3WRayhgoPmMEEf0cjQAPuDff Z4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQlZvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuP cX/9XhmgD0uRuMRUvAawRY8mkaKO/qk= -----END CERTIFICATE----- Visa eCommerce Root =================== -----BEGIN CERTIFICATE----- MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2 WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0 TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI /k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt 398znM/jra6O1I7mT1GvFpLgXPYHDw== -----END CERTIFICATE----- TC TrustCenter, Germany, Class 2 CA =================================== -----BEGIN CERTIFICATE----- MIIDXDCCAsWgAwIBAgICA+owDQYJKoZIhvcNAQEEBQAwgbwxCzAJBgNVBAYTAkRFMRAwDgYDVQQI EwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTowOAYDVQQKEzFUQyBUcnVzdENlbnRlciBmb3Ig U2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBHbWJIMSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBD bGFzcyAyIENBMSkwJwYJKoZIhvcNAQkBFhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw05 ODAzMDkxMTU5NTlaFw0xMTAxMDExMTU5NTlaMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFt YnVyZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9yIFNlY3Vy aXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3Mg MiBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVAdHJ1c3RjZW50ZXIuZGUwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBANo46O0yAClxgwENv4wB3NrGrTmkqYov1YtcaF9QxmL1Zr3KkSLs qh1R1z2zUbKDTl3LSbDwTFXlay3HhQswHJJOgtTKAu33b77c4OMUuAVT8pr0VotanoWT0bSCVq5N u6hLVxa8/vhYnvgpjbB7zXjJT6yLZwzxnPv8V5tXXE8NAgMBAAGjazBpMA8GA1UdEwEB/wQFMAMB Af8wDgYDVR0PAQH/BAQDAgGGMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8vd3d3LnRydXN0Y2VudGVy LmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgAHMA0GCSqGSIb3DQEBBAUAA4GBAIRS+yjf /x91AbwBvgRWl2p0QiQxg/lGsQaKic+WLDO/jLVfenKhhQbOhvgFjuj5Jcrag4wGrOs2bYWRNAQ2 9ELw+HkuCkhcq8xRT3h2oNmsGb0q0WkEKJHKNhAngFdb0lz1wlurZIFjdFH0l7/NEij3TWZ/p/Ac ASZ4smZHcFFk -----END CERTIFICATE----- TC TrustCenter, Germany, Class 3 CA =================================== -----BEGIN CERTIFICATE----- MIIDXDCCAsWgAwIBAgICA+swDQYJKoZIhvcNAQEEBQAwgbwxCzAJBgNVBAYTAkRFMRAwDgYDVQQI EwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTowOAYDVQQKEzFUQyBUcnVzdENlbnRlciBmb3Ig U2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBHbWJIMSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBD bGFzcyAzIENBMSkwJwYJKoZIhvcNAQkBFhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw05 ODAzMDkxMTU5NTlaFw0xMTAxMDExMTU5NTlaMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFt YnVyZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9yIFNlY3Vy aXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3Mg MyBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVAdHJ1c3RjZW50ZXIuZGUwgZ8wDQYJKoZI hvcNAQEBBQADgY0AMIGJAoGBALa0wTUFLg2N7KBAahwOJ6ZQkmtQGwfeLud2zODa/ISoXoxjaitN 2U4CdhHBC/KNecoAtvGwDtf7pBc9r6tpepYnv68zoZoqWarEtTcI8hKlMbZD9TKWcSgoq40oht+7 7uMMfTDWw1Krj10nnGvAo+cFa1dJRLNu6mTP0o56UHd3AgMBAAGjazBpMA8GA1UdEwEB/wQFMAMB Af8wDgYDVR0PAQH/BAQDAgGGMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8vd3d3LnRydXN0Y2VudGVy LmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgAHMA0GCSqGSIb3DQEBBAUAA4GBABY9xs3B u4VxhUafPiCPUSiZ7C1FIWMjWwS7TJC4iJIETb19AaM/9uzO8d7+feXhPrvGq14L3T2WxMup1Pkm 5gZOngylerpuw3yCGdHHsbHD2w2Om0B8NwvxXej9H5CIpQ5ON2QhqE6NtJ/x3kit1VYYUimLRzQS CdS7kjXvD9s0 -----END CERTIFICATE----- Certum Root CA ============== -----BEGIN CERTIFICATE----- MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ 89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+ GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/ 0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw== -----END CERTIFICATE----- Comodo AAA Services root ======================== -----BEGIN CERTIFICATE----- MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm 7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z 8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C 12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== -----END CERTIFICATE----- Comodo Secure Services root =========================== -----BEGIN CERTIFICATE----- MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP 9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm 4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H RR3B7Hzs/Sk= -----END CERTIFICATE----- Comodo Trusted Services root ============================ -----BEGIN CERTIFICATE----- MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7 3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y /9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6 juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB /zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32 pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O 9y5Xt5hwXsjEeLBi -----END CERTIFICATE----- IPS Chained CAs root ==================== -----BEGIN CERTIFICATE----- MIIH9zCCB2CgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARwxCzAJBgNVBAYTAkVTMRIwEAYDVQQI EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1 Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg Qi02MDkyOTQ1MjEzMDEGA1UECxMqSVBTIENBIENoYWluZWQgQ0FzIENlcnRpZmljYXRpb24gQXV0 aG9yaXR5MTMwMQYDVQQDEypJUFMgQ0EgQ2hhaW5lZCBDQXMgQ2VydGlmaWNhdGlvbiBBdXRob3Jp dHkxHjAcBgkqhkiG9w0BCQEWD2lwc0BtYWlsLmlwcy5lczAeFw0wMTEyMjkwMDUzNThaFw0yNTEy MjcwMDUzNThaMIIBHDELMAkGA1UEBhMCRVMxEjAQBgNVBAgTCUJhcmNlbG9uYTESMBAGA1UEBxMJ QmFyY2Vsb25hMS4wLAYDVQQKEyVJUFMgSW50ZXJuZXQgcHVibGlzaGluZyBTZXJ2aWNlcyBzLmwu MSswKQYDVQQKFCJpcHNAbWFpbC5pcHMuZXMgQy5JLkYuICBCLTYwOTI5NDUyMTMwMQYDVQQLEypJ UFMgQ0EgQ2hhaW5lZCBDQXMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxMzAxBgNVBAMTKklQUyBD QSBDaGFpbmVkIENBcyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEeMBwGCSqGSIb3DQEJARYPaXBz QG1haWwuaXBzLmVzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcVpJJspQgvJhPUOtopKdJ C7/SMejHT8KGC/po/UNaivNgkjWZOLtNA1IhW/A3mTXhQSCBhYEFcYGdtJUZqV92NC5jNzVXjrQf Qj8VXOF6wV8TGDIxya2+o8eDZh65nAQTy2nBBt4wBrszo7Uf8I9vzv+W6FS+ZoCua9tBhDaiPQID AQABo4IEQzCCBD8wHQYDVR0OBBYEFKGtMbH5PuEXpsirNPxShwkeYlJBMIIBTgYDVR0jBIIBRTCC AUGAFKGtMbH5PuEXpsirNPxShwkeYlJBoYIBJKSCASAwggEcMQswCQYDVQQGEwJFUzESMBAGA1UE CBMJQmFyY2Vsb25hMRIwEAYDVQQHEwlCYXJjZWxvbmExLjAsBgNVBAoTJUlQUyBJbnRlcm5ldCBw dWJsaXNoaW5nIFNlcnZpY2VzIHMubC4xKzApBgNVBAoUImlwc0BtYWlsLmlwcy5lcyBDLkkuRi4g IEItNjA5Mjk0NTIxMzAxBgNVBAsTKklQUyBDQSBDaGFpbmVkIENBcyBDZXJ0aWZpY2F0aW9uIEF1 dGhvcml0eTEzMDEGA1UEAxMqSVBTIENBIENoYWluZWQgQ0FzIENlcnRpZmljYXRpb24gQXV0aG9y aXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAMBgNV HQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUF BwMEBggrBgEFBQcDCAYKKwYBBAGCNwIBFQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGC NwoDBDARBglghkgBhvhCAQEEBAMCAAcwGgYDVR0RBBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1Ud EgQTMBGBD2lwc0BtYWlsLmlwcy5lczBCBglghkgBhvhCAQ0ENRYzQ2hhaW5lZCBDQSBDZXJ0aWZp Y2F0ZSBpc3N1ZWQgYnkgaHR0cDovL3d3dy5pcHMuZXMvMCkGCWCGSAGG+EIBAgQcFhpodHRwOi8v d3d3Lmlwcy5lcy9pcHMyMDAyLzA3BglghkgBhvhCAQQEKhYoaHR0cDovL3d3dy5pcHMuZXMvaXBz MjAwMi9pcHMyMDAyQ0FDLmNybDA8BglghkgBhvhCAQMELxYtaHR0cDovL3d3dy5pcHMuZXMvaXBz MjAwMi9yZXZvY2F0aW9uQ0FDLmh0bWw/MDkGCWCGSAGG+EIBBwQsFipodHRwOi8vd3d3Lmlwcy5l cy9pcHMyMDAyL3JlbmV3YWxDQUMuaHRtbD8wNwYJYIZIAYb4QgEIBCoWKGh0dHA6Ly93d3cuaXBz LmVzL2lwczIwMDIvcG9saWN5Q0FDLmh0bWwwbQYDVR0fBGYwZDAuoCygKoYoaHR0cDovL3d3dy5p cHMuZXMvaXBzMjAwMi9pcHMyMDAyQ0FDLmNybDAyoDCgLoYsaHR0cDovL3d3d2JhY2suaXBzLmVz L2lwczIwMDIvaXBzMjAwMkNBQy5jcmwwLwYIKwYBBQUHAQEEIzAhMB8GCCsGAQUFBzABhhNodHRw Oi8vb2NzcC5pcHMuZXMvMA0GCSqGSIb3DQEBBQUAA4GBAERyMJ1WWKJBGyi3leGmGpVfp3hAK+/b lkr8THFj2XOVvQLiogbHvpcqk4A0hgP63Ng9HgfNHnNDJGD1HWHc3JagvPsd4+cSACczAsDAK1M9 2GsDgaPb1pOVIO/Tln4mkImcJpvNb2ar7QMiRDjMWb2f2/YHogF/JsRj9SVCXmK9 -----END CERTIFICATE----- IPS CLASE1 root =============== -----BEGIN CERTIFICATE----- MIIH6jCCB1OgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARIxCzAJBgNVBAYTAkVTMRIwEAYDVQQI EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1 Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg Qi02MDkyOTQ1MjEuMCwGA1UECxMlSVBTIENBIENMQVNFMSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 eTEuMCwGA1UEAxMlSVBTIENBIENMQVNFMSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEeMBwGCSqG SIb3DQEJARYPaXBzQG1haWwuaXBzLmVzMB4XDTAxMTIyOTAwNTkzOFoXDTI1MTIyNzAwNTkzOFow ggESMQswCQYDVQQGEwJFUzESMBAGA1UECBMJQmFyY2Vsb25hMRIwEAYDVQQHEwlCYXJjZWxvbmEx LjAsBgNVBAoTJUlQUyBJbnRlcm5ldCBwdWJsaXNoaW5nIFNlcnZpY2VzIHMubC4xKzApBgNVBAoU Imlwc0BtYWlsLmlwcy5lcyBDLkkuRi4gIEItNjA5Mjk0NTIxLjAsBgNVBAsTJUlQUyBDQSBDTEFT RTEgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLjAsBgNVBAMTJUlQUyBDQSBDTEFTRTEgQ2VydGlm aWNhdGlvbiBBdXRob3JpdHkxHjAcBgkqhkiG9w0BCQEWD2lwc0BtYWlsLmlwcy5lczCBnzANBgkq hkiG9w0BAQEFAAOBjQAwgYkCgYEA4FEnpwvdr9G5Q1uCN0VWcu+atsIS7ywSzHb5BlmvXSHU0lq4 oNTzav3KaY1mSPd05u42veiWkXWmcSjK5yISMmmwPh5r9FBSYmL9Yzt9fuzuOOpi9GyocY3h6YvJ P8a1zZRCb92CRTzo3wno7wpVqVZHYUxJZHMQKD/Kvwn/xi8CAwEAAaOCBEowggRGMB0GA1UdDgQW BBTrsxl588GlHKzcuh9morKbadB4CDCCAUQGA1UdIwSCATswggE3gBTrsxl588GlHKzcuh9morKb adB4CKGCARqkggEWMIIBEjELMAkGA1UEBhMCRVMxEjAQBgNVBAgTCUJhcmNlbG9uYTESMBAGA1UE BxMJQmFyY2Vsb25hMS4wLAYDVQQKEyVJUFMgSW50ZXJuZXQgcHVibGlzaGluZyBTZXJ2aWNlcyBz LmwuMSswKQYDVQQKFCJpcHNAbWFpbC5pcHMuZXMgQy5JLkYuICBCLTYwOTI5NDUyMS4wLAYDVQQL EyVJUFMgQ0EgQ0xBU0UxIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVJUFMgQ0Eg Q0xBU0UxIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5p cHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUFBwMB BggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIBFQYKKwYB BAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcwGgYDVR0R BBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlwcy5lczBBBglghkgB hvhCAQ0ENBYyQ0xBU0UxIENBIENlcnRpZmljYXRlIGlzc3VlZCBieSBodHRwOi8vd3d3Lmlwcy5l cy8wKQYJYIZIAYb4QgECBBwWGmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvMDoGCWCGSAGG+EIB BAQtFitodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIwMDJDTEFTRTEuY3JsMD8GCWCGSAGG +EIBAwQyFjBodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL3Jldm9jYXRpb25DTEFTRTEuaHRtbD8w PAYJYIZIAYb4QgEHBC8WLWh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmVuZXdhbENMQVNFMS5o dG1sPzA6BglghkgBhvhCAQgELRYraHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9wb2xpY3lDTEFT RTEuaHRtbDBzBgNVHR8EbDBqMDGgL6AthitodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIw MDJDTEFTRTEuY3JsMDWgM6Axhi9odHRwOi8vd3d3YmFjay5pcHMuZXMvaXBzMjAwMi9pcHMyMDAy Q0xBU0UxLmNybDAvBggrBgEFBQcBAQQjMCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly9vY3NwLmlwcy5l cy8wDQYJKoZIhvcNAQEFBQADgYEAK9Dr/drIyllq2tPMMi7JVBuKYn4VLenZMdMu9Ccj/1urxUq2 ckCuU3T0vAW0xtnIyXf7t/k0f3gA+Nak5FI/LEpjV4F1Wo7ojPsCwJTGKbqz3Bzosq/SLmJbGqmO DszFV0VRFOlOHIilkfSj945RyKm+hjM+5i9Ibq9UkE6tsSU= -----END CERTIFICATE----- IPS CLASE3 root =============== -----BEGIN CERTIFICATE----- MIIH6jCCB1OgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARIxCzAJBgNVBAYTAkVTMRIwEAYDVQQI EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1 Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg Qi02MDkyOTQ1MjEuMCwGA1UECxMlSVBTIENBIENMQVNFMyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 eTEuMCwGA1UEAxMlSVBTIENBIENMQVNFMyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEeMBwGCSqG SIb3DQEJARYPaXBzQG1haWwuaXBzLmVzMB4XDTAxMTIyOTAxMDE0NFoXDTI1MTIyNzAxMDE0NFow ggESMQswCQYDVQQGEwJFUzESMBAGA1UECBMJQmFyY2Vsb25hMRIwEAYDVQQHEwlCYXJjZWxvbmEx LjAsBgNVBAoTJUlQUyBJbnRlcm5ldCBwdWJsaXNoaW5nIFNlcnZpY2VzIHMubC4xKzApBgNVBAoU Imlwc0BtYWlsLmlwcy5lcyBDLkkuRi4gIEItNjA5Mjk0NTIxLjAsBgNVBAsTJUlQUyBDQSBDTEFT RTMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLjAsBgNVBAMTJUlQUyBDQSBDTEFTRTMgQ2VydGlm aWNhdGlvbiBBdXRob3JpdHkxHjAcBgkqhkiG9w0BCQEWD2lwc0BtYWlsLmlwcy5lczCBnzANBgkq hkiG9w0BAQEFAAOBjQAwgYkCgYEAqxf+DrDGaBtT8FK+n/ra+osTBLsBjzLZH49NzjaY2uQARIwo 2BNEKqRrThckQpzTiKRBgtYj+4vJhuW5qYIF3PHeH+AMmVWY8jjsbJ0gA8DvqqPGZARRLXgNo9Ko OtYkTOmWehisEyMiG3zoMRGzXwmqMHBxRiVrSXGAK5UBsh8CAwEAAaOCBEowggRGMB0GA1UdDgQW BBS4k/8uy9wsjqLnev42USGjmFsMNDCCAUQGA1UdIwSCATswggE3gBS4k/8uy9wsjqLnev42USGj mFsMNKGCARqkggEWMIIBEjELMAkGA1UEBhMCRVMxEjAQBgNVBAgTCUJhcmNlbG9uYTESMBAGA1UE BxMJQmFyY2Vsb25hMS4wLAYDVQQKEyVJUFMgSW50ZXJuZXQgcHVibGlzaGluZyBTZXJ2aWNlcyBz LmwuMSswKQYDVQQKFCJpcHNAbWFpbC5pcHMuZXMgQy5JLkYuICBCLTYwOTI5NDUyMS4wLAYDVQQL EyVJUFMgQ0EgQ0xBU0UzIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVJUFMgQ0Eg Q0xBU0UzIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5p cHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUFBwMB BggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIBFQYKKwYB BAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcwGgYDVR0R BBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlwcy5lczBBBglghkgB hvhCAQ0ENBYyQ0xBU0UzIENBIENlcnRpZmljYXRlIGlzc3VlZCBieSBodHRwOi8vd3d3Lmlwcy5l cy8wKQYJYIZIAYb4QgECBBwWGmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvMDoGCWCGSAGG+EIB BAQtFitodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIwMDJDTEFTRTMuY3JsMD8GCWCGSAGG +EIBAwQyFjBodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL3Jldm9jYXRpb25DTEFTRTMuaHRtbD8w PAYJYIZIAYb4QgEHBC8WLWh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmVuZXdhbENMQVNFMy5o dG1sPzA6BglghkgBhvhCAQgELRYraHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9wb2xpY3lDTEFT RTMuaHRtbDBzBgNVHR8EbDBqMDGgL6AthitodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIw MDJDTEFTRTMuY3JsMDWgM6Axhi9odHRwOi8vd3d3YmFjay5pcHMuZXMvaXBzMjAwMi9pcHMyMDAy Q0xBU0UzLmNybDAvBggrBgEFBQcBAQQjMCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly9vY3NwLmlwcy5l cy8wDQYJKoZIhvcNAQEFBQADgYEAF2VcmZVDAyevJuXr0LMXI/dDqsfwfewPxqmurpYPdikc4gYt fibFPPqhwYHOU7BC0ZdXGhd+pFFhxu7pXu8Fuuu9D6eSb9ijBmgpjnn1/7/5p6/ksc7C0YBCJwUE NPjDfxZ4IwwHJPJGR607VNCv1TGyr33I6unUVtkOE7LFRVA= -----END CERTIFICATE----- IPS CLASEA1 root ================ -----BEGIN CERTIFICATE----- MIIH9zCCB2CgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQI EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1 Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg Qi02MDkyOTQ1MjEvMC0GA1UECxMmSVBTIENBIENMQVNFQTEgQ2VydGlmaWNhdGlvbiBBdXRob3Jp dHkxLzAtBgNVBAMTJklQUyBDQSBDTEFTRUExIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJ KoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXMwHhcNMDExMjI5MDEwNTMyWhcNMjUxMjI3MDEwNTMy WjCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9u YTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UE ChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEvMC0GA1UECxMmSVBTIENBIENM QVNFQTEgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLzAtBgNVBAMTJklQUyBDQSBDTEFTRUExIENl cnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXMwgZ8w DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALsw19zQVL01Tp/FTILq0VA8R5j8m2mdd81u4D/u6zJf X5/S0HnllXNEITLgCtud186Nq1KLK3jgm1t99P1tCeWu4WwdByOgF9H5fahGRpEiqLJpxq339fWU oTCUvQDMRH/uxJ7JweaPCjbB/SQ9AaD1e+J8eGZDi09Z8pvZ+kmzAgMBAAGjggRTMIIETzAdBgNV HQ4EFgQUZyaW56G/2LUDnf473P7yiuYV3TAwggFGBgNVHSMEggE9MIIBOYAUZyaW56G/2LUDnf47 3P7yiuYV3TChggEcpIIBGDCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQ BgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2Vydmlj ZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEvMC0G A1UECxMmSVBTIENBIENMQVNFQTEgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLzAtBgNVBAMTJklQ UyBDQSBDTEFTRUExIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNA bWFpbC5pcHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsG AQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIB FQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcw GgYDVR0RBBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlwcy5lczBC BglghkgBhvhCAQ0ENRYzQ0xBU0VBMSBDQSBDZXJ0aWZpY2F0ZSBpc3N1ZWQgYnkgaHR0cDovL3d3 dy5pcHMuZXMvMCkGCWCGSAGG+EIBAgQcFhpodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyLzA7Bglg hkgBhvhCAQQELhYsaHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9pcHMyMDAyQ0xBU0VBMS5jcmww QAYJYIZIAYb4QgEDBDMWMWh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmV2b2NhdGlvbkNMQVNF QTEuaHRtbD8wPQYJYIZIAYb4QgEHBDAWLmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmVuZXdh bENMQVNFQTEuaHRtbD8wOwYJYIZIAYb4QgEIBC4WLGh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIv cG9saWN5Q0xBU0VBMS5odG1sMHUGA1UdHwRuMGwwMqAwoC6GLGh0dHA6Ly93d3cuaXBzLmVzL2lw czIwMDIvaXBzMjAwMkNMQVNFQTEuY3JsMDagNKAyhjBodHRwOi8vd3d3YmFjay5pcHMuZXMvaXBz MjAwMi9pcHMyMDAyQ0xBU0VBMS5jcmwwLwYIKwYBBQUHAQEEIzAhMB8GCCsGAQUFBzABhhNodHRw Oi8vb2NzcC5pcHMuZXMvMA0GCSqGSIb3DQEBBQUAA4GBAH66iqyAAIQVCtWYUQxkxZwCWINmyq0e B81+atqAB98DNEock8RLWCA1NnHtogo1EqWmZaeFaQoO42Hu6r4okzPV7Oi+xNtff6j5YzHIa5bi KcJboOeXNp13XjFr/tOn2yrb25aLH2betgPAK7N41lUH5Y85UN4HI3LmvSAUS7SG -----END CERTIFICATE----- IPS CLASEA3 root ================ -----BEGIN CERTIFICATE----- MIIH9zCCB2CgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQI EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1 Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg Qi02MDkyOTQ1MjEvMC0GA1UECxMmSVBTIENBIENMQVNFQTMgQ2VydGlmaWNhdGlvbiBBdXRob3Jp dHkxLzAtBgNVBAMTJklQUyBDQSBDTEFTRUEzIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJ KoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXMwHhcNMDExMjI5MDEwNzUwWhcNMjUxMjI3MDEwNzUw WjCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9u YTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UE ChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEvMC0GA1UECxMmSVBTIENBIENM QVNFQTMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLzAtBgNVBAMTJklQUyBDQSBDTEFTRUEzIENl cnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXMwgZ8w DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAO6AAPYaZC6tasiDsYun7o/ZttvNG7uGBiJ2MwwSbUhW YdLcgiViL5/SaTBlA0IjWLxH3GvWdV0XPOH/8lhneaDBgbHUVqLyjRGZ/fZ98cfEXgIqmuJKtROK AP2Md4bm15T1IHUuDky/dMQ/gT6DtKM4Ninn6Cr1jIhBqoCm42zvAgMBAAGjggRTMIIETzAdBgNV HQ4EFgQUHp9XUEe2YZM50yz82l09BXW3mQIwggFGBgNVHSMEggE9MIIBOYAUHp9XUEe2YZM50yz8 2l09BXW3mQKhggEcpIIBGDCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQ BgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2Vydmlj ZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEvMC0G A1UECxMmSVBTIENBIENMQVNFQTMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLzAtBgNVBAMTJklQ UyBDQSBDTEFTRUEzIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNA bWFpbC5pcHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsG AQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIB FQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcw GgYDVR0RBBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlwcy5lczBC BglghkgBhvhCAQ0ENRYzQ0xBU0VBMyBDQSBDZXJ0aWZpY2F0ZSBpc3N1ZWQgYnkgaHR0cDovL3d3 dy5pcHMuZXMvMCkGCWCGSAGG+EIBAgQcFhpodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyLzA7Bglg hkgBhvhCAQQELhYsaHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9pcHMyMDAyQ0xBU0VBMy5jcmww QAYJYIZIAYb4QgEDBDMWMWh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmV2b2NhdGlvbkNMQVNF QTMuaHRtbD8wPQYJYIZIAYb4QgEHBDAWLmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmVuZXdh bENMQVNFQTMuaHRtbD8wOwYJYIZIAYb4QgEIBC4WLGh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIv cG9saWN5Q0xBU0VBMy5odG1sMHUGA1UdHwRuMGwwMqAwoC6GLGh0dHA6Ly93d3cuaXBzLmVzL2lw czIwMDIvaXBzMjAwMkNMQVNFQTMuY3JsMDagNKAyhjBodHRwOi8vd3d3YmFjay5pcHMuZXMvaXBz MjAwMi9pcHMyMDAyQ0xBU0VBMy5jcmwwLwYIKwYBBQUHAQEEIzAhMB8GCCsGAQUFBzABhhNodHRw Oi8vb2NzcC5pcHMuZXMvMA0GCSqGSIb3DQEBBQUAA4GBAEo9IEca2on0eisxeewBwMwB9dbB/MjD 81ACUZBYKp/nNQlbMAqBACVHr9QPDp5gJqiVp4MI3y2s6Q73nMify5NF8bpqxmdRSmlPa/59Cy9S KcJQrSRE7SOzSMtEQMEDlQwKeAYSAfWRMS1Jjbs/RU4s4OjNtckUFQzjB4ObJnXv -----END CERTIFICATE----- IPS Servidores root =================== -----BEGIN CERTIFICATE----- MIICtzCCAiACAQAwDQYJKoZIhvcNAQEEBQAwgaMxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCQVJD RUxPTkExEjAQBgNVBAcTCUJBUkNFTE9OQTEZMBcGA1UEChMQSVBTIFNlZ3VyaWRhZCBDQTEYMBYG A1UECxMPQ2VydGlmaWNhY2lvbmVzMRcwFQYDVQQDEw5JUFMgU0VSVklET1JFUzEeMBwGCSqGSIb3 DQEJARYPaXBzQG1haWwuaXBzLmVzMB4XDTk4MDEwMTIzMjEwN1oXDTA5MTIyOTIzMjEwN1owgaMx CzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCQVJDRUxPTkExEjAQBgNVBAcTCUJBUkNFTE9OQTEZMBcG A1UEChMQSVBTIFNlZ3VyaWRhZCBDQTEYMBYGA1UECxMPQ2VydGlmaWNhY2lvbmVzMRcwFQYDVQQD Ew5JUFMgU0VSVklET1JFUzEeMBwGCSqGSIb3DQEJARYPaXBzQG1haWwuaXBzLmVzMIGfMA0GCSqG SIb3DQEBAQUAA4GNADCBiQKBgQCsT1J0nznqjtwlxLyYXZhkJAk8IbPMGbWOlI6H0fg3PqHILVik gDVboXVsHUUMH2Fjal5vmwpMwci4YSM1gf/+rHhwLWjhOgeYlQJU3c0jt4BT18g3RXIGJBK6E2Eh im51KODFDzT9NthFf+G4Nu+z4cYgjui0OLzhPvYR3oydAQIDAQABMA0GCSqGSIb3DQEBBAUAA4GB ACzzw3lYJN7GO9HgQmm47mSzPWIBubOE3yN93ZjPEKn+ANgilgUTB1RXxafey9m4iEL2mdsUdx+2 /iU94aI+A6mB0i1sR/WWRowiq8jMDQ6XXotBtDvECgZAHd1G9AHduoIuPD14cJ58GNCr+Lh3B0Zx 8coLY1xq+XKU1QFPoNtC -----END CERTIFICATE----- IPS Timestamping root ===================== -----BEGIN CERTIFICATE----- MIIIODCCB6GgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCAR4xCzAJBgNVBAYTAkVTMRIwEAYDVQQI EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1 Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg Qi02MDkyOTQ1MjE0MDIGA1UECxMrSVBTIENBIFRpbWVzdGFtcGluZyBDZXJ0aWZpY2F0aW9uIEF1 dGhvcml0eTE0MDIGA1UEAxMrSVBTIENBIFRpbWVzdGFtcGluZyBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eTEeMBwGCSqGSIb3DQEJARYPaXBzQG1haWwuaXBzLmVzMB4XDTAxMTIyOTAxMTAxOFoXDTI1 MTIyNzAxMTAxOFowggEeMQswCQYDVQQGEwJFUzESMBAGA1UECBMJQmFyY2Vsb25hMRIwEAYDVQQH EwlCYXJjZWxvbmExLjAsBgNVBAoTJUlQUyBJbnRlcm5ldCBwdWJsaXNoaW5nIFNlcnZpY2VzIHMu bC4xKzApBgNVBAoUImlwc0BtYWlsLmlwcy5lcyBDLkkuRi4gIEItNjA5Mjk0NTIxNDAyBgNVBAsT K0lQUyBDQSBUaW1lc3RhbXBpbmcgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxNDAyBgNVBAMTK0lQ UyBDQSBUaW1lc3RhbXBpbmcgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxHjAcBgkqhkiG9w0BCQEW D2lwc0BtYWlsLmlwcy5lczCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvLjuVqWajOY2ycJi oGaBjRrVetJznw6EZLqVtJCneK/K/lRhW86yIFcBrkSSQxA4Efdo/BdApWgnMjvEp+ZCccWZ73b/ K5Uk9UmSGGjKALWkWi9uy9YbLA1UZ2t6KaFYq6JaANZbuxjC3/YeE1Z2m6Vo4pjOxgOKNNtMg0Gm qaMCAwEAAaOCBIAwggR8MB0GA1UdDgQWBBSL0BBQCYHynQnVDmB4AyKiP8jKZjCCAVAGA1UdIwSC AUcwggFDgBSL0BBQCYHynQnVDmB4AyKiP8jKZqGCASakggEiMIIBHjELMAkGA1UEBhMCRVMxEjAQ BgNVBAgTCUJhcmNlbG9uYTESMBAGA1UEBxMJQmFyY2Vsb25hMS4wLAYDVQQKEyVJUFMgSW50ZXJu ZXQgcHVibGlzaGluZyBTZXJ2aWNlcyBzLmwuMSswKQYDVQQKFCJpcHNAbWFpbC5pcHMuZXMgQy5J LkYuICBCLTYwOTI5NDUyMTQwMgYDVQQLEytJUFMgQ0EgVGltZXN0YW1waW5nIENlcnRpZmljYXRp b24gQXV0aG9yaXR5MTQwMgYDVQQDEytJUFMgQ0EgVGltZXN0YW1waW5nIENlcnRpZmljYXRpb24g QXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXOCAQAwDAYDVR0TBAUwAwEB /zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMG CCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIBFQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYK KwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcwGgYDVR0RBBMwEYEPaXBzQG1haWwuaXBzLmVz MBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlwcy5lczBHBglghkgBhvhCAQ0EOhY4VGltZXN0YW1waW5n IENBIENlcnRpZmljYXRlIGlzc3VlZCBieSBodHRwOi8vd3d3Lmlwcy5lcy8wKQYJYIZIAYb4QgEC BBwWGmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvMEAGCWCGSAGG+EIBBAQzFjFodHRwOi8vd3d3 Lmlwcy5lcy9pcHMyMDAyL2lwczIwMDJUaW1lc3RhbXBpbmcuY3JsMEUGCWCGSAGG+EIBAwQ4FjZo dHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL3Jldm9jYXRpb25UaW1lc3RhbXBpbmcuaHRtbD8wQgYJ YIZIAYb4QgEHBDUWM2h0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmVuZXdhbFRpbWVzdGFtcGlu Zy5odG1sPzBABglghkgBhvhCAQgEMxYxaHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9wb2xpY3lU aW1lc3RhbXBpbmcuaHRtbDB/BgNVHR8EeDB2MDegNaAzhjFodHRwOi8vd3d3Lmlwcy5lcy9pcHMy MDAyL2lwczIwMDJUaW1lc3RhbXBpbmcuY3JsMDugOaA3hjVodHRwOi8vd3d3YmFjay5pcHMuZXMv aXBzMjAwMi9pcHMyMDAyVGltZXN0YW1waW5nLmNybDAvBggrBgEFBQcBAQQjMCEwHwYIKwYBBQUH MAGGE2h0dHA6Ly9vY3NwLmlwcy5lcy8wDQYJKoZIhvcNAQEFBQADgYEAZbrBzAAalZHK6Ww6vzoe FAh8+4Pua2JR0zORtWB5fgTYXXk36MNbsMRnLWhasl8OCvrNPzpFoeo2zyYepxEoxZSPhExTCMWT s/zif/WN87GphV+I3pGW7hdbrqXqcGV4LCFkAZXOzkw+UPS2Wctjjba9GNSHSl/c7+lW8AoM6HU= -----END CERTIFICATE----- QuoVadis Root CA ================ -----BEGIN CERTIFICATE----- MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7 MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0 aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6 tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi 5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi 5nrQNiOKSnQ2+Q== -----END CERTIFICATE----- QuoVadis Root CA 2 ================== -----BEGIN CERTIFICATE----- MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6 XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt 66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3 UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK +JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1 WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II 4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8 VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u -----END CERTIFICATE----- QuoVadis Root CA 3 ================== -----BEGIN CERTIFICATE----- MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8 nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4 ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2 Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp 8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto= -----END CERTIFICATE----- Security Communication Root CA ============================== -----BEGIN CERTIFICATE----- MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw 8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX 5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2 JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g 0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ 6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi FL39vmwLAw== -----END CERTIFICATE----- Sonera Class 1 Root CA ====================== -----BEGIN CERTIFICATE----- MIIDIDCCAgigAwIBAgIBJDANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MxIENBMB4XDTAxMDQwNjEwNDkxM1oXDTIxMDQw NjEwNDkxM1owOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh IENsYXNzMSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALWJHytPZwp5/8Ue+H88 7dF+2rDNbS82rDTG29lkFwhjMDMiikzujrsPDUJVyZ0upe/3p4zDq7mXy47vPxVnqIJyY1MPQYx9 EJUkoVqlBvqSV536pQHydekfvFYmUk54GWVYVQNYwBSujHxVX3BbdyMGNpfzJLWaRpXk3w0LBUXl 0fIdgrvGE+D+qnr9aTCU89JFhfzyMlsy3uhsXR/LpCJ0sICOXZT3BgBLqdReLjVQCfOAl/QMF645 2F/NM8EcyonCIvdFEu1eEpOdY6uCLrnrQkFEy0oaAIINnvmLVz5MxxftLItyM19yejhW1ebZrgUa HXVFsculJRwSVzb9IjcCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQIR+IMi/ZT iFIwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQCLGrLJXWG04bkruVPRsoWdd44W7hE9 28Jj2VuXZfsSZ9gqXLar5V7DtxYvyOirHYr9qxp81V9jz9yw3Xe5qObSIjiHBxTZ/75Wtf0HDjxV yhbMp6Z3N/vbXB9OWQaHowND9Rart4S9Tu+fMTfwRvFAttEMpWT4Y14h21VOTzF2nBBhjrZTOqMR vq9tfB69ri3iDGnHhVNoomG6xT60eVR4ngrHAr5i0RGCS2UvkVrCqIexVmiUefkl98HVrhq4uz2P qYo4Ffdz0Fpg0YCw8NzVUM1O7pJIae2yIx4wzMiUyLb1O4Z/P6Yun/Y+LLWSlj7fLJOK/4GMDw9Z IRlXvVWa -----END CERTIFICATE----- Sonera Class 2 Root CA ====================== -----BEGIN CERTIFICATE----- MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3 /Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt 0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH llpwrN9M -----END CERTIFICATE----- Staat der Nederlanden Root CA ============================= -----BEGIN CERTIFICATE----- MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6 22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw== -----END CERTIFICATE----- TDC Internet Root CA ==================== -----BEGIN CERTIFICATE----- MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJESzEVMBMGA1UE ChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTAeFw0wMTA0MDUx NjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNVBAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJu ZXQxHTAbBgNVBAsTFFREQyBJbnRlcm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAxLhAvJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20j xsNuZp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a0vnRrEvL znWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc14izbSysseLlJ28TQx5yc 5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGNeGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6 otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcDR0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZI AYb4QgEBBAQDAgAHMGUGA1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMM VERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxMEQ1JM MTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3WjALBgNVHQ8EBAMC AQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAwHQYDVR0OBBYEFGxkAcf9hW2syNqe UAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJKoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0G CSqGSIb3DQEBBQUAA4IBAQBOQ8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540m gwV5dOy0uaOXwTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+ 2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm899qNLPg7kbWzb O0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0jUNAE4z9mQNUecYu6oah9jrU Cbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38aQNiuJkFBT1reBK9sG9l -----END CERTIFICATE----- TDC OCES Root CA ================ -----BEGIN CERTIFICATE----- MIIFGTCCBAGgAwIBAgIEPki9xDANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJESzEMMAoGA1UE ChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wMzAyMTEwODM5MzBaFw0zNzAyMTEwOTA5 MzBaMDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNUREMxFDASBgNVBAMTC1REQyBPQ0VTIENBMIIB IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArGL2YSCyz8DGhdfjeebM7fI5kqSXLmSjhFuH nEz9pPPEXyG9VhDr2y5h7JNp46PMvZnDBfwGuMo2HP6QjklMxFaaL1a8z3sM8W9Hpg1DTeLpHTk0 zY0s2RKY+ePhwUp8hjjEqcRhiNJerxomTdXkoCJHhNlktxmW/OwZ5LKXJk5KTMuPJItUGBxIYXvV iGjaXbXqzRowwYCDdlCqT9HU3Tjw7xb04QxQBr/q+3pJoSgrHPb8FTKjdGqPqcNiKXEx5TukYBde dObaE+3pHx8b0bJoc8YQNHVGEBDjkAB2QMuLt0MJIf+rTpPGWOmlgtt3xDqZsXKVSQTwtyv6e1mO 3QIDAQABo4ICNzCCAjMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwgewGA1UdIASB 5DCB4TCB3gYIKoFQgSkBAQEwgdEwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY2VydGlmaWthdC5k ay9yZXBvc2l0b3J5MIGdBggrBgEFBQcCAjCBkDAKFgNUREMwAwIBARqBgUNlcnRpZmlrYXRlciBm cmEgZGVubmUgQ0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4xLiBDZXJ0aWZp Y2F0ZXMgZnJvbSB0aGlzIENBIGFyZSBpc3N1ZWQgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4x LjARBglghkgBhvhCAQEEBAMCAAcwgYEGA1UdHwR6MHgwSKBGoESkQjBAMQswCQYDVQQGEwJESzEM MAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTENMAsGA1UEAxMEQ1JMMTAsoCqgKIYm aHR0cDovL2NybC5vY2VzLmNlcnRpZmlrYXQuZGsvb2Nlcy5jcmwwKwYDVR0QBCQwIoAPMjAwMzAy MTEwODM5MzBagQ8yMDM3MDIxMTA5MDkzMFowHwYDVR0jBBgwFoAUYLWF7FZkfhIZJ2cdUBVLc647 +RIwHQYDVR0OBBYEFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6 NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEACromJkbTc6gJ82sLMJn9iuFXehHTuJTXCRBuo7E4 A9G28kNBKWKnctj7fAXmMXAnVBhOinxO5dHKjHiIzxvTkIvmI/gLDjNDfZziChmPyQE+dF10yYsc A+UYyAFMP8uXBV2YcaaYb7Z8vTd/vuGTJW1v8AqtFxjhA7wHKcitJuj4YfD9IQl+mo6paH1IYnK9 AOoBmbgGglGBTvH1tJFUuSN6AJqfXY3gPGS5GhKSKseCRHI53OI8xthV9RVOyAUO28bQYqbsFbS1 AoLbrIyigfCbmTH1ICCoiGEKB5+U/NDXG8wuF/MEJ3Zn61SD/aSQfgY9BKNDLdr8C2LqL19iUw== -----END CERTIFICATE----- UTN DATACorp SGC Root CA ======================== -----BEGIN CERTIFICATE----- MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA 9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv 33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9 BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3 DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0 I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI -----END CERTIFICATE----- UTN USERFirst Email Root CA =========================== -----BEGIN CERTIFICATE----- MIIEojCCA4qgAwIBAgIQRL4Mi1AAJLQR0zYlJWfJiTANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0 BgNVBAMTLVVUTi1VU0VSRmlyc3QtQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw05 OTA3MDkxNzI4NTBaFw0xOTA3MDkxNzM2NThaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQx FzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsx ITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJz dC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIx B8dOtINknS4p1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8 om+rWV6lL8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLmSGHG TPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7Nl yP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws6wIDAQABo4G5MIG2MAsGA1UdDwQE AwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTBYBgNV HR8EUTBPME2gS6BJhkdodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLVVTRVJGaXJzdC1DbGll bnRBdXRoZW50aWNhdGlvbmFuZEVtYWlsLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH AwQwDQYJKoZIhvcNAQEFBQADggEBALFtYV2mGn98q0rkMPxTbyUkxsrt4jFcKw7u7mFVbwQ+zzne xRtJlOTrIEy05p5QLnLZjfWqo7NK2lYcYJeA3IKirUq9iiv/Cwm0xtcgBEXkzYABurorbs6q15L+ 5K/r9CYdFip/bDCVNy8zEqx/3cfREYxRmLLQo5HQrfafnoOTHh1CuEava2bwm3/q4wMC5QJRwarV NZ1yQAOJujEdxRBoUp7fooXFXAimeOZTT7Hot9MUnpOmw2TjrH5xzbyf6QMbzPvprDHBr3wVdAKZ w7JHpsIyYdfHb0gkUSeh1YdV8nuPmD0Wnu51tvjQjvLzxq4oW6fw8zYX/MMF08oDSlQ= -----END CERTIFICATE----- UTN USERFirst Hardware Root CA ============================== -----BEGIN CERTIFICATE----- MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0 eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8 i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM //bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2 lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67 nfhmqA== -----END CERTIFICATE----- UTN USERFirst Object Root CA ============================ -----BEGIN CERTIFICATE----- MIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UE BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAb BgNVBAMTFFVUTi1VU0VSRmlyc3QtT2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4NDAz NlowgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkx HjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2Vy dHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCCASIwDQYJKoZIhvcNAQEB BQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicPHxzfOpuCaDDASmEd8S8O+r5596Uj71VR loTN2+O5bj4x2AogZ8f02b+U60cEPgLOKqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQ w5ujm9M89RKZd7G3CeBo5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP1/vu lBe3/IW+pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehbkkj7 RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUCAwEAAaOBrzCBrDAL BgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU2u1kdBScFDyr3ZmpvVsoTYs8 ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VSRmly c3QtT2JqZWN0LmNybDApBgNVHSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcKAwQw DQYJKoZIhvcNAQEFBQADggEBAAgfUrE3RHjb/c652pWWmKpVZIC1WkDdIaXFwfNfLEzIR1pp6ujw NTX00CXzyKakh0q9G7FzCL3Uw8q2NbtZhncxzaeAFK4T7/yxSPlrJSUtUbYsbUXBmMiKVl0+7kNO PmsnjtA6S4ULX9Ptaqd1y9Fahy85dRNacrACgZ++8A+EVCBibGnU4U3GDZlDAQ0Slox4nb9QorFE qmrPF3rPbw/U+CRVX/A0FklmPlBGyWNxODFiuGK581OtbLUrohKqGU8J2l7nk8aOFAj+8DCAGKCG hU3IfdeLA/5u1fedFqySLKAj5ZyRUh+U3xeUc8OzwcFxBSAAeL0TUh2oPs0AH8g= -----END CERTIFICATE----- Camerfirma Chambers of Commerce Root ==================================== -----BEGIN CERTIFICATE----- MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1 erfutGWaIZDgqtCYvDi1czyL+Nw= -----END CERTIFICATE----- Camerfirma Global Chambersign Root ================================== -----BEGIN CERTIFICATE----- MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J 1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl 6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c 8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/ BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4 IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A== -----END CERTIFICATE----- NetLock Qualified (Class QA) Root ================================= -----BEGIN CERTIFICATE----- MIIG0TCCBbmgAwIBAgIBezANBgkqhkiG9w0BAQUFADCByTELMAkGA1UEBhMCSFUxETAPBgNVBAcT CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV BAsTEVRhbnVzaXR2YW55a2lhZG9rMUIwQAYDVQQDEzlOZXRMb2NrIE1pbm9zaXRldHQgS296amVn eXpvaSAoQ2xhc3MgUUEpIFRhbnVzaXR2YW55a2lhZG8xHjAcBgkqhkiG9w0BCQEWD2luZm9AbmV0 bG9jay5odTAeFw0wMzAzMzAwMTQ3MTFaFw0yMjEyMTUwMTQ3MTFaMIHJMQswCQYDVQQGEwJIVTER MA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNhZ2kgS2Z0 LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxQjBABgNVBAMTOU5ldExvY2sgTWlub3NpdGV0 dCBLb3pqZWd5em9pIChDbGFzcyBRQSkgVGFudXNpdHZhbnlraWFkbzEeMBwGCSqGSIb3DQEJARYP aW5mb0BuZXRsb2NrLmh1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx1Ilstg91IRV CacbvWy5FPSKAtt2/GoqeKvld/Bu4IwjZ9ulZJm53QE+b+8tmjwi8F3JV6BVQX/yQ15YglMxZc4e 8ia6AFQer7C8HORSjKAyr7c3sVNnaHRnUPYtLmTeriZ539+Zhqurf4XsoPuAzPS4DB6TRWO53Lhb m+1bOdRfYrCnjnxmOCyqsQhjF2d9zL2z8cM/z1A57dEZgxXbhxInlrfa6uWdvLrqOU+L73Sa58XQ 0uqGURzk/mQIKAR5BevKxXEOC++r6uwSEaEYBTJp0QwsGj0lmT+1fMptsK6ZmfoIYOcZwvK9UdPM 0wKswREMgM6r3JSda6M5UzrWhQIDAMV9o4ICwDCCArwwEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV HQ8BAf8EBAMCAQYwggJ1BglghkgBhvhCAQ0EggJmFoICYkZJR1lFTEVNISBFemVuIHRhbnVzaXR2 YW55IGEgTmV0TG9jayBLZnQuIE1pbm9zaXRldHQgU3pvbGdhbHRhdGFzaSBTemFiYWx5emF0YWJh biBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBBIG1pbm9zaXRldHQgZWxla3Ryb25p a3VzIGFsYWlyYXMgam9naGF0YXMgZXJ2ZW55ZXN1bGVzZW5laywgdmFsYW1pbnQgZWxmb2dhZGFz YW5hayBmZWx0ZXRlbGUgYSBNaW5vc2l0ZXR0IFN6b2xnYWx0YXRhc2kgU3phYmFseXphdGJhbiwg YXogQWx0YWxhbm9zIFN6ZXJ6b2Rlc2kgRmVsdGV0ZWxla2JlbiBlbG9pcnQgZWxsZW5vcnplc2kg ZWxqYXJhcyBtZWd0ZXRlbGUuIEEgZG9rdW1lbnR1bW9rIG1lZ3RhbGFsaGF0b2sgYSBodHRwczov L3d3dy5uZXRsb2NrLmh1L2RvY3MvIGNpbWVuIHZhZ3kga2VyaGV0b2sgYXogaW5mb0BuZXRsb2Nr Lm5ldCBlLW1haWwgY2ltZW4uIFdBUk5JTkchIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0 aGlzIGNlcnRpZmljYXRlIGFyZSBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIFF1YWxpZmllZCBDUFMg YXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3Lm5ldGxvY2suaHUvZG9jcy8gb3IgYnkgZS1tYWlsIGF0 IGluZm9AbmV0bG9jay5uZXQwHQYDVR0OBBYEFAlqYhaSsFq7VQ7LdTI6MuWyIckoMA0GCSqGSIb3 DQEBBQUAA4IBAQCRalCc23iBmz+LQuM7/KbD7kPgz/PigDVJRXYC4uMvBcXxKufAQTPGtpvQMznN wNuhrWw3AkxYQTvyl5LGSKjN5Yo5iWH5Upfpvfb5lHTocQ68d4bDBsxafEp+NFAwLvt/MpqNPfMg W/hqyobzMUwsWYACff44yTB1HLdV47yfuqhthCgFdbOLDcCRVCHnpgu0mfVRQdzNo0ci2ccBgcTc R08m6h/t280NmPSjnLRzMkqWmf68f8glWPhY83ZmiVSkpj7EUFy6iRiCdUgh0k8T6GB+B3bbELVR 5qq5aKrN9p2QdRLqOBrKROi3macqaJVmlaut74nLYKkGEsaUR+ko -----END CERTIFICATE----- NetLock Notary (Class A) Root ============================= -----BEGIN CERTIFICATE----- MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6 dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC /tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7 tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6 4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0 ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5 ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM 8CgHrTwXZoi1/baI -----END CERTIFICATE----- NetLock Business (Class B) Root =============================== -----BEGIN CERTIFICATE----- MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUxETAPBgNVBAcT CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV BAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQDEylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikg VGFudXNpdHZhbnlraWFkbzAeFw05OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYD VQQGEwJIVTERMA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRv bnNhZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5ldExvY2sg VXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB iQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xKgZjupNTKihe5In+DCnVMm8Bp2GQ5o+2S o/1bXHQawEfKOml2mrriRBf8TKPV/riXiK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr 1nGTLbO/CVRY7QbrqHvcQ7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV HQ8BAf8EBAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZ RUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRh dGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0 ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRv c2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUg YXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBz Oi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNA bmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhl IHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2 YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBj cHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06sPgzTEdM 43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXan3BukxowOR0w2y7jfLKR stE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKSNitjrFgBazMpUIaD8QFI -----END CERTIFICATE----- NetLock Express (Class C) Root ============================== -----BEGIN CERTIFICATE----- MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUxETAPBgNVBAcT CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV BAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQDEytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBD KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJ BgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6 dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMrTmV0TG9j ayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzANBgkqhkiG9w0BAQEFAAOB jQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNAOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3Z W3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63 euyucYT2BDMIJTLrdKwWRMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQw DgYDVR0PAQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEWggJN RklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0YWxhbm9zIFN6b2xn YWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBB IGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBOZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1i aXp0b3NpdGFzYSB2ZWRpLiBBIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0 ZWxlIGF6IGVsb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25sYXBqYW4gYSBo dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kga2VyaGV0byBheiBlbGxlbm9y emVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4gSU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5k IHRoZSB1c2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQ UyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwg YXQgY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmYta3UzbM2 xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2gpO0u9f38vf5NNwgMvOOW gyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4Fp1hBWeAyNDYpQcCNJgEjTME1A== -----END CERTIFICATE----- XRamp Global CA Root ==================== -----BEGIN CERTIFICATE----- MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc /Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz 8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw= -----END CERTIFICATE----- Go Daddy Class 2 CA =================== -----BEGIN CERTIFICATE----- MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv 2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32 qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b vZ8= -----END CERTIFICATE----- Starfield Class 2 CA ==================== -----BEGIN CERTIFICATE----- MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3 QBFGmh95DmK/D5fs4C8fF5Q= -----END CERTIFICATE----- StartCom Ltd. ============= -----BEGIN CERTIFICATE----- MIIFFjCCBH+gAwIBAgIBADANBgkqhkiG9w0BAQQFADCBsDELMAkGA1UEBhMCSUwxDzANBgNVBAgT BklzcmFlbDEOMAwGA1UEBxMFRWlsYXQxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xGjAYBgNVBAsT EUNBIEF1dGhvcml0eSBEZXAuMSkwJwYDVQQDEyBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eTEhMB8GCSqGSIb3DQEJARYSYWRtaW5Ac3RhcnRjb20ub3JnMB4XDTA1MDMxNzE3Mzc0OFoX DTM1MDMxMDE3Mzc0OFowgbAxCzAJBgNVBAYTAklMMQ8wDQYDVQQIEwZJc3JhZWwxDjAMBgNVBAcT BUVpbGF0MRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMRowGAYDVQQLExFDQSBBdXRob3JpdHkgRGVw LjEpMCcGA1UEAxMgRnJlZSBTU0wgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxITAfBgkqhkiG9w0B CQEWEmFkbWluQHN0YXJ0Y29tLm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA7YRgACOe yEpRKSfeOqE5tWmrCbIvNP1h3D3TsM+x18LEwrHkllbEvqoUDufMOlDIOmKdw6OsWXuO7lUaHEe+ o5c5s7XvIywI6Nivcy+5yYPo7QAPyHWlLzRMGOh2iCNJitu27Wjaw7ViKUylS7eYtAkUEKD4/mJ2 IhULpNYILzUCAwEAAaOCAjwwggI4MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgHmMB0GA1Ud DgQWBBQcicOWzL3+MtUNjIExtpidjShkjTCB3QYDVR0jBIHVMIHSgBQcicOWzL3+MtUNjIExtpid jShkjaGBtqSBszCBsDELMAkGA1UEBhMCSUwxDzANBgNVBAgTBklzcmFlbDEOMAwGA1UEBxMFRWls YXQxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xGjAYBgNVBAsTEUNBIEF1dGhvcml0eSBEZXAuMSkw JwYDVQQDEyBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYS YWRtaW5Ac3RhcnRjb20ub3JnggEAMB0GA1UdEQQWMBSBEmFkbWluQHN0YXJ0Y29tLm9yZzAdBgNV HRIEFjAUgRJhZG1pbkBzdGFydGNvbS5vcmcwEQYJYIZIAYb4QgEBBAQDAgAHMC8GCWCGSAGG+EIB DQQiFiBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAyBglghkgBhvhCAQQEJRYjaHR0 cDovL2NlcnQuc3RhcnRjb20ub3JnL2NhLWNybC5jcmwwKAYJYIZIAYb4QgECBBsWGWh0dHA6Ly9j ZXJ0LnN0YXJ0Y29tLm9yZy8wOQYJYIZIAYb4QgEIBCwWKmh0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9y Zy9pbmRleC5waHA/YXBwPTExMTANBgkqhkiG9w0BAQQFAAOBgQBscSXhnjSRIe/bbL0BCFaPiNhB OlP1ct8nV0t2hPdopP7rPwl+KLhX6h/BquL/lp9JmeaylXOWxkjHXo0Hclb4g4+fd68p00UOpO6w NnQt8M2YI3s3S9r+UZjEHjQ8iP2ZO1CnwYszx8JSFhKVU2Ui77qLzmLbcCOxgN8aIDjnfg== -----END CERTIFICATE----- StartCom Certification Authority ================================ -----BEGIN CERTIFICATE----- MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt 2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z 6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT 37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0 Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5 LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh 3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3 fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl 1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/ lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro g14= -----END CERTIFICATE----- Taiwan GRCA =========== -----BEGIN CERTIFICATE----- MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5 BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O 1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7 Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8 lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2 09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2 Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk 7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy +fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS -----END CERTIFICATE----- Firmaprofesional Root CA ======================== -----BEGIN CERTIFICATE----- MIIEVzCCAz+gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMCRVMxIjAgBgNVBAcT GUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMTOUF1dG9yaWRhZCBkZSBDZXJ0aWZp Y2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODEmMCQGCSqGSIb3DQEJARYXY2FA ZmlybWFwcm9mZXNpb25hbC5jb20wHhcNMDExMDI0MjIwMDAwWhcNMTMxMDI0MjIwMDAwWjCBnTEL MAkGA1UEBhMCRVMxIjAgBgNVBAcTGUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMT OUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2 ODEmMCQGCSqGSIb3DQEJARYXY2FAZmlybWFwcm9mZXNpb25hbC5jb20wggEiMA0GCSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQDnIwNvbyOlXnjOlSztlB5uCp4Bx+ow0Syd3Tfom5h5VtP8c9/Qit5V j1H5WuretXDE7aTt/6MNbg9kUDGvASdYrv5sp0ovFy3Tc9UTHI9ZpTQsHVQERc1ouKDAA6XPhUJH lShbz++AbOCQl4oBPB3zhxAwJkh91/zpnZFx/0GaqUC1N5wpIE8fUuOgfRNtVLcK3ulqTgesrBlf 3H5idPayBQC6haD9HThuy1q7hryUZzM1gywfI834yJFxzJeL764P3CkDG8A563DtwW4O2GcLiam8 NeTvtjS0pbbELaW+0MOUJEjb35bTALVmGotmBQ/dPz/LP6pemkr4tErvlTcbAgMBAAGjgZ8wgZww KgYDVR0RBCMwIYYfaHR0cDovL3d3dy5maXJtYXByb2Zlc2lvbmFsLmNvbTASBgNVHRMBAf8ECDAG AQH/AgEBMCsGA1UdEAQkMCKADzIwMDExMDI0MjIwMDAwWoEPMjAxMzEwMjQyMjAwMDBaMA4GA1Ud DwEB/wQEAwIBBjAdBgNVHQ4EFgQUMwugZtHq2s7eYpMEKFK1FH84aLcwDQYJKoZIhvcNAQEFBQAD ggEBAEdz/o0nVPD11HecJ3lXV7cVVuzH2Fi3AQL0M+2TUIiefEaxvT8Ub/GzR0iLjJcG1+p+o1wq u00vR+L4OQbJnC4xGgN49Lw4xiKLMzHwFgQEffl25EvXwOaD7FnMP97/T2u3Z36mhoEyIwOdyPdf wUpgpZKpsaSgYMN4h7Mi8yrrW6ntBas3D7Hi05V2Y1Z0jFhyGzflZKG+TQyTmAyX9odtsz/ny4Cm 7YjHX1BiAuiZdBbQ5rQ58SfLyEDW44YQqSMSkuBpQWOnryULwMWSyx6Yo1q6xTMPoJcB3X/ge9YG VM+h4k0460tQtcsm9MracEpqoeJ5quGnM/b9Sh/22WA= -----END CERTIFICATE----- Wells Fargo Root CA =================== -----BEGIN CERTIFICATE----- MIID5TCCAs2gAwIBAgIEOeSXnjANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UEBhMCVVMxFDASBgNV BAoTC1dlbGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eTEvMC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN MDAxMDExMTY0MTI4WhcNMjEwMTE0MTY0MTI4WjCBgjELMAkGA1UEBhMCVVMxFDASBgNVBAoTC1dl bGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEv MC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVqDM7Jvk0/82bfuUER84A4n135zHCLielTWi5MbqNQ1mX x3Oqfz1cQJ4F5aHiidlMuD+b+Qy0yGIZLEWukR5zcUHESxP9cMIlrCL1dQu3U+SlK93OvRw6esP3 E48mVJwWa2uv+9iWsWCaSOAlIiR5NM4OJgALTqv9i86C1y8IcGjBqAr5dE8Hq6T54oN+J3N0Prj5 OEL8pahbSCOz6+MlsoCultQKnMJ4msZoGK43YjdeUXWoWGPAUe5AeH6orxqg4bB4nVCMe+ez/I4j sNtlAHCEAQgAFG5Uhpq6zPk3EPbg3oQtnaSFN9OH4xXQwReQfhkhahKpdv0SAulPIV4XAgMBAAGj YTBfMA8GA1UdEwEB/wQFMAMBAf8wTAYDVR0gBEUwQzBBBgtghkgBhvt7hwcBCzAyMDAGCCsGAQUF BwIBFiRodHRwOi8vd3d3LndlbGxzZmFyZ28uY29tL2NlcnRwb2xpY3kwDQYJKoZIhvcNAQEFBQAD ggEBANIn3ZwKdyu7IvICtUpKkfnRLb7kuxpo7w6kAOnu5+/u9vnldKTC2FJYxHT7zmu1Oyl5GFrv m+0fazbuSCUlFLZWohDo7qd/0D+j0MNdJu4HzMPBJCGHHt8qElNvQRbn7a6U+oxy+hNH8Dx+rn0R OhPs7fpvcmR7nX1/Jv16+yWt6j4pf0zjAFcysLPp7VMX2YuyFA4w6OXVE8Zkr8QA1dhYJPz1j+zx x32l2w8n0cbyQIjmH/ZhqPRCyLk306m+LFZ4wnKbWV01QIroTmMatukgalHizqSQ33ZwmVxwQ023 tqcZZE6St8WRPH9IFmV7Fv3L/PvZ1dZPIWU7Sn9Ho/s= -----END CERTIFICATE----- Swisscom Root CA 1 ================== -----BEGIN CERTIFICATE----- MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4 MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIIC IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9m2BtRsiM MW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdihFvkcxC7mlSpnzNApbjyF NDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/TilftKaNXXsLmREDA/7n29uj/x2lzZAe AR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkC b6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn 7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbN cA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUp WyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5 haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNY MUJDLXT5xp6mig/p/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw HQYDVR0hBBYwFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9 MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn jgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQ MbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4H VtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtl vrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ipmXeascCl OS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HHb6D0jqTsNFFbjCYDcKF3 1QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBaZmBwXarNeNQk7shBoJMBkpxq nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW NY6E0F/6MBr1mmz0DlP5OlvRHA== -----END CERTIFICATE----- DigiCert Assured ID Root CA =========================== -----BEGIN CERTIFICATE----- MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO 9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW /lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF 66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i 8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== -----END CERTIFICATE----- DigiCert Global Root CA ======================= -----BEGIN CERTIFICATE----- MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H 4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y 7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm 8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= -----END CERTIFICATE----- DigiCert High Assurance EV Root CA ================================== -----BEGIN CERTIFICATE----- MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K -----END CERTIFICATE----- Certplus Class 2 Primary CA =========================== -----BEGIN CERTIFICATE----- MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR 5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+ 7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW //1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 l7+ijrRU -----END CERTIFICATE----- DST Root CA X3 ============== -----BEGIN CERTIFICATE----- MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1 cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9 UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ -----END CERTIFICATE----- DST ACES CA X6 ============== -----BEGIN CERTIFICATE----- MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2 5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3 oKfN5XozNmr6mis= -----END CERTIFICATE----- TURKTRUST Certificate Services Provider Root 1 ============================================== -----BEGIN CERTIFICATE----- MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0 acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ 8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4 W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46 sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H -----END CERTIFICATE----- TURKTRUST Certificate Services Provider Root 2 ============================================== -----BEGIN CERTIFICATE----- MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr 5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4 Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+ hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P 9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5 UrbnBEI= -----END CERTIFICATE----- SwissSign Platinum CA - G2 ========================== -----BEGIN CERTIFICATE----- MIIFwTCCA6mgAwIBAgIITrIAZwwDXU8wDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCQ0gxFTAT BgNVBAoTDFN3aXNzU2lnbiBBRzEjMCEGA1UEAxMaU3dpc3NTaWduIFBsYXRpbnVtIENBIC0gRzIw HhcNMDYxMDI1MDgzNjAwWhcNMzYxMDI1MDgzNjAwWjBJMQswCQYDVQQGEwJDSDEVMBMGA1UEChMM U3dpc3NTaWduIEFHMSMwIQYDVQQDExpTd2lzc1NpZ24gUGxhdGludW0gQ0EgLSBHMjCCAiIwDQYJ KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMrfogLi2vj8Bxax3mCq3pZcZB/HL37PZ/pEQtZ2Y5Wu 669yIIpFR4ZieIbWIDkm9K6j/SPnpZy1IiEZtzeTIsBQnIJ71NUERFzLtMKfkr4k2HtnIuJpX+UF eNSH2XFwMyVTtIc7KZAoNppVRDBopIOXfw0enHb/FZ1glwCNioUD7IC+6ixuEFGSzH7VozPY1kne WCqv9hbrS3uQMpe5up1Y8fhXSQQeol0GcN1x2/ndi5objM89o03Oy3z2u5yg+gnOI2Ky6Q0f4nIo j5+saCB9bzuohTEJfwvH6GXp43gOCWcwizSC+13gzJ2BbWLuCB4ELE6b7P6pT1/9aXjvCR+htL/6 8++QHkwFix7qepF6w9fl+zC8bBsQWJj3Gl/QKTIDE0ZNYWqFTFJ0LwYfexHihJfGmfNtf9dng34T aNhxKFrYzt3oEBSa/m0jh26OWnA81Y0JAKeqvLAxN23IhBQeW71FYyBrS3SMvds6DsHPWhaPpZjy domyExI7C3d3rLvlPClKknLKYRorXkzig3R3+jVIeoVNjZpTxN94ypeRSCtFKwH3HBqi7Ri6Cr2D +m+8jVeTO9TUps4e8aCxzqv9KyiaTxvXw3LbpMS/XUz13XuWae5ogObnmLo2t/5u7Su9IPhlGdpV CX4l3P5hYnL5fhgC72O00Puv5TtjjGePAgMBAAGjgawwgakwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud EwEB/wQFMAMBAf8wHQYDVR0OBBYEFFCvzAeHFUdvOMW0ZdHelarp35zMMB8GA1UdIwQYMBaAFFCv zAeHFUdvOMW0ZdHelarp35zMMEYGA1UdIAQ/MD0wOwYJYIV0AVkBAQEBMC4wLAYIKwYBBQUHAgEW IGh0dHA6Ly9yZXBvc2l0b3J5LnN3aXNzc2lnbi5jb20vMA0GCSqGSIb3DQEBBQUAA4ICAQAIhab1 Fgz8RBrBY+D5VUYI/HAcQiiWjrfFwUF1TglxeeVtlspLpYhg0DB0uMoI3LQwnkAHFmtllXcBrqS3 NQuB2nEVqXQXOHtYyvkv+8Bldo1bAbl93oI9ZLi+FHSjClTTLJUYFzX1UWs/j6KWYTl4a0vlpqD4 U99REJNi54Av4tHgvI42Rncz7Lj7jposiU0xEQ8mngS7twSNC/K5/FqdOxa3L8iYq/6KUFkuozv8 KV2LwUvJ4ooTHbG/u0IdUt1O2BReEMYxB+9xJ/cbOQncguqLs5WGXv312l0xpuAxtpTmREl0xRbl 9x8DYSjFyMsSoEJL+WuICI20MhjzdZ/EfwBPBZWcoxcCw7NTm6ogOSkrZvqdr16zktK1puEa+S1B aYEUtLS17Yk9zvupnTVCRLEcFHOBzyoBNZox1S2PbYTfgE1X4z/FhHXaicYwu+uPyyIIoK6q8QNs OktNCaUOcsZWayFCTiMlFGiudgp8DAdwZPmaL/YFOSbGDI8Zf0NebvRbFS/bYV3mZy8/CJT5YLSY Mdp08YSTcU1f+2BY0fvEwW2JorsgH51xkcsymxM9Pn2SUjWskpSi0xjCfMfqr3YFFt1nJ8J+HAci IfNAChs0B0QTwoRqjt8ZWr9/6x3iGjjRXK9HkmuAtTClyY3YqzGBH9/CZjfTk6mFhnll0g== -----END CERTIFICATE----- SwissSign Gold CA - G2 ====================== -----BEGIN CERTIFICATE----- MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR 7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64 OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm 5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr 44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ -----END CERTIFICATE----- SwissSign Silver CA - G2 ======================== -----BEGIN CERTIFICATE----- MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3 aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG 9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644 N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm +/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH 6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5 FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P 4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L 3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx /uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u -----END CERTIFICATE----- GeoTrust Primary Certification Authority ======================================== -----BEGIN CERTIFICATE----- MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9 nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG 1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= -----END CERTIFICATE----- thawte Primary Root CA ====================== -----BEGIN CERTIFICATE----- MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3 MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ 1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89 jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA== -----END CERTIFICATE----- VeriSign Class 3 Public Primary Certification Authority - G5 ============================================================ -----BEGIN CERTIFICATE----- MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/ BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+ X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq -----END CERTIFICATE----- SecureTrust CA ============== -----BEGIN CERTIFICATE----- MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b 01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR 3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= -----END CERTIFICATE----- Secure Global CA ================ -----BEGIN CERTIFICATE----- MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g 8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi 0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW -----END CERTIFICATE----- COMODO Certification Authority ============================== -----BEGIN CERTIFICATE----- MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH +7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV 4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA 1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN +8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== -----END CERTIFICATE----- DigiNotar Root CA ================= -----BEGIN CERTIFICATE----- MIIFijCCA3KgAwIBAgIQDHbanJEMTiye/hXQWJM8TDANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQG EwJOTDESMBAGA1UEChMJRGlnaU5vdGFyMRowGAYDVQQDExFEaWdpTm90YXIgUm9vdCBDQTEgMB4G CSqGSIb3DQEJARYRaW5mb0BkaWdpbm90YXIubmwwHhcNMDcwNTE2MTcxOTM2WhcNMjUwMzMxMTgx OTIxWjBfMQswCQYDVQQGEwJOTDESMBAGA1UEChMJRGlnaU5vdGFyMRowGAYDVQQDExFEaWdpTm90 YXIgUm9vdCBDQTEgMB4GCSqGSIb3DQEJARYRaW5mb0BkaWdpbm90YXIubmwwggIiMA0GCSqGSIb3 DQEBAQUAA4ICDwAwggIKAoICAQCssFjBAL3YIQgLK5r+blYwBZ8bd5AQQVzDDYcRd46B8cp86Yxq 7Th0Nbva3/m7wAk3tJZzgX0zGpg595NvlX89ubF1h7pRSOiLcD6VBMXYtsMW2YiwsYcdcNqGtA8U i3rPENF0NqISe3eGSnnme98CEWilToauNFibJBN4ViIlHgGLS1Fx+4LMWZZpiFpoU8W5DQI3y0u8 ZkqQfioLBQftFl9VkHXYRskbg+IIvvEjzJkd1ioPgyAVWCeCLvriIsJJsbkBgWqdbZ1Ad2h2TiEq bYRAhU52mXyC8/O3AlnUJgEbjt+tUwbRrhjd4rI6y9eIOI6sWym5GdOY+RgDz0iChmYLG2kPyes4 iHomGgVMktck1JbyrFIto0fVUvY//s6EBnCmqj6i8rZWNBhXouSBbefK8GrTx5FrAoNBfBXva5pk XuPQPOWx63tdhvvL5ndJzaNl3Pe5nLjkC1+Tz8wwGjIczhxjlaX56uF0i57pK6kwe6AYHw4YC+Vb qdPRbB4HZ4+RS6mKvNJmqpMBiLKR+jFc1abBUggJzQpjotMipuih2TkGl/VujQKQjBR7P4DNG5y6 xFhyI6+2Vp/GekIzKQc/gsnmHwUNzUwoNovTyD4cxojvXu6JZOkd69qJfjKmadHdzIif0dDJZiHc BmfFlHqabWJMfczgZICynkeOowIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE AwIBBjAdBgNVHQ4EFgQUiGi/4I41xDs4a2L3KDuEgcgM100wDQYJKoZIhvcNAQEFBQADggIBADsC jcs8MOhuoK3yc7NfniUTBAXT9uOLuwt5zlPe5JbF0a9zvNXD0EBVfEB/zRtfCdXyfJ9oHbtdzno5 wozWmHvFg1Wo1X1AyuAe94leY12hE8JdiraKfADzI8PthV9xdvBoY6pFITlIYXg23PFDk9Qlx/KA ZeFTAnVR/Ho67zerhChXDNjU1JlWbOOi/lmEtDHoM/hklJRRl6s5xUvt2t2AC298KQ3EjopyDedT FLJgQT2EkTFoPSdE2+Xe9PpjRchMPpj1P0G6Tss3DbpmmPHdy59c91Q2gmssvBNhl0L4eLvMyKKf yvBovWsdst+Nbwed2o5nx0ceyrm/KkKRt2NTZvFCo+H0Wk1Ya7XkpDOtXHAd3ODy63MUkZoDweoA ZbwH/M8SESIsrqC9OuCiKthZ6SnTGDWkrBFfGbW1G/8iSlzGeuQX7yCpp/Q/rYqnmgQlnQ7KN+ZQ /YxCKQSa7LnPS3K94gg2ryMvYuXKAdNw23yCIywWMQzGNgeQerEfZ1jEO1hZibCMjFCz2IbLaKPE CudpSyDOwR5WS5WpI2jYMNjD67BVUc3l/Su49bsRn1NU9jQZjHkJNsphFyUXC4KYcwx3dMPVDceo EkzHp1RxRy4sGn3J4ys7SN4nhKdjNrN9j6BkOSQNPXuHr2ZcdBtLc7LljPCGmbjlxd+Ewbfr -----END CERTIFICATE----- Network Solutions Certificate Authority ======================================= -----BEGIN CERTIFICATE----- MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc /Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q 4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/ GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey -----END CERTIFICATE----- WellsSecure Public Root Certificate Authority ============================================= -----BEGIN CERTIFICATE----- MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1 iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13 i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8 bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0 bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ tylv2G0xffX8oRAHh84vWdw+WNs= -----END CERTIFICATE----- COMODO ECC Certification Authority ================================== -----BEGIN CERTIFICATE----- MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X 4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= -----END CERTIFICATE----- MD5 Collisions Forged Rogue CA 25c3 =================================== -----BEGIN CERTIFICATE----- MIIEMjCCA5ugAwIBAgIBQjANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp bmVzcyBDQS0xMB4XDTA0MDczMTAwMDAwMVoXDTA0MDkwMjAwMDAwMVowPDE6MDgGA1UEAxMxTUQ1 IENvbGxpc2lvbnMgSW5jLiAoaHR0cDovL3d3dy5waHJlZWRvbS5vcmcvbWQ1KTCBnzANBgkqhkiG 9w0BAQEFAAOBjQAwgYkCgYEAuqZZySwo1iqw+O2fRqSkN+4OGWhZ0bMDmVHWFppeN2sV4A5L9YRk +KPbQW811ZsVH9vEOFJwgZdej6C193458DKsHq1E0rP6SMPOkZvs9Jx84Vr1yDdrmoPe58oglzFC cxWRaPSIr/koKMXpD3OwF0sTTJl10ETmfghsGvJPG0ECAwEAAaOCAiQwggIgMAsGA1UdDwQEAwIB xjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSnBGAfq3JDCMV/CJBVVhzWzuY46zAfBgNVHSME GDAWgBS+qKB0clBrRLfJI9j7qP+zV2tobDCCAb4GCWCGSAGG+EIBDQSCAa8WggGrMwAAACdeOeCJ YQ9Oo8VFCza7AdFTqsMIj2/4Tz6Hh0QR3GDg35JV+bhzG1STxZ/QRsRgtjVizbmvHKhpGslbPJY3 wO1n77v+wIucUC8pvYMino4I+qwTcKJYf2JiihH3ifbftmdZcxb7YxaKtJE4zi71tr5MpJRJ5GUR CkIVycEw4mnVRX2lJru5YexiZPA54ee8aNhQUZ4dYNPRo6cK+AMgoXABF5E2TwJwMYaD3fcP2Acd EbMTBKXc8K5QsSgOY2kqDIJvj0cz32yiBpLxT0W+2TA2oyuM1neuNWN/Tkyak0g22Z8CAwEAAaOB vTCBujAOBgNVHQ8BAf8EBAMCBPAwHQYDVR0OBBYEFM2mg/qlYDf3ljcXKd5BePGHiVXnMDsGA1Ud HwQ0MDIwMKAuoCyGKmh0dHA6Ly9jcmwuZ2VvdHJ1c3QuY29tL2NybHMvZ2xvYmFsY2ExLmNybDAf BgNVHSMEGDAWgBS+qKB0clBrRLfJI9j7qP+zV2tobDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYB BQUHAwIwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQQFAAOBgQCnIQKN0Q6igHcl/UNgFY/s75BH 1IRCFSYRHM3CPBApqbbfq1d1kdrlK7OQRRwwY1Y/itlQ+u1YbMBlrGZX3hzGdjv1AA6ORc5/TJDs K8bNs7SPYtD+t8UmckTt9phbrsvRlfXaCL5oRrF1yOwdjx56lPGqU3iiRa5U6tGedMh2Zw== -----END CERTIFICATE----- RCurl/inst/CurlSSL/boost.pem0000644000176000001440000000310112437571707015436 0ustar ripleyusers-----BEGIN CERTIFICATE----- MIIEcTCCA9qgAwIBAgIBHjANBgkqhkiG9w0BAQQFADCB2jELMAkGA1UEBhMCVVMx EDAOBgNVBAgTB0luZGlhbmExFDASBgNVBAcTC0Jsb29taW5ndG9uMRswGQYDVQQK ExJJbmRpYW5hIFVuaXZlcnNpdHkxJDAiBgNVBAsTG0NvbXB1dGVyIFNjaWVuY2Ug RGVwYXJ0bWVudDE6MDgGA1UEAxMxQ29tcHV0ZXIgU2NpZW5jZSBEZXBhcnRtZW50 IENlcnRpZmljYXRlIEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJARYVc2VjdXJlQGNz LmluZGlhbmEuZWR1MB4XDTA3MDMzMDIyNDI0MFoXDTE3MDMyNzIyNDI0MFowgbYx CzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdJbmRpYW5hMRQwEgYDVQQHEwtCbG9vbWlu Z3RvbjEbMBkGA1UEChMSSW5kaWFuYSBVbml2ZXJzaXR5MSQwIgYDVQQLExtDb21w dXRlciBTY2llbmNlIERlcGFydG1lbnQxFjAUBgNVBAMTDXN2bi5ib29zdC5vcmcx JDAiBgkqhkiG9w0BCQEWFXNlY3VyZUBjcy5pbmRpYW5hLmVkdTCBnzANBgkqhkiG 9w0BAQEFAAOBjQAwgYkCgYEAxaxyYumnVOczq/ycW6AP20TcmSPUzDXKc2WgS1Mv 5tZumKVB7x8gyRPymrNUB/mTEefyypt686d7c7J8cwEpeErqtkc9tgB1qh2aipUK rcmBVgKGdAUfMS7n1fe5A71Hq7taoD7STF3GCAYilV5LF9xVd333SBJuaJGYSmLo Al0CAwEAAaOCAWcwggFjMAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5T U0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBQnKN6rhjiYuGPfnOfh DX3qhlgygjCCAQcGA1UdIwSB/zCB/IAU1U2MOZn/zew88j8wPTWqzYhNzaKhgeCk gd0wgdoxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdJbmRpYW5hMRQwEgYDVQQHEwtC bG9vbWluZ3RvbjEbMBkGA1UEChMSSW5kaWFuYSBVbml2ZXJzaXR5MSQwIgYDVQQL ExtDb21wdXRlciBTY2llbmNlIERlcGFydG1lbnQxOjA4BgNVBAMTMUNvbXB1dGVy IFNjaWVuY2UgRGVwYXJ0bWVudCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxJDAiBgkq hkiG9w0BCQEWFXNlY3VyZUBjcy5pbmRpYW5hLmVkdYIBADANBgkqhkiG9w0BAQQF AAOBgQATYgcmC1Vq92eH4ZAbRl2v9ZsGpEZxf81Tjq2mZ5gWMjQ1sdvyATLq3lFW Hcng8m5GIZY60APUYat9KhtnMLPRg4cm4gUTJVG13n5FvvWbqSdnhr96AJOOAKA/ Rp4U64b3XQCqlYPz8XNkGhPLkP2DlrnwffNQYxT2lZW0t64VdA== -----END CERTIFICATE-----RCurl/inst/CurlSSL/certs0000644000176000001440000000641212437571707014660 0ustar ripleyusers-----BEGIN CERTIFICATE----- MIIEcTCCA9qgAwIBAgIBHjANBgkqhkiG9w0BAQQFADCB2jELMAkGA1UEBhMCVVMx EDAOBgNVBAgTB0luZGlhbmExFDASBgNVBAcTC0Jsb29taW5ndG9uMRswGQYDVQQK ExJJbmRpYW5hIFVuaXZlcnNpdHkxJDAiBgNVBAsTG0NvbXB1dGVyIFNjaWVuY2Ug RGVwYXJ0bWVudDE6MDgGA1UEAxMxQ29tcHV0ZXIgU2NpZW5jZSBEZXBhcnRtZW50 IENlcnRpZmljYXRlIEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJARYVc2VjdXJlQGNz LmluZGlhbmEuZWR1MB4XDTA3MDMzMDIyNDI0MFoXDTE3MDMyNzIyNDI0MFowgbYx CzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdJbmRpYW5hMRQwEgYDVQQHEwtCbG9vbWlu Z3RvbjEbMBkGA1UEChMSSW5kaWFuYSBVbml2ZXJzaXR5MSQwIgYDVQQLExtDb21w dXRlciBTY2llbmNlIERlcGFydG1lbnQxFjAUBgNVBAMTDXN2bi5ib29zdC5vcmcx JDAiBgkqhkiG9w0BCQEWFXNlY3VyZUBjcy5pbmRpYW5hLmVkdTCBnzANBgkqhkiG 9w0BAQEFAAOBjQAwgYkCgYEAxaxyYumnVOczq/ycW6AP20TcmSPUzDXKc2WgS1Mv 5tZumKVB7x8gyRPymrNUB/mTEefyypt686d7c7J8cwEpeErqtkc9tgB1qh2aipUK rcmBVgKGdAUfMS7n1fe5A71Hq7taoD7STF3GCAYilV5LF9xVd333SBJuaJGYSmLo Al0CAwEAAaOCAWcwggFjMAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5T U0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBQnKN6rhjiYuGPfnOfh DX3qhlgygjCCAQcGA1UdIwSB/zCB/IAU1U2MOZn/zew88j8wPTWqzYhNzaKhgeCk gd0wgdoxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdJbmRpYW5hMRQwEgYDVQQHEwtC bG9vbWluZ3RvbjEbMBkGA1UEChMSSW5kaWFuYSBVbml2ZXJzaXR5MSQwIgYDVQQL ExtDb21wdXRlciBTY2llbmNlIERlcGFydG1lbnQxOjA4BgNVBAMTMUNvbXB1dGVy IFNjaWVuY2UgRGVwYXJ0bWVudCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxJDAiBgkq hkiG9w0BCQEWFXNlY3VyZUBjcy5pbmRpYW5hLmVkdYIBADANBgkqhkiG9w0BAQQF AAOBgQATYgcmC1Vq92eH4ZAbRl2v9ZsGpEZxf81Tjq2mZ5gWMjQ1sdvyATLq3lFW Hcng8m5GIZY60APUYat9KhtnMLPRg4cm4gUTJVG13n5FvvWbqSdnhr96AJOOAKA/ Rp4U64b3XQCqlYPz8XNkGhPLkP2DlrnwffNQYxT2lZW0t64VdA== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIE1DCCA7ygAwIBAgILAQAAAAABFIOxMIwwDQYJKoZIhvcNAQEFBQAwXzELMAkG A1UEBhMCQkUxEzARBgNVBAoTCkN5YmVydHJ1c3QxFzAVBgNVBAsTDkVkdWNhdGlv bmFsIENBMSIwIAYDVQQDExlDeWJlcnRydXN0IEVkdWNhdGlvbmFsIENBMB4XDTA3 MDgyMDE0MzMyMVoXDTEwMDgyMDE0MzMyMVowYTELMAkGA1UEBhMCQ0gxFDASBgNV BAoTC0VUSCBadWVyaWNoMRUwEwYDVQQDEwxzdGF0LmV0aHouY2gxJTAjBgkqhkiG 9w0BCQEWFndlYm1hc3RlckBtYXRoLmV0aHouY2gwggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQDW1p/xwECPFrRnBz/5SLDfn+30Q0K0P6zPr6NYykkarg8w sNg9+DAQmxaINcEliTIOhkkakWgjXlA23u9qq2ftb5mKPfDwHPR9HXHke3XkJNwj 97WLD6OZkxUGgSGA5akG4ZVnPqCE8h/NCH2Jh3qmGv9mMZdSDcU81s2/PuLuEtMs jsIgfHepiwE1reV5jsQgcQZRHhRU/dL2t1VD4hm55PV/jhr7HmY6di0IxlbA/YW7 rnE27qSqJshihuAC19stSQ7yljZJpI/hM1yZQQvRxyKUlScqJ9vJv2OT8Sp6vNqc /pMme2mPGVw7R7GMTK3anWfaplKdD6heu/wUNL9RAgMBAAGjggGNMIIBiTBQBgNV HSAESTBHMEUGByqGSLE+AQAwOjA4BggrBgEFBQcCARYsaHR0cDovL3d3dy5nbG9i YWxzaWduLm5ldC9yZXBvc2l0b3J5L2Nwcy5jZm0wDgYDVR0PAQH/BAQDAgWgMB8G A1UdIwQYMBaAFGVloz3XOxGjCgclN8lCSlt2d1DhMB0GA1UdDgQWBBRphVuajRAc cWUwWH7PIOIh7Dt5iTA6BgNVHR8EMzAxMC+gLaArhilodHRwOi8vY3JsLmdsb2Jh bHNpZ24ubmV0L2VkdWNhdGlvbmFsLmNybDBPBggrBgEFBQcBAQRDMEEwPwYIKwYB BQUHMAKGM2h0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5uZXQvY2FjZXJ0L2VkdWNh dGlvbmFsLmNydDAvBgNVHREEKDAmggxzdGF0LmV0aHouY2iBFndlYm1hc3RlckBt YXRoLmV0aHouY2gwJwYDVR0lBCAwHgYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEF BQcDBDANBgkqhkiG9w0BAQUFAAOCAQEAJpyATMUdre8Ru6H38vZr2RRblGtWNAUU Ex0g7vLuign+dvbqOrwai+JaT369ny75R0psJzRDamrS3qH5Z1E9DfpbfBx9ikKe O1G3hjuj6gSTHWwSMUcg4EYNIrt6Vxa5JLuCkNNuzledVs1jtZe9d2+BKzJQ8gJv BS2IeokFs0huq8T+BTMgXyPF2p1LRMB89svmtjqvBBAl+R5OzEvkenZMpHghP9EK bZUpMzr9fHSRCaOeLxwDJ6bH5y0weCgFSjhUDwAM4+05z9DJJj4aoZM69wTFJvM+ 4LXHpyR/RDwPGatXY53dRhiuq3SaQ8XnbUeOBOJCJv47pRaiQX9oTw== -----END CERTIFICATE-----RCurl/inst/CurlSSL/docs0000644000176000001440000000024612437571707014467 0ustar ripleyusershttp://ademar.name/blog/2006/04/curl-ssl-certificate-problem-v.html http://secure.globalsign.net/cacert/sureserverEDU.pem http://curl.haxx.se/docs/caextract.html RCurl/inst/CurlSSL/myBundle.crt0000644000176000001440000104314112437571707016107 0ustar ripleyusers## ## ca-bundle.crt -- Bundle of CA Root Certificates ## ## This is a bundle of X.509 certificates of public ## Certificate Authorities (CA). These were automatically ## extracted from Mozilla's NSS v3.7 library's certificate database ## ## It contains the certificates in both ## plain text and PEM format and therefore can be directly used ## with an Apache+mod_ssl webserver for SSL client authentication. ## Just configure this file as the SSLCACertificateFile. ## ## (SKIPME) ## ABAecom (sub., Am. Bankers Assn.) Root CA ========================================= MD5 Fingerprint=41:B8:07:F7:A8:D1:09:EE:B4:9A:8E:70:4D:FC:1B:78 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDtTCCAp2gAwIBAgIRANAeQJAAAEZSAAAAAQAAAAQwDQYJKoZIhvcNAQEFBQAw gYkxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJEQzETMBEGA1UEBxMKV2FzaGluZ3Rv bjEXMBUGA1UEChMOQUJBLkVDT00sIElOQy4xGTAXBgNVBAMTEEFCQS5FQ09NIFJv b3QgQ0ExJDAiBgkqhkiG9w0BCQEWFWFkbWluQGRpZ3NpZ3RydXN0LmNvbTAeFw05 OTA3MTIxNzMzNTNaFw0wOTA3MDkxNzMzNTNaMIGJMQswCQYDVQQGEwJVUzELMAkG A1UECBMCREMxEzARBgNVBAcTCldhc2hpbmd0b24xFzAVBgNVBAoTDkFCQS5FQ09N LCBJTkMuMRkwFwYDVQQDExBBQkEuRUNPTSBSb290IENBMSQwIgYJKoZIhvcNAQkB FhVhZG1pbkBkaWdzaWd0cnVzdC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQCx0xHgeVVDBwhMywVCAOINg0Y95JO6tgbTDVm9PsHOQ2cBiiGo77zM 0KLMsFWWU4RmBQDaREmA2FQKpSWGlO1jVv9wbKOhGdJ4vmgqRF4vz8wYXke8OrFG PR7wuSw0X4x8TAgpnUBV6zx9g9618PeKgw6hTLQ6pbNfWiKX7BmbwQVo/ea3qZGU LOR4SCQaJRk665WcOQqKz0Ky8BzVX/tr7WhWezkscjiw7pOp03t3POtxA6k4ShZs iSrK2jMTecJVjO2cu/LLWxD4LmE1xilMKtAqY9FlWbT4zfn0AIS2V0KFnTKo+SpU +/94Qby9cSj0u5C8/5Y0BONFnqFGKECBAgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYB Af8CAQgwDQYJKoZIhvcNAQEFBQADggEBAARvJYbk5pYntNlCwNDJALF/VD6Hsm0k qS8Kfv2kRLD4VAe9G52dyntQJHsRW0mjpr8SdNWJt7cvmGQlFLdh6X9ggGvTZOir vRrWUfrAtF13Gn9kCF55xgVM8XrdTX3O5kh7VNJhkoHWG9YA8A6eKHegTYjHInYZ w8eeG6Z3ePhfm1bR8PIXrI6dWeYf/le22V7hXZ9F7GFoGUHhsiAm/lowdiT/QHI8 eZ98IkirRs3bs4Ysj78FQdPB4xTjQRcm0HyncUwZ6EoPclgxfexgeqMiKL0ZJGA/ O4dzwGvky663qyVDslUte6sGDnVdNOVdc22esnVApVnJTzFxiNmIf1Q= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: d0:1e:40:90:00:00:46:52:00:00:00:01:00:00:00:04 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=DC, L=Washington, O=ABA.ECOM, INC., CN=ABA.ECOM Root CA/Email=admin@digsigtrust.com Validity Not Before: Jul 12 17:33:53 1999 GMT Not After : Jul 9 17:33:53 2009 GMT Subject: C=US, ST=DC, L=Washington, O=ABA.ECOM, INC., CN=ABA.ECOM Root CA/Email=admin@digsigtrust.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:b1:d3:11:e0:79:55:43:07:08:4c:cb:05:42:00: e2:0d:83:46:3d:e4:93:ba:b6:06:d3:0d:59:bd:3e: c1:ce:43:67:01:8a:21:a8:ef:bc:cc:d0:a2:cc:b0: 55:96:53:84:66:05:00:da:44:49:80:d8:54:0a:a5: 25:86:94:ed:63:56:ff:70:6c:a3:a1:19:d2:78:be: 68:2a:44:5e:2f:cf:cc:18:5e:47:bc:3a:b1:46:3d: 1e:f0:b9:2c:34:5f:8c:7c:4c:08:29:9d:40:55:eb: 3c:7d:83:de:b5:f0:f7:8a:83:0e:a1:4c:b4:3a:a5: b3:5f:5a:22:97:ec:19:9b:c1:05:68:fd:e6:b7:a9: 91:94:2c:e4:78:48:24:1a:25:19:3a:eb:95:9c:39: 0a:8a:cf:42:b2:f0:1c:d5:5f:fb:6b:ed:68:56:7b: 39:2c:72:38:b0:ee:93:a9:d3:7b:77:3c:eb:71:03: a9:38:4a:16:6c:89:2a:ca:da:33:13:79:c2:55:8c: ed:9c:bb:f2:cb:5b:10:f8:2e:61:35:c6:29:4c:2a: d0:2a:63:d1:65:59:b4:f8:cd:f9:f4:00:84:b6:57: 42:85:9d:32:a8:f9:2a:54:fb:ff:78:41:bc:bd:71: 28:f4:bb:90:bc:ff:96:34:04:e3:45:9e:a1:46:28: 40:81 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE, pathlen:8 Signature Algorithm: sha1WithRSAEncryption 04:6f:25:86:e4:e6:96:27:b4:d9:42:c0:d0:c9:00:b1:7f:54: 3e:87:b2:6d:24:a9:2f:0a:7e:fd:a4:44:b0:f8:54:07:bd:1b: 9d:9d:ca:7b:50:24:7b:11:5b:49:a3:a6:bf:12:74:d5:89:b7: b7:2f:98:64:25:14:b7:61:e9:7f:60:80:6b:d3:64:e8:ab:bd: 1a:d6:51:fa:c0:b4:5d:77:1a:7f:64:08:5e:79:c6:05:4c:f1: 7a:dd:4d:7d:ce:e6:48:7b:54:d2:61:92:81:d6:1b:d6:00:f0: 0e:9e:28:77:a0:4d:88:c7:22:76:19:c3:c7:9e:1b:a6:77:78: f8:5f:9b:56:d1:f0:f2:17:ac:8e:9d:59:e6:1f:fe:57:b6:d9: 5e:e1:5d:9f:45:ec:61:68:19:41:e1:b2:20:26:fe:5a:30:76: 24:ff:40:72:3c:79:9f:7c:22:48:ab:46:cd:db:b3:86:2c:8f: bf:05:41:d3:c1:e3:14:e3:41:17:26:d0:7c:a7:71:4c:19:e8: 4a:0f:72:58:31:7d:ec:60:7a:a3:22:28:bd:19:24:60:3f:3b: 87:73:c0:6b:e4:cb:ae:b7:ab:25:43:b2:55:2d:7b:ab:06:0e: 75:5d:34:e5:5d:73:6d:9e:b2:75:40:a5:59:c9:4f:31:71:88: d9:88:7f:54 AddTrust External Root ====================== MD5 Fingerprint=1D:35:54:04:85:78:B0:3F:42:42:4D:BF:20:73:0A:3F PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root Validity Not Before: May 30 10:48:38 2000 GMT Not After : May 30 10:48:38 2020 GMT Subject: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:b7:f7:1a:33:e6:f2:00:04:2d:39:e0:4e:5b:ed: 1f:bc:6c:0f:cd:b5:fa:23:b6:ce:de:9b:11:33:97: a4:29:4c:7d:93:9f:bd:4a:bc:93:ed:03:1a:e3:8f: cf:e5:6d:50:5a:d6:97:29:94:5a:80:b0:49:7a:db: 2e:95:fd:b8:ca:bf:37:38:2d:1e:3e:91:41:ad:70: 56:c7:f0:4f:3f:e8:32:9e:74:ca:c8:90:54:e9:c6: 5f:0f:78:9d:9a:40:3c:0e:ac:61:aa:5e:14:8f:9e: 87:a1:6a:50:dc:d7:9a:4e:af:05:b3:a6:71:94:9c: 71:b3:50:60:0a:c7:13:9d:38:07:86:02:a8:e9:a8: 69:26:18:90:ab:4c:b0:4f:23:ab:3a:4f:84:d8:df: ce:9f:e1:69:6f:bb:d7:42:d7:6b:44:e4:c7:ad:ee: 6d:41:5f:72:5a:71:08:37:b3:79:65:a4:59:a0:94: 37:f7:00:2f:0d:c2:92:72:da:d0:38:72:db:14:a8: 45:c4:5d:2a:7d:b7:b4:d6:c4:ee:ac:cd:13:44:b7: c9:2b:dd:43:00:25:fa:61:b9:69:6a:58:23:11:b7: a7:33:8f:56:75:59:f5:cd:29:d7:46:b7:0a:2b:65: b6:d3:42:6f:15:b2:b8:7b:fb:ef:e9:5d:53:d5:34: 5a:27 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: AD:BD:98:7A:34:B4:26:F7:FA:C4:26:54:EF:03:BD:E0:24:CB:54:1A X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Basic Constraints: critical CA:TRUE X509v3 Authority Key Identifier: keyid:AD:BD:98:7A:34:B4:26:F7:FA:C4:26:54:EF:03:BD:E0:24:CB:54:1A DirName:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root serial:01 Signature Algorithm: sha1WithRSAEncryption b0:9b:e0:85:25:c2:d6:23:e2:0f:96:06:92:9d:41:98:9c:d9: 84:79:81:d9:1e:5b:14:07:23:36:65:8f:b0:d8:77:bb:ac:41: 6c:47:60:83:51:b0:f9:32:3d:e7:fc:f6:26:13:c7:80:16:a5: bf:5a:fc:87:cf:78:79:89:21:9a:e2:4c:07:0a:86:35:bc:f2: de:51:c4:d2:96:b7:dc:7e:4e:ee:70:fd:1c:39:eb:0c:02:51: 14:2d:8e:bd:16:e0:c1:df:46:75:e7:24:ad:ec:f4:42:b4:85: 93:70:10:67:ba:9d:06:35:4a:18:d3:2b:7a:cc:51:42:a1:7a: 63:d1:e6:bb:a1:c5:2b:c2:36:be:13:0d:e6:bd:63:7e:79:7b: a7:09:0d:40:ab:6a:dd:8f:8a:c3:f6:f6:8c:1a:42:05:51:d4: 45:f5:9f:a7:62:21:68:15:20:43:3c:99:e7:7c:bd:24:d8:a9: 91:17:73:88:3f:56:1b:31:38:18:b4:71:0f:9a:cd:c8:0e:9e: 8e:2e:1b:e1:8c:98:83:cb:1f:31:f1:44:4c:c6:04:73:49:76: 60:0f:c7:f8:bd:17:80:6b:2e:e9:cc:4c:0e:5a:9a:79:0f:20: 0a:2e:d5:9e:63:26:1e:55:92:94:d8:82:17:5a:7b:d0:bc:c7: 8f:4e:86:04 AddTrust Low-Value Services Root ================================ MD5 Fingerprint=1E:42:95:02:33:92:6B:B9:5F:C0:7F:DA:D6:B2:4B:FC PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEU MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3 b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMw MTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYD VQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ul CDtbKRY654eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6n tGO0/7Gcrjyvd7ZWxbWroulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyl dI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1Zmne3yzxbrww2ywkEtvrNTVokMsAsJch PXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJuiGMx1I4S+6+JNM3GOGvDC +Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8wHQYDVR0O BBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8E BTADAQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBl MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFk ZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENB IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxtZBsfzQ3duQH6lmM0MkhHma6X 7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0PhiVYrqW9yTkkz 43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJl pz/+0WatC7xrmYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOA WiFeIc9TVPC6b4nbqKqVz4vjccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Class 1 CA Root Validity Not Before: May 30 10:38:31 2000 GMT Not After : May 30 10:38:31 2020 GMT Subject: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Class 1 CA Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:96:96:d4:21:49:60:e2:6b:e8:41:07:0c:de:c4: e0:dc:13:23:cd:c1:35:c7:fb:d6:4e:11:0a:67:5e: f5:06:5b:6b:a5:08:3b:5b:29:16:3a:e7:87:b2:34: 06:c5:bc:05:a5:03:7c:82:cb:29:10:ae:e1:88:81: bd:d6:9e:d3:fe:2d:56:c1:15:ce:e3:26:9d:15:2e: 10:fb:06:8f:30:04:de:a7:b4:63:b4:ff:b1:9c:ae: 3c:af:77:b6:56:c5:b5:ab:a2:e9:69:3a:3d:0e:33: 79:32:3f:70:82:92:99:61:6d:8d:30:08:8f:71:3f: a6:48:57:19:f8:25:dc:4b:66:5c:a5:74:8f:98:ae: c8:f9:c0:06:22:e7:ac:73:df:a5:2e:fb:52:dc:b1: 15:65:20:fa:35:66:69:de:df:2c:f1:6e:bc:30:db: 2c:24:12:db:eb:35:35:68:90:cb:00:b0:97:21:3d: 74:21:23:65:34:2b:bb:78:59:a3:d6:e1:76:39:9a: a4:49:8e:8c:74:af:6e:a4:9a:a3:d9:9b:d2:38:5c: 9b:a2:18:cc:75:23:84:be:eb:e2:4d:33:71:8e:1a: f0:c2:f8:c7:1d:a2:ad:03:97:2c:f8:cf:25:c6:f6: b8:24:31:b1:63:5d:92:7f:63:f0:25:c9:53:2e:1f: bf:4d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: 95:B1:B4:F0:94:B6:BD:C7:DA:D1:11:09:21:BE:C1:AF:49:FD:10:7B X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Basic Constraints: critical CA:TRUE X509v3 Authority Key Identifier: keyid:95:B1:B4:F0:94:B6:BD:C7:DA:D1:11:09:21:BE:C1:AF:49:FD:10:7B DirName:/C=SE/O=AddTrust AB/OU=AddTrust TTP Network/CN=AddTrust Class 1 CA Root serial:01 Signature Algorithm: sha1WithRSAEncryption 2c:6d:64:1b:1f:cd:0d:dd:b9:01:fa:96:63:34:32:48:47:99: ae:97:ed:fd:72:16:a6:73:47:5a:f4:eb:dd:e9:f5:d6:fb:45: cc:29:89:44:5d:bf:46:39:3d:e8:ee:bc:4d:54:86:1e:1d:6c: e3:17:27:43:e1:89:56:2b:a9:6f:72:4e:49:33:e3:72:7c:2a: 23:9a:bc:3e:ff:28:2a:ed:a3:ff:1c:23:ba:43:57:09:67:4d: 4b:62:06:2d:f8:ff:6c:9d:60:1e:d8:1c:4b:7d:b5:31:2f:d9: d0:7c:5d:f8:de:6b:83:18:78:37:57:2f:e8:33:07:67:df:1e: c7:6b:2a:95:76:ae:8f:57:a3:f0:f4:52:b4:a9:53:08:cf:e0: 4f:d3:7a:53:8b:fd:bb:1c:56:36:f2:fe:b2:b6:e5:76:bb:d5: 22:65:a7:3f:fe:d1:66:ad:0b:bc:6b:99:86:ef:3f:7d:f3:18: 32:ca:7b:c6:e3:ab:64:46:95:f8:26:69:d9:55:83:7b:2c:96: 07:ff:59:2c:44:a3:c6:e5:e9:a9:dc:a1:63:80:5a:21:5e:21: cf:53:54:f0:ba:6f:89:db:a8:aa:95:cf:8b:e3:71:cc:1e:1b: 20:44:08:c0:7a:b6:40:fd:c4:e4:35:e1:1d:16:1c:d0:bc:2b: 8e:d6:71:d9 AddTrust Public Services Root ============================= MD5 Fingerprint=C1:62:3E:23:C5:82:73:9C:03:59:4B:2B:E9:77:49:7F PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEU MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3 b3JrMSAwHgYDVQQDExdBZGRUcnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAx MDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtB ZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIDAeBgNV BAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV 6tsfSlbunyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nX GCwwfQ56HmIexkvA/X1id9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnP dzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSGAa2Il+tmzV7R/9x98oTaunet3IAIx6eH 1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAwHM+A+WD+eeSI8t0A65RF 62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0GA1UdDgQW BBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUw AwEB/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDEL MAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRU cnVzdCBUVFAgTmV0d29yazEgMB4GA1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJv b3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4JNojVhaTdt02KLmuG7jD8WS6 IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL+YPoRNWyQSW/ iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh 4SINhwBk/ox9Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQm XiLsks3/QppEIW1cxeMiHV9HEufOX1362KqxMy3ZdvJOOjMMK7MtkAY= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Public CA Root Validity Not Before: May 30 10:41:50 2000 GMT Not After : May 30 10:41:50 2020 GMT Subject: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Public CA Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:e9:1a:30:8f:83:88:14:c1:20:d8:3c:9b:8f:1b: 7e:03:74:bb:da:69:d3:46:a5:f8:8e:c2:0c:11:90: 51:a5:2f:66:54:40:55:ea:db:1f:4a:56:ee:9f:23: 6e:f4:39:cb:a1:b9:6f:f2:7e:f9:5d:87:26:61:9e: 1c:f8:e2:ec:a6:81:f8:21:c5:24:cc:11:0c:3f:db: 26:72:7a:c7:01:97:07:17:f9:d7:18:2c:30:7d:0e: 7a:1e:62:1e:c6:4b:c0:fd:7d:62:77:d3:44:1e:27: f6:3f:4b:44:b3:b7:38:d9:39:1f:60:d5:51:92:73: 03:b4:00:69:e3:f3:14:4e:ee:d1:dc:09:cf:77:34: 46:50:b0:f8:11:f2:fe:38:79:f7:07:39:fe:51:92: 97:0b:5b:08:5f:34:86:01:ad:88:97:eb:66:cd:5e: d1:ff:dc:7d:f2:84:da:ba:77:ad:dc:80:08:c7:a7: 87:d6:55:9f:97:6a:e8:c8:11:64:ba:e7:19:29:3f: 11:b3:78:90:84:20:52:5b:11:ef:78:d0:83:f6:d5: 48:90:d0:30:1c:cf:80:f9:60:fe:79:e4:88:f2:dd: 00:eb:94:45:eb:65:94:69:40:ba:c0:d5:b4:b8:ba: 7d:04:11:a8:eb:31:05:96:94:4e:58:21:8e:9f:d0: 60:fd Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: 81:3E:37:D8:92:B0:1F:77:9F:5C:B4:AB:73:AA:E7:F6:34:60:2F:FA X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Basic Constraints: critical CA:TRUE X509v3 Authority Key Identifier: keyid:81:3E:37:D8:92:B0:1F:77:9F:5C:B4:AB:73:AA:E7:F6:34:60:2F:FA DirName:/C=SE/O=AddTrust AB/OU=AddTrust TTP Network/CN=AddTrust Public CA Root serial:01 Signature Algorithm: sha1WithRSAEncryption 03:f7:15:4a:f8:24:da:23:56:16:93:76:dd:36:28:b9:ae:1b: b8:c3:f1:64:ba:20:18:78:95:29:27:57:05:bc:7c:2a:f4:b9: 51:55:da:87:02:de:0f:16:17:31:f8:aa:79:2e:09:13:bb:af: b2:20:19:12:e5:93:f9:4b:f9:83:e8:44:d5:b2:41:25:bf:88: 75:6f:ff:10:fc:4a:54:d0:5f:f0:fa:ef:36:73:7d:1b:36:45: c6:21:6d:b4:15:b8:4e:cf:9c:5c:a5:3d:5a:00:8e:06:e3:3c: 6b:32:7b:f2:9f:f0:b6:fd:df:f0:28:18:48:f0:c6:bc:d0:bf: 34:80:96:c2:4a:b1:6d:8e:c7:90:45:de:2f:67:ac:45:04:a3: 7a:dc:55:92:c9:47:66:d8:1a:8c:c7:ed:9c:4e:9a:e0:12:bb: b5:6a:4c:84:e1:e1:22:0d:87:00:64:fe:8c:7d:62:39:65:a6: ef:42:b6:80:25:12:61:01:a8:24:13:70:00:11:26:5f:fa:35: 50:c5:48:cc:06:47:e8:27:d8:70:8d:5f:64:e6:a1:44:26:5e: 22:ec:92:cd:ff:42:9a:44:21:6d:5c:c5:e3:22:1d:5f:47:12: e7:ce:5f:5d:fa:d8:aa:b1:33:2d:d9:76:f2:4e:3a:33:0c:2b: b3:2d:90:06 AddTrust Qualified Certificates Root ==================================== MD5 Fingerprint=27:EC:39:47:CD:DA:5A:AF:E2:9A:01:65:21:A9:4C:BB PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEU MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3 b3JrMSMwIQYDVQQDExpBZGRUcnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1 MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcxCzAJBgNVBAYTAlNFMRQwEgYDVQQK EwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIzAh BgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG9w0B AQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwq xBb/4Oxx64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G 87B4pfYOQnrjfxvM0PC3KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i 2O+tCBGaKZnhqkRFmhJePp1tUvznoD1oL/BLcHwTOK28FSXx1s6rosAx1i+f4P8U WfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GRwVY18BTcZTYJbqukB8c1 0cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HUMIHRMB0G A1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0T AQH/BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6Fr pGkwZzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQL ExRBZGRUcnVzdCBUVFAgTmV0d29yazEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlm aWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBABmrder4i2VhlRO6aQTv hsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxGGuoYQ992zPlm hpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3 P6CxB9bpT9zeRXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9Y iQBCYz95OdBEsIJuQRno3eDBiFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5no xqE= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Qualified CA Root Validity Not Before: May 30 10:44:50 2000 GMT Not After : May 30 10:44:50 2020 GMT Subject: C=SE, O=AddTrust AB, OU=AddTrust TTP Network, CN=AddTrust Qualified CA Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:e4:1e:9a:fe:dc:09:5a:87:a4:9f:47:be:11:5f: af:84:34:db:62:3c:79:78:b7:e9:30:b5:ec:0c:1c: 2a:c4:16:ff:e0:ec:71:eb:8a:f5:11:6e:ed:4f:0d: 91:d2:12:18:2d:49:15:01:c2:a4:22:13:c7:11:64: ff:22:12:9a:b9:8e:5c:2f:08:cf:71:6a:b3:67:01: 59:f1:5d:46:f3:b0:78:a5:f6:0e:42:7a:e3:7f:1b: cc:d0:f0:b7:28:fd:2a:ea:9e:b3:b0:b9:04:aa:fd: f6:c7:b4:b1:b8:2a:a0:fb:58:f1:19:a0:6f:70:25: 7e:3e:69:4a:7f:0f:22:d8:ef:ad:08:11:9a:29:99: e1:aa:44:45:9a:12:5e:3e:9d:6d:52:fc:e7:a0:3d: 68:2f:f0:4b:70:7c:13:38:ad:bc:15:25:f1:d6:ce: ab:a2:c0:31:d6:2f:9f:e0:ff:14:59:fc:84:93:d9: 87:7c:4c:54:13:eb:9f:d1:2d:11:f8:18:3a:3a:de: 25:d9:f7:d3:40:ed:a4:06:12:c4:3b:e1:91:c1:56: 35:f0:14:dc:65:36:09:6e:ab:a4:07:c7:35:d1:c2: 03:33:36:5b:75:26:6d:42:f1:12:6b:43:6f:4b:71: 94:fa:34:1d:ed:13:6e:ca:80:7f:98:2f:6c:b9:65: d8:e9 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: 39:95:8B:62:8B:5C:C9:D4:80:BA:58:0F:97:3F:15:08:43:CC:98:A7 X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Basic Constraints: critical CA:TRUE X509v3 Authority Key Identifier: keyid:39:95:8B:62:8B:5C:C9:D4:80:BA:58:0F:97:3F:15:08:43:CC:98:A7 DirName:/C=SE/O=AddTrust AB/OU=AddTrust TTP Network/CN=AddTrust Qualified CA Root serial:01 Signature Algorithm: sha1WithRSAEncryption 19:ab:75:ea:f8:8b:65:61:95:13:ba:69:04:ef:86:ca:13:a0: c7:aa:4f:64:1b:3f:18:f6:a8:2d:2c:55:8f:05:b7:30:ea:42: 6a:1d:c0:25:51:2d:a7:bf:0c:b3:ed:ef:08:7f:6c:3c:46:1a: ea:18:43:df:76:cc:f9:66:86:9c:2c:68:f5:e9:17:f8:31:b3: 18:c4:d6:48:7d:23:4c:68:c1:7e:bb:01:14:6f:c5:d9:6e:de: bb:04:42:6a:f8:f6:5c:7d:e5:da:fa:87:eb:0d:35:52:67:d0: 9e:97:76:05:93:3f:95:c7:01:e6:69:55:38:7f:10:61:99:c9: e3:5f:a6:ca:3e:82:63:48:aa:e2:08:48:3e:aa:f2:b2:85:62: a6:b4:a7:d9:bd:37:9c:68:b5:2d:56:7d:b0:b7:3f:a0:b1:07: d6:e9:4f:dc:de:45:71:30:32:7f:1b:2e:09:f9:bf:52:a1:ee: c2:80:3e:06:5c:2e:55:40:c1:1b:f5:70:45:b0:dc:5d:fa:f6: 72:5a:77:d2:63:cd:cf:58:89:00:42:63:3f:79:39:d0:44:b0: 82:6e:41:19:e8:dd:e0:c1:88:5a:d1:1e:71:93:1f:24:30:74: e5:1e:a8:de:3c:27:37:7f:83:ae:9e:77:cf:f0:30:b1:ff:4b: 99:e8:c6:a1 America Online Root Certification Authority 1 ============================================= MD5 Fingerprint=14:F1:08:AD:9D:FA:64:E2:89:E7:1C:CF:A8:AD:7D:5E PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEc MBoGA1UEChMTQW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBP bmxpbmUgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2 MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0Ft ZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2EgT25saW5lIFJvb3Qg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lk hsmj76CGv2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym 1BW32J/X3HGrfpq/m44zDyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsW OqMFf6Dch9Wc/HKpoH145LcxVR5lu9RhsCFg7RAycsWSJR74kEoYeEfffjA3PlAb 2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP8c9GsEsPPt2IYriMqQko O3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0TAQH/BAUw AwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAU AK3Zo/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB BQUAA4IBAQB8itEfGDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkF Zu90821fnZmv9ov761KyBZiibyrFVL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAb LjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft3OJvx8Fi8eNy1gTIdGcL+oir oQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43gKd8hdIaC2y+C MMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7 -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=America Online Inc., CN=America Online Root Certification Authority 1 Validity Not Before: May 28 06:00:00 2002 GMT Not After : Nov 19 20:43:00 2037 GMT Subject: C=US, O=America Online Inc., CN=America Online Root Certification Authority 1 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:a8:2f:e8:a4:69:06:03:47:c3:e9:2a:98:ff:19: a2:70:9a:c6:50:b2:7e:a5:df:68:4d:1b:7c:0f:b6: 97:68:7d:2d:a6:8b:97:e9:64:86:c9:a3:ef:a0:86: bf:60:65:9c:4b:54:88:c2:48:c5:4a:39:bf:14:e3: 59:55:e5:19:b4:74:c8:b4:05:39:5c:16:a5:e2:95: 05:e0:12:ae:59:8b:a2:33:68:58:1c:a6:d4:15:b7: d8:9f:d7:dc:71:ab:7e:9a:bf:9b:8e:33:0f:22:fd: 1f:2e:e7:07:36:ef:62:39:c5:dd:cb:ba:25:14:23: de:0c:c6:3d:3c:ce:82:08:e6:66:3e:da:51:3b:16: 3a:a3:05:7f:a0:dc:87:d5:9c:fc:72:a9:a0:7d:78: e4:b7:31:55:1e:65:bb:d4:61:b0:21:60:ed:10:32: 72:c5:92:25:1e:f8:90:4a:18:78:47:df:7e:30:37: 3e:50:1b:db:1c:d3:6b:9a:86:53:07:b0:ef:ac:06: 78:f8:84:99:fe:21:8d:4c:80:b6:0c:82:f6:66:70: 79:1a:d3:4f:a3:cf:f1:cf:46:b0:4b:0f:3e:dd:88: 62:b8:8c:a9:09:28:3b:7a:c7:97:e1:1e:e5:f4:9f: c0:c0:ae:24:a0:c8:a1:d9:0f:d6:7b:26:82:69:32: 3d:a7 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Subject Key Identifier: 00:AD:D9:A3:F6:79:F6:6E:74:A9:7F:33:3D:81:17:D7:4C:CF:33:DE X509v3 Authority Key Identifier: keyid:00:AD:D9:A3:F6:79:F6:6E:74:A9:7F:33:3D:81:17:D7:4C:CF:33:DE X509v3 Key Usage: critical Digital Signature, Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 7c:8a:d1:1f:18:37:82:e0:b8:b0:a3:ed:56:95:c8:62:61:9c: 05:a2:cd:c2:62:26:61:cd:10:16:d7:cc:b4:65:34:d0:11:8a: ad:a8:a9:05:66:ef:74:f3:6d:5f:9d:99:af:f6:8b:fb:eb:52: b2:05:98:a2:6f:2a:c5:54:bd:25:bd:5f:ae:c8:86:ea:46:2c: c1:b3:bd:c1:e9:49:70:18:16:97:08:13:8c:20:e0:1b:2e:3a: 47:cb:1e:e4:00:30:95:5b:f4:45:a3:c0:1a:b0:01:4e:ab:bd: c0:23:6e:63:3f:80:4a:c5:07:ed:dc:e2:6f:c7:c1:62:f1:e3: 72:d6:04:c8:74:67:0b:fa:88:ab:a1:01:c8:6f:f0:14:af:d2: 99:cd:51:93:7e:ed:2e:38:c7:bd:ce:46:50:3d:72:e3:79:25: 9d:9b:88:2b:10:20:dd:a5:b8:32:9f:8d:e0:29:df:21:74:86: 82:db:2f:82:30:c6:c7:35:86:b3:f9:96:5f:46:db:0c:45:fd: f3:50:c3:6f:c6:c3:48:ad:46:a6:e1:27:47:0a:1d:0e:9b:b6: c2:77:7f:63:f2:e0:7d:1a:be:fc:e0:df:d7:c7:a7:6c:b0:f9: ae:ba:3c:fd:74:b4:11:e8:58:0d:80:bc:d3:a8:80:3a:99:ed: 75:cc:46:7b America Online Root Certification Authority 2 ============================================= MD5 Fingerprint=D6:ED:3C:CA:E2:66:0F:AF:10:43:0D:77:9B:04:09:BF PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEc MBoGA1UEChMTQW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBP bmxpbmUgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2 MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0Ft ZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2EgT25saW5lIFJvb3Qg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIP ADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC 206B89enfHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFci KtZHgVdEglZTvYYUAQv8f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2 JxhP7JsowtS013wMPgwr38oE18aO6lhOqKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9 BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JNRvCAOVIyD+OEsnpD8l7e Xz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0gBe4lL8B PeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67 Xnfn6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEq Z8A9W6Wa6897GqidFEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZ o2C7HK2JNDJiuEMhBnIMoVxtRsX6Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3 +L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnjB453cMor9H124HhnAgMBAAGj YzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3OpaaEg5+31IqEj FNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmn xPBUlgtk87FYT15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2 LHo1YGwRgJfMqZJS5ivmae2p+DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzccc obGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXgJXUjhx5c3LqdsKyzadsXg8n33gy8 CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//ZoyzH1kUQ7rVyZ2OuMe IjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgOZtMA DjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2F AjgQ5ANh1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUX Om/9riW99XJZZLF0KjhfGEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPb AZO1XB4Y3WRayhgoPmMEEf0cjQAPuDffZ4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQl Zvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuPcX/9XhmgD0uRuMRUvAaw RY8mkaKO/qk= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=America Online Inc., CN=America Online Root Certification Authority 2 Validity Not Before: May 28 06:00:00 2002 GMT Not After : Sep 29 14:08:00 2037 GMT Subject: C=US, O=America Online Inc., CN=America Online Root Certification Authority 2 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (4096 bit) Modulus (4096 bit): 00:cc:41:45:1d:e9:3d:4d:10:f6:8c:b1:41:c9:e0: 5e:cb:0d:b7:bf:47:73:d3:f0:55:4d:dd:c6:0c:fa: b1:66:05:6a:cd:78:b4:dc:02:db:4e:81:f3:d7:a7: 7c:71:bc:75:63:a0:5d:e3:07:0c:48:ec:25:c4:03: 20:f4:ff:0e:3b:12:ff:9b:8d:e1:c6:d5:1b:b4:6d: 22:e3:b1:db:7f:21:64:af:86:bc:57:22:2a:d6:47: 81:57:44:82:56:53:bd:86:14:01:0b:fc:7f:74:a4: 5a:ae:f1:ba:11:b5:9b:58:5a:80:b4:37:78:09:33: 7c:32:47:03:5c:c4:a5:83:48:f4:57:56:6e:81:36: 27:18:4f:ec:9b:28:c2:d4:b4:d7:7c:0c:3e:0c:2b: df:ca:04:d7:c6:8e:ea:58:4e:a8:a4:a5:18:1c:6c: 45:98:a3:41:d1:2d:d2:c7:6d:8d:19:f1:ad:79:b7: 81:3f:bd:06:82:27:2d:10:58:05:b5:78:05:b9:2f: db:0c:6b:90:90:7e:14:59:38:bb:94:24:13:e5:d1: 9d:14:df:d3:82:4d:46:f0:80:39:52:32:0f:e3:84: b2:7a:43:f2:5e:de:5f:3f:1d:dd:e3:b2:1b:a0:a1: 2a:23:03:6e:2e:01:15:87:5c:a6:75:75:c7:97:61: be:de:86:dc:d4:48:db:bd:2a:bf:4a:55:da:e8:7d: 50:fb:b4:80:17:b8:94:bf:01:3d:ea:da:ba:7c:e0: 58:67:17:b9:58:e0:88:86:46:67:6c:9d:10:47:58: 32:d0:35:7c:79:2a:90:a2:5a:10:11:23:35:ad:2f: cc:e4:4a:5b:a7:c8:27:f2:83:de:5e:bb:5e:77:e7: e8:a5:6e:63:c2:0d:5d:61:d0:8c:d2:6c:5a:21:0e: ca:28:a3:ce:2a:e9:95:c7:48:cf:96:6f:1d:92:25: c8:c6:c6:c1:c1:0c:05:ac:26:c4:d2:75:d2:e1:2a: 67:c0:3d:5b:a5:9a:eb:cf:7b:1a:a8:9d:14:45:e5: 0f:a0:9a:65:de:2f:28:bd:ce:6f:94:66:83:48:29: d8:ea:65:8c:af:93:d9:64:9f:55:57:26:bf:6f:cb: 37:31:99:a3:60:bb:1c:ad:89:34:32:62:b8:43:21: 06:72:0c:a1:5c:6d:46:c5:fa:29:cf:30:de:89:dc: 71:5b:dd:b6:37:3e:df:50:f5:b8:07:25:26:e5:bc: b5:fe:3c:02:b3:b7:f8:be:43:c1:87:11:94:9e:23: 6c:17:8a:b8:8a:27:0c:54:47:f0:a9:b3:c0:80:8c: a0:27:eb:1d:19:e3:07:8e:77:70:ca:2b:f4:7d:76: e0:78:67 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Subject Key Identifier: 4D:45:C1:68:38:BB:73:A9:69:A1:20:E7:ED:F5:22:A1:23:14:D7:9E X509v3 Authority Key Identifier: keyid:4D:45:C1:68:38:BB:73:A9:69:A1:20:E7:ED:F5:22:A1:23:14:D7:9E X509v3 Key Usage: critical Digital Signature, Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 67:6b:06:b9:5f:45:3b:2a:4b:33:b3:e6:1b:6b:59:4e:22:cc: b9:b7:a4:25:c9:a7:c4:f0:54:96:0b:64:f3:b1:58:4f:5e:51: fc:b2:97:7b:27:65:c2:e5:ca:e7:0d:0c:25:7b:62:e3:fa:9f: b4:87:b7:45:46:af:83:a5:97:48:8c:a5:bd:f1:16:2b:9b:76: 2c:7a:35:60:6c:11:80:97:cc:a9:92:52:e6:2b:e6:69:ed:a9: f8:36:2d:2c:77:bf:61:48:d1:63:0b:b9:5b:52:ed:18:b0:43: 42:22:a6:b1:77:ae:de:69:c5:cd:c7:1c:a1:b1:a5:1c:10:fb: 18:be:1a:70:dd:c1:92:4b:be:29:5a:9d:3f:35:be:e5:7d:51: f8:55:e0:25:75:23:87:1e:5c:dc:ba:9d:b0:ac:b3:69:db:17: 83:c9:f7:de:0c:bc:08:dc:91:9e:a8:d0:d7:15:37:73:a5:35: b8:fc:7e:c5:44:40:06:c3:eb:f8:22:80:5c:47:ce:02:e3:11: 9f:44:ff:fd:9a:32:cc:7d:64:51:0e:eb:57:26:76:3a:e3:1e: 22:3c:c2:a6:36:dd:19:ef:a7:fc:12:f3:26:c0:59:31:85:4c: 9c:d8:cf:df:a4:cc:cc:29:93:ff:94:6d:76:5c:13:08:97:f2: ed:a5:0b:4d:dd:e8:c9:68:0e:66:d3:00:0e:33:12:5b:bc:95: e5:32:90:a8:b3:c6:6c:83:ad:77:ee:8b:7e:7e:b1:a9:ab:d3: e1:f1:b6:c0:b1:ea:88:c0:e7:d3:90:e9:28:92:94:7b:68:7b: 97:2a:0a:67:2d:85:02:38:10:e4:03:61:d4:da:25:36:c7:08: 58:2d:a1:a7:51:af:30:0a:49:f5:a6:69:87:07:2d:44:46:76: 8e:2a:e5:9a:3b:d7:18:a2:fc:9c:38:10:cc:c6:3b:d2:b5:17: 3a:6f:fd:ae:25:bd:f5:72:59:64:b1:74:2a:38:5f:18:4c:df: cf:71:04:5a:36:d4:bf:2f:99:9c:e8:d9:ba:b1:95:e6:02:4b: 21:a1:5b:d5:c1:4f:8f:ae:69:6d:53:db:01:93:b5:5c:1e:18: dd:64:5a:ca:18:28:3e:63:04:11:fd:1c:8d:00:0f:b8:37:df: 67:8a:9d:66:a9:02:6a:91:ff:13:ca:2f:5d:83:bc:87:93:6c: dc:24:51:16:04:25:66:fa:b3:d9:c2:ba:29:be:9a:48:38:82: 99:f4:bf:3b:4a:31:19:f9:bf:8e:21:33:14:ca:4f:54:5f:fb: ce:fb:8f:71:7f:fd:5e:19:a0:0f:4b:91:b8:c4:54:bc:06:b0: 45:8f:26:91:a2:8e:fe:a9 AOL Time Warner Root Certification Authority 1 ============================================== MD5 Fingerprint=E7:7A:DC:B1:1F:6E:06:1F:74:6C:59:16:27:C3:4B:C0 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIID5jCCAs6gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMCVVMx HTAbBgNVBAoTFEFPTCBUaW1lIFdhcm5lciBJbmMuMRwwGgYDVQQLExNBbWVyaWNh IE9ubGluZSBJbmMuMTcwNQYDVQQDEy5BT0wgVGltZSBXYXJuZXIgUm9vdCBDZXJ0 aWZpY2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyOTA2MDAwMFoXDTM3MTEyMDE1 MDMwMFowgYMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBT0wgVGltZSBXYXJuZXIg SW5jLjEcMBoGA1UECxMTQW1lcmljYSBPbmxpbmUgSW5jLjE3MDUGA1UEAxMuQU9M IFRpbWUgV2FybmVyIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnej8Mlo2k06AX3dLm/WpcZuS+U 0pPlLYnKhHw/EEMbjIt8hFj4JHxIzyr9wBXZGH6EGhfT257XyuTZ16pYUYfw8ItI TuLCxFlpMGK2MKKMCxGZYTVtfu/FsRkGIBKOQuHfD5YQUqjPnF+VFNivO3ULMSAf RC+iYkGzuxgh28pxPIzstrkNn+9R7017EvILDOGsQI93f7DKeHEMXRZxcKLXwjqF zQ6axOAAsNUl6twr5JQtOJyJQVdkKGUZHLZEtMgxa44Be3ZZJX8VHIQIfHNlIAqh BC4aMqiaILGcLCFZ5/vP7nAtCMpjPiybkxlqpMKX/7eGV4iFbJ4VFitNLLMCAwEA AaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUoTYwFsuGkABFgFOxj8jY PXy+XxIwHwYDVR0jBBgwFoAUoTYwFsuGkABFgFOxj8jYPXy+XxIwDgYDVR0PAQH/ BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQCKIBilvrMvtKaEAEAwKfq0FHNMeUWn 9nDg6H5kHgqVfGphwu9OH77/yZkfB2FK4V1Mza3u0FIy2VkyvNp5ctZ7CegCgTXT Ct8RHcl5oIBN/lrXVtbtDyqvpxh1MwzqwWEFT2qaifKNuZ8u77BfWgDrvq2g+EQF Z7zLBO+eZMXpyD8Fv8YvBxzDNnGGyjhmSs3WuEvGbKeXO/oTLW4jYYehY0KswsuX n2Fozy1MBJ3XJU8KDk2QixhWqJNIV9xvrr2eZ1d3iVCzvhGbRWeDhhmH05i9CBoW H1iCC+GWaQVLjuyDUTEH1dSf/1l7qG6Fz9NLqUmwX7A5KGgOc90lmt4S -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=AOL Time Warner Inc., OU=America Online Inc., CN=AOL Time Warner Root Certification Authority 1 Validity Not Before: May 29 06:00:00 2002 GMT Not After : Nov 20 15:03:00 2037 GMT Subject: C=US, O=AOL Time Warner Inc., OU=America Online Inc., CN=AOL Time Warner Root Certification Authority 1 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:99:de:8f:c3:25:a3:69:34:e8:05:f7:74:b9:bf: 5a:97:19:b9:2f:94:d2:93:e5:2d:89:ca:84:7c:3f: 10:43:1b:8c:8b:7c:84:58:f8:24:7c:48:cf:2a:fd: c0:15:d9:18:7e:84:1a:17:d3:db:9e:d7:ca:e4:d9: d7:aa:58:51:87:f0:f0:8b:48:4e:e2:c2:c4:59:69: 30:62:b6:30:a2:8c:0b:11:99:61:35:6d:7e:ef:c5: b1:19:06:20:12:8e:42:e1:df:0f:96:10:52:a8:cf: 9c:5f:95:14:d8:af:3b:75:0b:31:20:1f:44:2f:a2: 62:41:b3:bb:18:21:db:ca:71:3c:8c:ec:b6:b9:0d: 9f:ef:51:ef:4d:7b:12:f2:0b:0c:e1:ac:40:8f:77: 7f:b0:ca:78:71:0c:5d:16:71:70:a2:d7:c2:3a:85: cd:0e:9a:c4:e0:00:b0:d5:25:ea:dc:2b:e4:94:2d: 38:9c:89:41:57:64:28:65:19:1c:b6:44:b4:c8:31: 6b:8e:01:7b:76:59:25:7f:15:1c:84:08:7c:73:65: 20:0a:a1:04:2e:1a:32:a8:9a:20:b1:9c:2c:21:59: e7:fb:cf:ee:70:2d:08:ca:63:3e:2c:9b:93:19:6a: a4:c2:97:ff:b7:86:57:88:85:6c:9e:15:16:2b:4d: 2c:b3 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Subject Key Identifier: A1:36:30:16:CB:86:90:00:45:80:53:B1:8F:C8:D8:3D:7C:BE:5F:12 X509v3 Authority Key Identifier: keyid:A1:36:30:16:CB:86:90:00:45:80:53:B1:8F:C8:D8:3D:7C:BE:5F:12 X509v3 Key Usage: critical Digital Signature, Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 8a:20:18:a5:be:b3:2f:b4:a6:84:00:40:30:29:fa:b4:14:73: 4c:79:45:a7:f6:70:e0:e8:7e:64:1e:0a:95:7c:6a:61:c2:ef: 4e:1f:be:ff:c9:99:1f:07:61:4a:e1:5d:4c:cd:ad:ee:d0:52: 32:d9:59:32:bc:da:79:72:d6:7b:09:e8:02:81:35:d3:0a:df: 11:1d:c9:79:a0:80:4d:fe:5a:d7:56:d6:ed:0f:2a:af:a7:18: 75:33:0c:ea:c1:61:05:4f:6a:9a:89:f2:8d:b9:9f:2e:ef:b0: 5f:5a:00:eb:be:ad:a0:f8:44:05:67:bc:cb:04:ef:9e:64:c5: e9:c8:3f:05:bf:c6:2f:07:1c:c3:36:71:86:ca:38:66:4a:cd: d6:b8:4b:c6:6c:a7:97:3b:fa:13:2d:6e:23:61:87:a1:63:42: ac:c2:cb:97:9f:61:68:cf:2d:4c:04:9d:d7:25:4f:0a:0e:4d: 90:8b:18:56:a8:93:48:57:dc:6f:ae:bd:9e:67:57:77:89:50: b3:be:11:9b:45:67:83:86:19:87:d3:98:bd:08:1a:16:1f:58: 82:0b:e1:96:69:05:4b:8e:ec:83:51:31:07:d5:d4:9f:ff:59: 7b:a8:6e:85:cf:d3:4b:a9:49:b0:5f:b0:39:28:68:0e:73:dd: 25:9a:de:12 AOL Time Warner Root Certification Authority 2 ============================================== MD5 Fingerprint=01:5A:99:C3:D6:4F:A9:4B:3C:3B:B1:A3:AB:27:4C:BF PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIF5jCCA86gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMCVVMx HTAbBgNVBAoTFEFPTCBUaW1lIFdhcm5lciBJbmMuMRwwGgYDVQQLExNBbWVyaWNh IE9ubGluZSBJbmMuMTcwNQYDVQQDEy5BT0wgVGltZSBXYXJuZXIgUm9vdCBDZXJ0 aWZpY2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyOTA2MDAwMFoXDTM3MDkyODIz NDMwMFowgYMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBT0wgVGltZSBXYXJuZXIg SW5jLjEcMBoGA1UECxMTQW1lcmljYSBPbmxpbmUgSW5jLjE3MDUGA1UEAxMuQU9M IFRpbWUgV2FybmVyIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIw DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3WggWmRToVbEbJGv8x4vmh6mJ 7ouZzU9AhqS2TcnZsdw8TQ2FTBVsRotSeJ/4I/1n9SQ6aF3Q92RhQVSji6UI0ilb m2BPJoPRYxJWSXakFsKlnUWsi4SVqBax7J/qJBrvuVdcmiQhLE0OcR+mrF1FdAOY xFSMFkpBd4aVdQxHAWZg/BXxD+r1FHjHDtdugRxev17nOirYlxcwfACtCJ0zr7iZ YYCLqJV+FNwSbKTQ2O9ASQI2+W6p1h2WVgSysy0WVoaP2SBXgM1nEG2wTPDaRrbq JS5Gr42whTg0ixQmgiusrpkLjhTXUr2eacOGAgvqdnUxCc4zGSGFQ+aJLZ8lN2fx I2rSAG2X+Z/nKcrdH9cG6rjJuQkhn8g/BsXS6RJGAE57COtCPStIbp1n3UsC5ETz kxmlJ85per5n0/xQpCyrw2u544BMzwVhSyvcG7mm0tCq9Stz+86QNZ8MUhy/XCFh EVsVS6kkUfykXPcXnbDS+gfpj1bkGoxoigTTfFrjnqKhynFbotSg5ymFXQNoKk/S Btc9+cMDLz9l+WceR0DTYw/j1Y75hauXTLPXJuuWCpTehTacyH+BCQJJKg71ZDIM gtG6aoIbs0t0EfOMd9afv9w3pKdVBC/UMejTRrkDfNoSTllkt1ExMVCgyhwn2RAu rda9EGYrw7AiShJbAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE FE9pbQN+nZ8HGEO8txBO1b+pxCAoMB8GA1UdIwQYMBaAFE9pbQN+nZ8HGEO8txBO 1b+pxCAoMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAO/Ouyugu h4X7ZVnnrREUpVe8WJ8kEle7+z802u6teio0cnAxa8cZmIDJgt43d15Ui47y6mdP yXSEkVYJ1eV6moG2gcKtNuTxVBFT8zRFASbI5Rq8NEQh3q0l/HYWdyGQgJhXnU7q 7C+qPBR7V8F+GBRn7iTGvboVsNIYvbdVgaxTwOjdaRITQrcCtQVBynlQboIOcXKT RuidDV29rs4prWPVVRaAMCf/drr3uNZK49m1+VLQTkCpx+XCMseqdiThawVQ68W/ ClTluUI8JPu3B5wwn3la5uBAUhX0/Kr0VvlEl4ftDmVyXr4m+02kLQgH3thcoNyB M5kYJRF3p+v9WAksmWsbivNSPxpNSGDxoPYzAlOL7SUJuA0t7Zdz7NeWH45gDtoQ my8YJPamTQr5O8t1wswvziRpyQoijlmn94IM19drNZxDAGrElWe6nEXLuA4399xO AU++CrYD062KRffaJ00psUjf5BHklka9bAI+1lHIlRcBFanyqqryvy9lG2/QuRqT 9Y41xICHPpQvZuTpqP9BnHAqTyo5GJUefvthATxRCC4oGKQWDzH9OmwjkyB24f0H hdFbP9IcczLd+rn4jM8Ch3qaluTtT4mNU0OrDhPAARW0eTjb/G49nlG2uBOLZ8/5 fNkiHfZdxRwBL5joeiQYvITX+txyW/fBOmg= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=AOL Time Warner Inc., OU=America Online Inc., CN=AOL Time Warner Root Certification Authority 2 Validity Not Before: May 29 06:00:00 2002 GMT Not After : Sep 28 23:43:00 2037 GMT Subject: C=US, O=AOL Time Warner Inc., OU=America Online Inc., CN=AOL Time Warner Root Certification Authority 2 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (4096 bit) Modulus (4096 bit): 00:b4:37:5a:08:16:99:14:e8:55:b1:1b:24:6b:fc: c7:8b:e6:87:a9:89:ee:8b:99:cd:4f:40:86:a4:b6: 4d:c9:d9:b1:dc:3c:4d:0d:85:4c:15:6c:46:8b:52: 78:9f:f8:23:fd:67:f5:24:3a:68:5d:d0:f7:64:61: 41:54:a3:8b:a5:08:d2:29:5b:9b:60:4f:26:83:d1: 63:12:56:49:76:a4:16:c2:a5:9d:45:ac:8b:84:95: a8:16:b1:ec:9f:ea:24:1a:ef:b9:57:5c:9a:24:21: 2c:4d:0e:71:1f:a6:ac:5d:45:74:03:98:c4:54:8c: 16:4a:41:77:86:95:75:0c:47:01:66:60:fc:15:f1: 0f:ea:f5:14:78:c7:0e:d7:6e:81:1c:5e:bf:5e:e7: 3a:2a:d8:97:17:30:7c:00:ad:08:9d:33:af:b8:99: 61:80:8b:a8:95:7e:14:dc:12:6c:a4:d0:d8:ef:40: 49:02:36:f9:6e:a9:d6:1d:96:56:04:b2:b3:2d:16: 56:86:8f:d9:20:57:80:cd:67:10:6d:b0:4c:f0:da: 46:b6:ea:25:2e:46:af:8d:b0:85:38:34:8b:14:26: 82:2b:ac:ae:99:0b:8e:14:d7:52:bd:9e:69:c3:86: 02:0b:ea:76:75:31:09:ce:33:19:21:85:43:e6:89: 2d:9f:25:37:67:f1:23:6a:d2:00:6d:97:f9:9f:e7: 29:ca:dd:1f:d7:06:ea:b8:c9:b9:09:21:9f:c8:3f: 06:c5:d2:e9:12:46:00:4e:7b:08:eb:42:3d:2b:48: 6e:9d:67:dd:4b:02:e4:44:f3:93:19:a5:27:ce:69: 7a:be:67:d3:fc:50:a4:2c:ab:c3:6b:b9:e3:80:4c: cf:05:61:4b:2b:dc:1b:b9:a6:d2:d0:aa:f5:2b:73: fb:ce:90:35:9f:0c:52:1c:bf:5c:21:61:11:5b:15: 4b:a9:24:51:fc:a4:5c:f7:17:9d:b0:d2:fa:07:e9: 8f:56:e4:1a:8c:68:8a:04:d3:7c:5a:e3:9e:a2:a1: ca:71:5b:a2:d4:a0:e7:29:85:5d:03:68:2a:4f:d2: 06:d7:3d:f9:c3:03:2f:3f:65:f9:67:1e:47:40:d3: 63:0f:e3:d5:8e:f9:85:ab:97:4c:b3:d7:26:eb:96: 0a:94:de:85:36:9c:c8:7f:81:09:02:49:2a:0e:f5: 64:32:0c:82:d1:ba:6a:82:1b:b3:4b:74:11:f3:8c: 77:d6:9f:bf:dc:37:a4:a7:55:04:2f:d4:31:e8:d3: 46:b9:03:7c:da:12:4e:59:64:b7:51:31:31:50:a0: ca:1c:27:d9:10:2e:ad:d6:bd:10:66:2b:c3:b0:22: 4a:12:5b Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Subject Key Identifier: 4F:69:6D:03:7E:9D:9F:07:18:43:BC:B7:10:4E:D5:BF:A9:C4:20:28 X509v3 Authority Key Identifier: keyid:4F:69:6D:03:7E:9D:9F:07:18:43:BC:B7:10:4E:D5:BF:A9:C4:20:28 X509v3 Key Usage: critical Digital Signature, Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 3b:f3:ae:ca:e8:2e:87:85:fb:65:59:e7:ad:11:14:a5:57:bc: 58:9f:24:12:57:bb:fb:3f:34:da:ee:ad:7a:2a:34:72:70:31: 6b:c7:19:98:80:c9:82:de:37:77:5e:54:8b:8e:f2:ea:67:4f: c9:74:84:91:56:09:d5:e5:7a:9a:81:b6:81:c2:ad:36:e4:f1: 54:11:53:f3:34:45:01:26:c8:e5:1a:bc:34:44:21:de:ad:25: fc:76:16:77:21:90:80:98:57:9d:4e:ea:ec:2f:aa:3c:14:7b: 57:c1:7e:18:14:67:ee:24:c6:bd:ba:15:b0:d2:18:bd:b7:55: 81:ac:53:c0:e8:dd:69:12:13:42:b7:02:b5:05:41:ca:79:50: 6e:82:0e:71:72:93:46:e8:9d:0d:5d:bd:ae:ce:29:ad:63:d5: 55:16:80:30:27:ff:76:ba:f7:b8:d6:4a:e3:d9:b5:f9:52:d0: 4e:40:a9:c7:e5:c2:32:c7:aa:76:24:e1:6b:05:50:eb:c5:bf: 0a:54:e5:b9:42:3c:24:fb:b7:07:9c:30:9f:79:5a:e6:e0:40: 52:15:f4:fc:aa:f4:56:f9:44:97:87:ed:0e:65:72:5e:be:26: fb:4d:a4:2d:08:07:de:d8:5c:a0:dc:81:33:99:18:25:11:77: a7:eb:fd:58:09:2c:99:6b:1b:8a:f3:52:3f:1a:4d:48:60:f1: a0:f6:33:02:53:8b:ed:25:09:b8:0d:2d:ed:97:73:ec:d7:96: 1f:8e:60:0e:da:10:9b:2f:18:24:f6:a6:4d:0a:f9:3b:cb:75: c2:cc:2f:ce:24:69:c9:0a:22:8e:59:a7:f7:82:0c:d7:d7:6b: 35:9c:43:00:6a:c4:95:67:ba:9c:45:cb:b8:0e:37:f7:dc:4e: 01:4f:be:0a:b6:03:d3:ad:8a:45:f7:da:27:4d:29:b1:48:df: e4:11:e4:96:46:bd:6c:02:3e:d6:51:c8:95:17:01:15:a9:f2: aa:aa:f2:bf:2f:65:1b:6f:d0:b9:1a:93:f5:8e:35:c4:80:87: 3e:94:2f:66:e4:e9:a8:ff:41:9c:70:2a:4f:2a:39:18:95:1e: 7e:fb:61:01:3c:51:08:2e:28:18:a4:16:0f:31:fd:3a:6c:23: 93:20:76:e1:fd:07:85:d1:5b:3f:d2:1c:73:32:dd:fa:b9:f8: 8c:cf:02:87:7a:9a:96:e4:ed:4f:89:8d:53:43:ab:0e:13:c0: 01:15:b4:79:38:db:fc:6e:3d:9e:51:b6:b8:13:8b:67:cf:f9: 7c:d9:22:1d:f6:5d:c5:1c:01:2f:98:e8:7a:24:18:bc:84:d7: fa:dc:72:5b:f7:c1:3a:68 Baltimore CyberTrust Code Signing Root ====================================== MD5 Fingerprint=90:F5:28:49:56:D1:5D:2C:B0:53:D4:4B:EF:6F:90:22 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDpjCCAo6gAwIBAgIEAgAAvzANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJJ RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MS8wLQYD VQQDEyZCYWx0aW1vcmUgQ3liZXJUcnVzdCBDb2RlIFNpZ25pbmcgUm9vdDAeFw0w MDA1MTcxNDAxMDBaFw0yNTA1MTcyMzU5MDBaMGcxCzAJBgNVBAYTAklFMRIwEAYD VQQKEwlCYWx0aW1vcmUxEzARBgNVBAsTCkN5YmVyVHJ1c3QxLzAtBgNVBAMTJkJh bHRpbW9yZSBDeWJlclRydXN0IENvZGUgU2lnbmluZyBSb290MIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyHGaGBKOetv5mvxBr9jy9AmOrT/+Zzc82skm ULGxPsvoTnMA8rLc88VG+wnvGJbOp+CchF0gDnqgqjaL+ii2eC6z7OhH8wTwkCO0 6q/lU7gF90ddK4bxp6TGOzW20g1SQdf0knXhogpQVoe+lwt7M4UQuSgY7jPqSBHX W5FHdiLU7s9d56hOHJ2Wkd2cvXQJqHJhqrAhOvE9LANWCdLB3MO1x1Q3q+YmorJG cXPKEYjuvOdk99ARGnNAWshJLA+375B/aIAEOAsbDzvU9aCzwo7hNLSAmW2edtSS KUCxldI3pGcSf+Biu641xZk2gkS45ngYM2Fxk1stjZ94lYLrbQIDAQABo1owWDAT BgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUyEE0XBUVBOVA8tGrmm8kknqH QlowEgYDVR0TAQH/BAgwBgEB/wIBAzAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcN AQEFBQADggEBAFJ0qpVLIozHPZak/l36L7W86/AL6VY4HdFtDaG8aIvwxYClJDT9 8pYYEYahNvU351RA1WQfw19wQmstOceeUgXO52py0o1yP0dQg6vHjSXJsOOnUxaV pmpT6hidj3ipd3ca+bSXR1mIJyi1yuEu1z4Oog24IkQD49FjsEE6ofWkLfd2HgRU mXgyQNcrfE26ppyweW4Hvozs7tc4aVvBDFZon/7r0eHIiPnyzX++hbREZwBQPvQm A2Tqd33oXj4cN0fI1uqk8zY8l8I5cgWUGSXD1zdBD8Efh4r9qr7psWRX5NuSoc/h Seg7H5ETWsOP2SVYSYBHD8YDrqzjv7fAqio= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 33554623 (0x20000bf) Signature Algorithm: sha1WithRSAEncryption Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Code Signing Root Validity Not Before: May 17 14:01:00 2000 GMT Not After : May 17 23:59:00 2025 GMT Subject: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Code Signing Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:c8:71:9a:18:12:8e:7a:db:f9:9a:fc:41:af:d8: f2:f4:09:8e:ad:3f:fe:67:37:3c:da:c9:26:50:b1: b1:3e:cb:e8:4e:73:00:f2:b2:dc:f3:c5:46:fb:09: ef:18:96:ce:a7:e0:9c:84:5d:20:0e:7a:a0:aa:36: 8b:fa:28:b6:78:2e:b3:ec:e8:47:f3:04:f0:90:23: b4:ea:af:e5:53:b8:05:f7:47:5d:2b:86:f1:a7:a4: c6:3b:35:b6:d2:0d:52:41:d7:f4:92:75:e1:a2:0a: 50:56:87:be:97:0b:7b:33:85:10:b9:28:18:ee:33: ea:48:11:d7:5b:91:47:76:22:d4:ee:cf:5d:e7:a8: 4e:1c:9d:96:91:dd:9c:bd:74:09:a8:72:61:aa:b0: 21:3a:f1:3d:2c:03:56:09:d2:c1:dc:c3:b5:c7:54: 37:ab:e6:26:a2:b2:46:71:73:ca:11:88:ee:bc:e7: 64:f7:d0:11:1a:73:40:5a:c8:49:2c:0f:b7:ef:90: 7f:68:80:04:38:0b:1b:0f:3b:d4:f5:a0:b3:c2:8e: e1:34:b4:80:99:6d:9e:76:d4:92:29:40:b1:95:d2: 37:a4:67:12:7f:e0:62:bb:ae:35:c5:99:36:82:44: b8:e6:78:18:33:61:71:93:5b:2d:8d:9f:78:95:82: eb:6d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Extended Key Usage: Code Signing X509v3 Subject Key Identifier: C8:41:34:5C:15:15:04:E5:40:F2:D1:AB:9A:6F:24:92:7A:87:42:5A X509v3 Basic Constraints: critical CA:TRUE, pathlen:3 X509v3 Key Usage: critical Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 52:74:aa:95:4b:22:8c:c7:3d:96:a4:fe:5d:fa:2f:b5:bc:eb: f0:0b:e9:56:38:1d:d1:6d:0d:a1:bc:68:8b:f0:c5:80:a5:24: 34:fd:f2:96:18:11:86:a1:36:f5:37:e7:54:40:d5:64:1f:c3: 5f:70:42:6b:2d:39:c7:9e:52:05:ce:e7:6a:72:d2:8d:72:3f: 47:50:83:ab:c7:8d:25:c9:b0:e3:a7:53:16:95:a6:6a:53:ea: 18:9d:8f:78:a9:77:77:1a:f9:b4:97:47:59:88:27:28:b5:ca: e1:2e:d7:3e:0e:a2:0d:b8:22:44:03:e3:d1:63:b0:41:3a:a1: f5:a4:2d:f7:76:1e:04:54:99:78:32:40:d7:2b:7c:4d:ba:a6: 9c:b0:79:6e:07:be:8c:ec:ee:d7:38:69:5b:c1:0c:56:68:9f: fe:eb:d1:e1:c8:88:f9:f2:cd:7f:be:85:b4:44:67:00:50:3e: f4:26:03:64:ea:77:7d:e8:5e:3e:1c:37:47:c8:d6:ea:a4:f3: 36:3c:97:c2:39:72:05:94:19:25:c3:d7:37:41:0f:c1:1f:87: 8a:fd:aa:be:e9:b1:64:57:e4:db:92:a1:cf:e1:49:e8:3b:1f: 91:13:5a:c3:8f:d9:25:58:49:80:47:0f:c6:03:ae:ac:e3:bf: b7:c0:aa:2a Baltimore CyberTrust Mobile Commerce Root ========================================= MD5 Fingerprint=EB:B4:20:1D:0F:B6:71:03:F7:C4:F7:C7:A4:72:86:E8 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICfTCCAeagAwIBAgIEAgAAuDANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQGEwJJ RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSkwJwYD VQQDEyBCYWx0aW1vcmUgQ3liZXJUcnVzdCBNb2JpbGUgUm9vdDAeFw0wMDA1MTIx ODIwMDBaFw0yMDA1MTIyMzU5MDBaMGExCzAJBgNVBAYTAklFMRIwEAYDVQQKEwlC YWx0aW1vcmUxEzARBgNVBAsTCkN5YmVyVHJ1c3QxKTAnBgNVBAMTIEJhbHRpbW9y ZSBDeWJlclRydXN0IE1vYmlsZSBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB iQKBgQCjbbE4Vqz8tVYh3sCQXSZHgsZ9jx+ghY8vu9ThHB3yJB8osC+5pKVvoiIg ZP6ERzx+K2xparjUwJaOjFINzW9B1L8ErqeBLy2YSNLBlKO1GV1dUWT0jkGwm8At IqBexthaEmO8EUpeJhId4iYF5g9fIh96X3aUrs9aKA6rRdoiMQIDAQABo0IwQDAd BgNVHQ4EFgQUyeKPwAImWrbAB+N/lAcY2y6lmnAwDwYDVR0TAQH/BAUwAwEB/zAO BgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQEFBQADgYEAUwgLJgl4QnPU7Hp3Rw3j CzNx764zFE37+v0at1H15JkcBnHXKRnX5hUgUVFGbU/eGEmY0Ph4u3HojQEG1ddk j5TfR/6ghWk2qS9CemhKEtaLC3BECqQE7yaIwTVxOF0bW0hC8OeUHHCVNKir9avi eK318FL9m+pCDOjYVL5TZvU= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 33554616 (0x20000b8) Signature Algorithm: sha1WithRSAEncryption Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Mobile Root Validity Not Before: May 12 18:20:00 2000 GMT Not After : May 12 23:59:00 2020 GMT Subject: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Mobile Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:a3:6d:b1:38:56:ac:fc:b5:56:21:de:c0:90:5d: 26:47:82:c6:7d:8f:1f:a0:85:8f:2f:bb:d4:e1:1c: 1d:f2:24:1f:28:b0:2f:b9:a4:a5:6f:a2:22:20:64: fe:84:47:3c:7e:2b:6c:69:6a:b8:d4:c0:96:8e:8c: 52:0d:cd:6f:41:d4:bf:04:ae:a7:81:2f:2d:98:48: d2:c1:94:a3:b5:19:5d:5d:51:64:f4:8e:41:b0:9b: c0:2d:22:a0:5e:c6:d8:5a:12:63:bc:11:4a:5e:26: 12:1d:e2:26:05:e6:0f:5f:22:1f:7a:5f:76:94:ae: cf:5a:28:0e:ab:45:da:22:31 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: C9:E2:8F:C0:02:26:5A:B6:C0:07:E3:7F:94:07:18:DB:2E:A5:9A:70 X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Digital Signature, Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 53:08:0b:26:09:78:42:73:d4:ec:7a:77:47:0d:e3:0b:33:71: ef:ae:33:14:4d:fb:fa:fd:1a:b7:51:f5:e4:99:1c:06:71:d7: 29:19:d7:e6:15:20:51:51:46:6d:4f:de:18:49:98:d0:f8:78: bb:71:e8:8d:01:06:d5:d7:64:8f:94:df:47:fe:a0:85:69:36: a9:2f:42:7a:68:4a:12:d6:8b:0b:70:44:0a:a4:04:ef:26:88: c1:35:71:38:5d:1b:5b:48:42:f0:e7:94:1c:70:95:34:a8:ab: f5:ab:e2:78:ad:f5:f0:52:fd:9b:ea:42:0c:e8:d8:54:be:53: 66:f5 Baltimore CyberTrust Root ========================= MD5 Fingerprint=AC:B6:94:A5:9C:17:E0:D7:91:52:9B:B1:97:06:A6:E4 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 33554617 (0x20000b9) Signature Algorithm: sha1WithRSAEncryption Issuer: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root Validity Not Before: May 12 18:46:00 2000 GMT Not After : May 12 23:59:00 2025 GMT Subject: C=IE, O=Baltimore, OU=CyberTrust, CN=Baltimore CyberTrust Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:a3:04:bb:22:ab:98:3d:57:e8:26:72:9a:b5:79: d4:29:e2:e1:e8:95:80:b1:b0:e3:5b:8e:2b:29:9a: 64:df:a1:5d:ed:b0:09:05:6d:db:28:2e:ce:62:a2: 62:fe:b4:88:da:12:eb:38:eb:21:9d:c0:41:2b:01: 52:7b:88:77:d3:1c:8f:c7:ba:b9:88:b5:6a:09:e7: 73:e8:11:40:a7:d1:cc:ca:62:8d:2d:e5:8f:0b:a6: 50:d2:a8:50:c3:28:ea:f5:ab:25:87:8a:9a:96:1c: a9:67:b8:3f:0c:d5:f7:f9:52:13:2f:c2:1b:d5:70: 70:f0:8f:c0:12:ca:06:cb:9a:e1:d9:ca:33:7a:77: d6:f8:ec:b9:f1:68:44:42:48:13:d2:c0:c2:a4:ae: 5e:60:fe:b6:a6:05:fc:b4:dd:07:59:02:d4:59:18: 98:63:f5:a5:63:e0:90:0c:7d:5d:b2:06:7a:f3:85: ea:eb:d4:03:ae:5e:84:3e:5f:ff:15:ed:69:bc:f9: 39:36:72:75:cf:77:52:4d:f3:c9:90:2c:b9:3d:e5: c9:23:53:3f:1f:24:98:21:5c:07:99:29:bd:c6:3a: ec:e7:6e:86:3a:6b:97:74:63:33:bd:68:18:31:f0: 78:8d:76:bf:fc:9e:8e:5d:2a:86:a7:4d:90:dc:27: 1a:39 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: E5:9D:59:30:82:47:58:CC:AC:FA:08:54:36:86:7B:3A:B5:04:4D:F0 X509v3 Basic Constraints: critical CA:TRUE, pathlen:3 X509v3 Key Usage: critical Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 85:0c:5d:8e:e4:6f:51:68:42:05:a0:dd:bb:4f:27:25:84:03: bd:f7:64:fd:2d:d7:30:e3:a4:10:17:eb:da:29:29:b6:79:3f: 76:f6:19:13:23:b8:10:0a:f9:58:a4:d4:61:70:bd:04:61:6a: 12:8a:17:d5:0a:bd:c5:bc:30:7c:d6:e9:0c:25:8d:86:40:4f: ec:cc:a3:7e:38:c6:37:11:4f:ed:dd:68:31:8e:4c:d2:b3:01: 74:ee:be:75:5e:07:48:1a:7f:70:ff:16:5c:84:c0:79:85:b8: 05:fd:7f:be:65:11:a3:0f:c0:02:b4:f8:52:37:39:04:d5:a9: 31:7a:18:bf:a0:2a:f4:12:99:f7:a3:45:82:e3:3c:5e:f5:9d: 9e:b5:c8:9e:7c:2e:c8:a4:9e:4e:08:14:4b:6d:fd:70:6d:6b: 1a:63:bd:64:e6:1f:b7:ce:f0:f2:9f:2e:bb:1b:b7:f2:50:88: 73:92:c2:e2:e3:16:8d:9a:32:02:ab:8e:18:dd:e9:10:11:ee: 7e:35:ab:90:af:3e:30:94:7a:d0:33:3d:a7:65:0f:f5:fc:8e: 9e:62:cf:47:44:2c:01:5d:bb:1d:b5:32:d2:47:d2:38:2e:d0: fe:81:dc:32:6a:1e:b5:ee:3c:d5:fc:e7:81:1d:19:c3:24:42: ea:63:39:a9 beTRUSTed Root CA ================= MD5 Fingerprint=85:CA:76:5A:1B:D1:68:22:DC:A2:23:12:CA:C6:80:34 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIFLDCCBBSgAwIBAgIEOU99hzANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJX VzESMBAGA1UEChMJYmVUUlVTVGVkMRswGQYDVQQDExJiZVRSVVNUZWQgUm9vdCBD QXMxGjAYBgNVBAMTEWJlVFJVU1RlZCBSb290IENBMB4XDTAwMDYyMDE0MjEwNFoX DTEwMDYyMDEzMjEwNFowWjELMAkGA1UEBhMCV1cxEjAQBgNVBAoTCWJlVFJVU1Rl ZDEbMBkGA1UEAxMSYmVUUlVTVGVkIFJvb3QgQ0FzMRowGAYDVQQDExFiZVRSVVNU ZWQgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANS0c3oT CjhVAb6JVuGUntS+WutKNHUbYSnE4a0IYCF4SP+00PpeQY1hRIfo7clY+vyTmt9P 6j41ffgzeubx181vSUs9Ty1uDoM6GHh3o8/n9E1z2Jo7Gh2+lVPPIJfCzz4kUmwM jmVZxXH/YgmPqsWPzGCgc0rXOD8Vcr+il7dw6K/ifhYGTPWqZCZyByWtNfwYsSbX 2P8ZDoMbjNx4RWc0PfSvHI3kbWvtILNnmrRhyxdviTX/507AMhLn7uzf/5cwdO2N R47rtMNE5qdMf1ZD6Li8tr76g5fmu/vEtpO+GRg+jIG5c4gW9JZDnGdzF5DYCW5j rEq2I8QBoa2k5MUCAwEAAaOCAfgwggH0MA8GA1UdEwEB/wQFMAMBAf8wggFZBgNV HSAEggFQMIIBTDCCAUgGCisGAQQBsT4BAAAwggE4MIIBAQYIKwYBBQUHAgIwgfQa gfFSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1 bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0 ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGFuZCBjZXJ0aWZpY2F0aW9uIHBy YWN0aWNlIHN0YXRlbWVudCwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0IGJlVFJVU1Rl ZCdzIHdlYiBzaXRlLCBodHRwczovL3d3dy5iZVRSVVNUZWQuY29tL3ZhdWx0L3Rl cm1zMDEGCCsGAQUFBwIBFiVodHRwczovL3d3dy5iZVRSVVNUZWQuY29tL3ZhdWx0 L3Rlcm1zMDQGA1UdHwQtMCswKaAnoCWkIzAhMRIwEAYDVQQKEwliZVRSVVNUZWQx CzAJBgNVBAYTAldXMB0GA1UdDgQWBBQquZtpLjub2M3eKjEENGvKBxirZzAfBgNV HSMEGDAWgBQquZtpLjub2M3eKjEENGvKBxirZzAOBgNVHQ8BAf8EBAMCAf4wDQYJ KoZIhvcNAQEFBQADggEBAHlh26Nebhax6nZR+csVm8tpvuaBa58oH2U+3RGFktTo Qb9+M70j5/Egv6S0phkBxoyNNXxlpE8JpNbYIxUFE6dDea/bow6be3ga8wSGWsb2 jCBHOElQBp1yZzrwmAOtlmdE/D8QDYZN5AA7KXvOOzuZhmElQITcE2K3+spZ1gMe 1lMBzW1MaFVA4e5rxyoAAEiCswoBw2AqDPeCNe5IhpbkdNQ96gFxugR1QKepfzk5 mlWXKWWuGVUlBXJH0+gY3Ljpr0NzARJ0o+FcXxVdJPP55PS2Z2cS52QiivalQaYc tmBjRYoQtLpGEK5BV2VsPyMQPyEQWbfkQN0mDCP2qq4= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 961510791 (0x394f7d87) Signature Algorithm: sha1WithRSAEncryption Issuer: C=WW, O=beTRUSTed, CN=beTRUSTed Root CAs, CN=beTRUSTed Root CA Validity Not Before: Jun 20 14:21:04 2000 GMT Not After : Jun 20 13:21:04 2010 GMT Subject: C=WW, O=beTRUSTed, CN=beTRUSTed Root CAs, CN=beTRUSTed Root CA Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:d4:b4:73:7a:13:0a:38:55:01:be:89:56:e1:94: 9e:d4:be:5a:eb:4a:34:75:1b:61:29:c4:e1:ad:08: 60:21:78:48:ff:b4:d0:fa:5e:41:8d:61:44:87:e8: ed:c9:58:fa:fc:93:9a:df:4f:ea:3e:35:7d:f8:33: 7a:e6:f1:d7:cd:6f:49:4b:3d:4f:2d:6e:0e:83:3a: 18:78:77:a3:cf:e7:f4:4d:73:d8:9a:3b:1a:1d:be: 95:53:cf:20:97:c2:cf:3e:24:52:6c:0c:8e:65:59: c5:71:ff:62:09:8f:aa:c5:8f:cc:60:a0:73:4a:d7: 38:3f:15:72:bf:a2:97:b7:70:e8:af:e2:7e:16:06: 4c:f5:aa:64:26:72:07:25:ad:35:fc:18:b1:26:d7: d8:ff:19:0e:83:1b:8c:dc:78:45:67:34:3d:f4:af: 1c:8d:e4:6d:6b:ed:20:b3:67:9a:b4:61:cb:17:6f: 89:35:ff:e7:4e:c0:32:12:e7:ee:ec:df:ff:97:30: 74:ed:8d:47:8e:eb:b4:c3:44:e6:a7:4c:7f:56:43: e8:b8:bc:b6:be:fa:83:97:e6:bb:fb:c4:b6:93:be: 19:18:3e:8c:81:b9:73:88:16:f4:96:43:9c:67:73: 17:90:d8:09:6e:63:ac:4a:b6:23:c4:01:a1:ad:a4: e4:c5 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Certificate Policies: Policy: 1.3.6.1.4.1.6334.1.0.0 User Notice: Explicit Text: Reliance on this certificate by any party assumes acceptance of the then applicable standard terms and conditions of use, and certification practice statement, which can be found at beTRUSTed's web site, https://www.beTRUSTed.com/vault/terms CPS: https://www.beTRUSTed.com/vault/terms X509v3 CRL Distribution Points: DirName:/O=beTRUSTed/C=WW X509v3 Subject Key Identifier: 2A:B9:9B:69:2E:3B:9B:D8:CD:DE:2A:31:04:34:6B:CA:07:18:AB:67 X509v3 Authority Key Identifier: keyid:2A:B9:9B:69:2E:3B:9B:D8:CD:DE:2A:31:04:34:6B:CA:07:18:AB:67 X509v3 Key Usage: critical Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment, Key Agreement, Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 79:61:db:a3:5e:6e:16:b1:ea:76:51:f9:cb:15:9b:cb:69:be: e6:81:6b:9f:28:1f:65:3e:dd:11:85:92:d4:e8:41:bf:7e:33: bd:23:e7:f1:20:bf:a4:b4:a6:19:01:c6:8c:8d:35:7c:65:a4: 4f:09:a4:d6:d8:23:15:05:13:a7:43:79:af:db:a3:0e:9b:7b: 78:1a:f3:04:86:5a:c6:f6:8c:20:47:38:49:50:06:9d:72:67: 3a:f0:98:03:ad:96:67:44:fc:3f:10:0d:86:4d:e4:00:3b:29: 7b:ce:3b:3b:99:86:61:25:40:84:dc:13:62:b7:fa:ca:59:d6: 03:1e:d6:53:01:cd:6d:4c:68:55:40:e1:ee:6b:c7:2a:00:00: 48:82:b3:0a:01:c3:60:2a:0c:f7:82:35:ee:48:86:96:e4:74: d4:3d:ea:01:71:ba:04:75:40:a7:a9:7f:39:39:9a:55:97:29: 65:ae:19:55:25:05:72:47:d3:e8:18:dc:b8:e9:af:43:73:01: 12:74:a3:e1:5c:5f:15:5d:24:f3:f9:e4:f4:b6:67:67:12:e7: 64:22:8a:f6:a5:41:a6:1c:b6:60:63:45:8a:10:b4:ba:46:10: ae:41:57:65:6c:3f:23:10:3f:21:10:59:b7:e4:40:dd:26:0c: 23:f6:aa:ae beTRUSTed Root CA-Baltimore Implementation ========================================== MD5 Fingerprint=81:35:B9:FB:FB:12:CA:18:69:36:EB:AE:69:78:A1:F1 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIFajCCBFKgAwIBAgIEPLU9RjANBgkqhkiG9w0BAQUFADBmMRIwEAYDVQQKEwli ZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEzMDEGA1UEAxMq YmVUUlVTVGVkIFJvb3QgQ0EtQmFsdGltb3JlIEltcGxlbWVudGF0aW9uMB4XDTAy MDQxMTA3Mzg1MVoXDTIyMDQxMTA3Mzg1MVowZjESMBAGA1UEChMJYmVUUlVTVGVk MRswGQYDVQQLExJiZVRSVVNUZWQgUm9vdCBDQXMxMzAxBgNVBAMTKmJlVFJVU1Rl ZCBSb290IENBLUJhbHRpbW9yZSBJbXBsZW1lbnRhdGlvbjCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBALx+xDmcjOPWHIb/ymKt4H8wRXqOGrO4x/nRNv8i 805qX4QQ+2aBw5R5MdKR4XeOGCrDFN5R9U+jK7wYFuK13XneIviCfsuBH/0nLI/6 l2Qijvj/YaOcGx6Sj8CoCd8JEey3fTGaGuqDIQY8n7pc/5TqarjDa1U0Tz0yH92B FODEPM2dMPgwqZfT7syj0B9fHBOB1BirlNFjw55/NZKeX0Tq7PQiXLfoPX2k+Ymp kbIq2eszh+6l/ePazIjmiSZuxyuC0F6dWdsU7JGDBcNeDsYq0ATdcT0gTlgn/FP7 eHgZFLL8kFKJOGJgB7Sg7KxrUNb9uShr71ItOrL/8QFArDcCAwEAAaOCAh4wggIa MA8GA1UdEwEB/wQFMAMBAf8wggG1BgNVHSAEggGsMIIBqDCCAaQGDysGAQQBsT4A AAEJKIORMTCCAY8wggFIBggrBgEFBQcCAjCCAToaggE2UmVsaWFuY2Ugb24gb3Ig dXNlIG9mIHRoaXMgQ2VydGlmaWNhdGUgY3JlYXRlcyBhbiBhY2tub3dsZWRnbWVu dCBhbmQgYWNjZXB0YW5jZSBvZiB0aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJk IHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSwgdGhlIENlcnRpZmljYXRpb24g UHJhY3RpY2UgU3RhdGVtZW50IGFuZCB0aGUgUmVseWluZyBQYXJ0eSBBZ3JlZW1l bnQsIHdoaWNoIGNhbiBiZSBmb3VuZCBhdCB0aGUgYmVUUlVTVGVkIHdlYiBzaXRl LCBodHRwOi8vd3d3LmJldHJ1c3RlZC5jb20vcHJvZHVjdHNfc2VydmljZXMvaW5k ZXguaHRtbDBBBggrBgEFBQcCARY1aHR0cDovL3d3dy5iZXRydXN0ZWQuY29tL3By b2R1Y3RzX3NlcnZpY2VzL2luZGV4Lmh0bWwwHQYDVR0OBBYEFEU9w6nR3D8kVpgc cxiIav+DR+22MB8GA1UdIwQYMBaAFEU9w6nR3D8kVpgccxiIav+DR+22MA4GA1Ud DwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEASZK8o+6svfoNyYt5hhwjdrCA WXf82n+0S9/DZEtqTg6t8n1ZdwWtColzsPq8y9yNAIiPpqCy6qxSJ7+hSHyXEHu6 7RMdmgduyzFiEuhjA6p9beP4G3YheBufS0OM00mG9htc9i5gFdPp43t1P9ACg9AY gkHNZTfqjjJ+vWuZXTARyNtIVBw74acT02pIk/c9jH8F6M7ziCpjBLjqflh8AXtb 4cV97yHgjQ5dUX2xZ/2jvTg2xvI4hocalmhgRvsoFEdV4aeADGvi6t9NfJBIoDa9 CReJf8Py05yc493EG931t3GzUwWJBtDLSoDByFOQtTwxiBdQn8nEDovYqAJjDQ== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1018510662 (0x3cb53d46) Signature Algorithm: sha1WithRSAEncryption Issuer: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA-Baltimore Implementation Validity Not Before: Apr 11 07:38:51 2002 GMT Not After : Apr 11 07:38:51 2022 GMT Subject: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA-Baltimore Implementation Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:bc:7e:c4:39:9c:8c:e3:d6:1c:86:ff:ca:62:ad: e0:7f:30:45:7a:8e:1a:b3:b8:c7:f9:d1:36:ff:22: f3:4e:6a:5f:84:10:fb:66:81:c3:94:79:31:d2:91: e1:77:8e:18:2a:c3:14:de:51:f5:4f:a3:2b:bc:18: 16:e2:b5:dd:79:de:22:f8:82:7e:cb:81:1f:fd:27: 2c:8f:fa:97:64:22:8e:f8:ff:61:a3:9c:1b:1e:92: 8f:c0:a8:09:df:09:11:ec:b7:7d:31:9a:1a:ea:83: 21:06:3c:9f:ba:5c:ff:94:ea:6a:b8:c3:6b:55:34: 4f:3d:32:1f:dd:81:14:e0:c4:3c:cd:9d:30:f8:30: a9:97:d3:ee:cc:a3:d0:1f:5f:1c:13:81:d4:18:ab: 94:d1:63:c3:9e:7f:35:92:9e:5f:44:ea:ec:f4:22: 5c:b7:e8:3d:7d:a4:f9:89:a9:91:b2:2a:d9:eb:33: 87:ee:a5:fd:e3:da:cc:88:e6:89:26:6e:c7:2b:82: d0:5e:9d:59:db:14:ec:91:83:05:c3:5e:0e:c6:2a: d0:04:dd:71:3d:20:4e:58:27:fc:53:fb:78:78:19: 14:b2:fc:90:52:89:38:62:60:07:b4:a0:ec:ac:6b: 50:d6:fd:b9:28:6b:ef:52:2d:3a:b2:ff:f1:01:40: ac:37 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Certificate Policies: Policy: 1.3.6.1.4.1.6334.0.0.1.9.40.51377 User Notice: Explicit Text: Reliance on or use of this Certificate creates an acknowledgment and acceptance of the then applicable standard terms and conditions of use, the Certification Practice Statement and the Relying Party Agreement, which can be found at the beTRUSTed web site, http://www.betrusted.com/products_services/index.html CPS: http://www.betrusted.com/products_services/index.html X509v3 Subject Key Identifier: 45:3D:C3:A9:D1:DC:3F:24:56:98:1C:73:18:88:6A:FF:83:47:ED:B6 X509v3 Authority Key Identifier: keyid:45:3D:C3:A9:D1:DC:3F:24:56:98:1C:73:18:88:6A:FF:83:47:ED:B6 X509v3 Key Usage: critical Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 49:92:bc:a3:ee:ac:bd:fa:0d:c9:8b:79:86:1c:23:76:b0:80: 59:77:fc:da:7f:b4:4b:df:c3:64:4b:6a:4e:0e:ad:f2:7d:59: 77:05:ad:0a:89:73:b0:fa:bc:cb:dc:8d:00:88:8f:a6:a0:b2: ea:ac:52:27:bf:a1:48:7c:97:10:7b:ba:ed:13:1d:9a:07:6e: cb:31:62:12:e8:63:03:aa:7d:6d:e3:f8:1b:76:21:78:1b:9f: 4b:43:8c:d3:49:86:f6:1b:5c:f6:2e:60:15:d3:e9:e3:7b:75: 3f:d0:02:83:d0:18:82:41:cd:65:37:ea:8e:32:7e:bd:6b:99: 5d:30:11:c8:db:48:54:1c:3b:e1:a7:13:d3:6a:48:93:f7:3d: 8c:7f:05:e8:ce:f3:88:2a:63:04:b8:ea:7e:58:7c:01:7b:5b: e1:c5:7d:ef:21:e0:8d:0e:5d:51:7d:b1:67:fd:a3:bd:38:36: c6:f2:38:86:87:1a:96:68:60:46:fb:28:14:47:55:e1:a7:80: 0c:6b:e2:ea:df:4d:7c:90:48:a0:36:bd:09:17:89:7f:c3:f2: d3:9c:9c:e3:dd:c4:1b:dd:f5:b7:71:b3:53:05:89:06:d0:cb: 4a:80:c1:c8:53:90:b5:3c:31:88:17:50:9f:c9:c4:0e:8b:d8: a8:02:63:0d beTRUSTed Root CA - Entrust Implementation ========================================== MD5 Fingerprint=7D:86:90:8F:5B:F1:F2:40:C0:F7:3D:62:B5:A4:A9:3B PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIGUTCCBTmgAwIBAgIEPLVPQDANBgkqhkiG9w0BAQUFADBmMRIwEAYDVQQKEwli ZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEzMDEGA1UEAxMq YmVUUlVTVGVkIFJvb3QgQ0EgLSBFbnRydXN0IEltcGxlbWVudGF0aW9uMB4XDTAy MDQxMTA4MjQyN1oXDTIyMDQxMTA4NTQyN1owZjESMBAGA1UEChMJYmVUUlVTVGVk MRswGQYDVQQLExJiZVRSVVNUZWQgUm9vdCBDQXMxMzAxBgNVBAMTKmJlVFJVU1Rl ZCBSb290IENBIC0gRW50cnVzdCBJbXBsZW1lbnRhdGlvbjCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBALr0RAOqEmq1Q+xVkrYwfTVXDNvzDSduTPdQqJtO K2/b9a0cS12zqcH+e0TrW6MFDR/FNCswACnxeECypP869AGIF37m1CbTukzqMvtD d5eHI8XbQ6P1KqNRXuE70mVpflUVm3rnafdE4Fe1FehmYA8NA/uCjqPoEXtsvsdj DheT389Lrm5zdeDzqrmkwAkbhepxKYhBMvnwKg5sCfJ0a2ZsUhMfGLzUPvfYbiCe yv78IZTuEyhL11xeDGbu6bsPwTSxfwh28z0mcMmLJR1iJAzqHHVOwBLkuhMdMCkt VjMFu5dZfsZJT4nXLySotohAtWSSU1Yk5KKghbNekLQSM80CAwEAAaOCAwUwggMB MIIBtwYDVR0gBIIBrjCCAaowggGmBg8rBgEEAbE+AAACCSiDkTEwggGRMIIBSQYI KwYBBQUHAgIwggE7GoIBN1JlbGlhbmNlIG9uIG9yIHVzZSBvZiB0aGlzIENlcnRp ZmljYXRlIGNyZWF0ZXMgYW4gYWNrbm93bGVkZ21lbnQgYW5kIGFjY2VwdGFuY2Ug b2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0 aW9ucyBvZiB1c2UsIHRoZSBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu dCBhbmQgdGhlIFJlbHlpbmcgUGFydHkgQWdyZWVtZW50LCB3aGljaCBjYW4gYmUg Zm91bmQgYXQgdGhlIGJlVFJVU1RlZCB3ZWIgc2l0ZSwgaHR0cHM6Ly93d3cuYmV0 cnVzdGVkLmNvbS9wcm9kdWN0c19zZXJ2aWNlcy9pbmRleC5odG1sMEIGCCsGAQUF BwIBFjZodHRwczovL3d3dy5iZXRydXN0ZWQuY29tL3Byb2R1Y3RzX3NlcnZpY2Vz L2luZGV4Lmh0bWwwEQYJYIZIAYb4QgEBBAQDAgAHMIGJBgNVHR8EgYEwfzB9oHug eaR3MHUxEjAQBgNVBAoTCWJlVFJVU1RlZDEbMBkGA1UECxMSYmVUUlVTVGVkIFJv b3QgQ0FzMTMwMQYDVQQDEypiZVRSVVNUZWQgUm9vdCBDQSAtIEVudHJ1c3QgSW1w bGVtZW50YXRpb24xDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMjAwMjA0MTEw ODI0MjdagQ8yMDIyMDQxMTA4NTQyN1owCwYDVR0PBAQDAgEGMB8GA1UdIwQYMBaA FH1w5a44iwY/qhwaj/nPJDCqhIQWMB0GA1UdDgQWBBR9cOWuOIsGP6ocGo/5zyQw qoSEFjAMBgNVHRMEBTADAQH/MB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6NC4wAwIE kDANBgkqhkiG9w0BAQUFAAOCAQEAKrgXzh8QlOu4mre5X+za95IkrNySO8cgjfKZ 5V04ocI07cUTWVwFtStPYZuR+0H8/NU8TZh2BvWBfevdkObRVlTa4y0MnxEylCIB evZsLHRnBMylj44ss0O1lKLQfelifwa+JwGDnjr9iu6YQ0pr17WXOzq/T220Y/oz ADQuLW2WyXvKmWO6vvT2MKAtmJbpVkQFqUSjYRDrgqFnXbxdJ3Wqiig2KjiS2d2k XgClzMx8KSreKJCrt+G2/30lC0DYqjSjLd4H61/OCt3Kfjp9JsFiaDrmLzfzgYYh xKlkqu9FNtEaZnz46TfW1mG+oq1I59/mdP7TbX3SJdysYlep9w== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1018515264 (0x3cb54f40) Signature Algorithm: sha1WithRSAEncryption Issuer: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA - Entrust Implementation Validity Not Before: Apr 11 08:24:27 2002 GMT Not After : Apr 11 08:54:27 2022 GMT Subject: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA - Entrust Implementation Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:ba:f4:44:03:aa:12:6a:b5:43:ec:55:92:b6:30: 7d:35:57:0c:db:f3:0d:27:6e:4c:f7:50:a8:9b:4e: 2b:6f:db:f5:ad:1c:4b:5d:b3:a9:c1:fe:7b:44:eb: 5b:a3:05:0d:1f:c5:34:2b:30:00:29:f1:78:40:b2: a4:ff:3a:f4:01:88:17:7e:e6:d4:26:d3:ba:4c:ea: 32:fb:43:77:97:87:23:c5:db:43:a3:f5:2a:a3:51: 5e:e1:3b:d2:65:69:7e:55:15:9b:7a:e7:69:f7:44: e0:57:b5:15:e8:66:60:0f:0d:03:fb:82:8e:a3:e8: 11:7b:6c:be:c7:63:0e:17:93:df:cf:4b:ae:6e:73: 75:e0:f3:aa:b9:a4:c0:09:1b:85:ea:71:29:88:41: 32:f9:f0:2a:0e:6c:09:f2:74:6b:66:6c:52:13:1f: 18:bc:d4:3e:f7:d8:6e:20:9e:ca:fe:fc:21:94:ee: 13:28:4b:d7:5c:5e:0c:66:ee:e9:bb:0f:c1:34:b1: 7f:08:76:f3:3d:26:70:c9:8b:25:1d:62:24:0c:ea: 1c:75:4e:c0:12:e4:ba:13:1d:30:29:2d:56:33:05: bb:97:59:7e:c6:49:4f:89:d7:2f:24:a8:b6:88:40: b5:64:92:53:56:24:e4:a2:a0:85:b3:5e:90:b4:12: 33:cd Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Certificate Policies: Policy: 1.3.6.1.4.1.6334.0.0.2.9.40.51377 User Notice: Explicit Text: Reliance on or use of this Certificate creates an acknowledgment and acceptance of the then applicable standard terms and conditions of use, the Certification Practice Statement and the Relying Party Agreement, which can be found at the beTRUSTed web site, https://www.betrusted.com/products_services/index.html CPS: https://www.betrusted.com/products_services/index.html Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 CRL Distribution Points: DirName:/O=beTRUSTed/OU=beTRUSTed Root CAs/CN=beTRUSTed Root CA - Entrust Implementation/CN=CRL1 X509v3 Private Key Usage Period: Not Before: Apr 11 08:24:27 2002 GMT, Not After: Apr 11 08:54:27 2022 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:7D:70:E5:AE:38:8B:06:3F:AA:1C:1A:8F:F9:CF:24:30:AA:84:84:16 X509v3 Subject Key Identifier: 7D:70:E5:AE:38:8B:06:3F:AA:1C:1A:8F:F9:CF:24:30:AA:84:84:16 X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0...V6.0:4.0.... Signature Algorithm: sha1WithRSAEncryption 2a:b8:17:ce:1f:10:94:eb:b8:9a:b7:b9:5f:ec:da:f7:92:24: ac:dc:92:3b:c7:20:8d:f2:99:e5:5d:38:a1:c2:34:ed:c5:13: 59:5c:05:b5:2b:4f:61:9b:91:fb:41:fc:fc:d5:3c:4d:98:76: 06:f5:81:7d:eb:dd:90:e6:d1:56:54:da:e3:2d:0c:9f:11:32: 94:22:01:7a:f6:6c:2c:74:67:04:cc:a5:8f:8e:2c:b3:43:b5: 94:a2:d0:7d:e9:62:7f:06:be:27:01:83:9e:3a:fd:8a:ee:98: 43:4a:6b:d7:b5:97:3b:3a:bf:4f:6d:b4:63:fa:33:00:34:2e: 2d:6d:96:c9:7b:ca:99:63:ba:be:f4:f6:30:a0:2d:98:96:e9: 56:44:05:a9:44:a3:61:10:eb:82:a1:67:5d:bc:5d:27:75:aa: 8a:28:36:2a:38:92:d9:dd:a4:5e:00:a5:cc:cc:7c:29:2a:de: 28:90:ab:b7:e1:b6:ff:7d:25:0b:40:d8:aa:34:a3:2d:de:07: eb:5f:ce:0a:dd:ca:7e:3a:7d:26:c1:62:68:3a:e6:2f:37:f3: 81:86:21:c4:a9:64:aa:ef:45:36:d1:1a:66:7c:f8:e9:37:d6: d6:61:be:a2:ad:48:e7:df:e6:74:fe:d3:6d:7d:d2:25:dc:ac: 62:57:a9:f7 beTRUSTed Root CA - RSA Implementation ====================================== MD5 Fingerprint=86:42:05:09:BC:A7:9D:EC:1D:F3:2E:0E:BA:D8:1D:D0 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIFaDCCBFCgAwIBAgIQO1nHe81bV569N1KsdrSqGjANBgkqhkiG9w0BAQUFADBi MRIwEAYDVQQKEwliZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENB czEvMC0GA1UEAxMmYmVUUlVTVGVkIFJvb3QgQ0EgLSBSU0EgSW1wbGVtZW50YXRp b24wHhcNMDIwNDExMTExODEzWhcNMjIwNDEyMTEwNzI1WjBiMRIwEAYDVQQKEwli ZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEvMC0GA1UEAxMm YmVUUlVTVGVkIFJvb3QgQ0EgLSBSU0EgSW1wbGVtZW50YXRpb24wggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkujQwCY5X0LkGLG9uJIAiv11DpvpPrILn HGhwhRujbrWqeNluB0s/6d/16uhUoWGKDi9pdRi3DOUUjXFumLhV/AyV0Jtu4S2I 1DpAa5LxmZZk3tv/ePTulh1HiXzUvrmIdyM6CeYEnm2qXtLIvZpOGd+J6lsOfsPk tPDgaTuID0GQ+NRxQyTBjyZLO1bp/4xsN+lFrYWMU8NghpBKlsmzVLC7F/AcRdnU GxlkVgoZ98zh/4avflherHqQH8koOUV7orbHnB/ahdQhhlkwk75TMzf270HPM8er cmsl9fNTGwxMLvF1S++gh/f+ihXQbNXL+WhTuXAVE8L1LvtDNXUtAgMBAAGjggIY MIICFDAMBgNVHRMEBTADAQH/MIIBtQYDVR0gBIIBrDCCAagwggGkBg8rBgEEAbE+ AAADCSiDkTEwggGPMEEGCCsGAQUFBwIBFjVodHRwOi8vd3d3LmJldHJ1c3RlZC5j b20vcHJvZHVjdHNfc2VydmljZXMvaW5kZXguaHRtbDCCAUgGCCsGAQUFBwICMIIB OhqCATZSZWxpYW5jZSBvbiBvciB1c2Ugb2YgdGhpcyBDZXJ0aWZpY2F0ZSBjcmVh dGVzIGFuIGFja25vd2xlZGdtZW50IGFuZCBhY2NlcHRhbmNlIG9mIHRoZSB0aGVu IGFwcGxpY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdXNl LCB0aGUgQ2VydGlmaWNhdGlvbiBQcmFjdGljZSBTdGF0ZW1lbnQgYW5kIHRoZSBS ZWx5aW5nIFBhcnR5IEFncmVlbWVudCwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0IHRo ZSBiZVRSVVNUZWQgd2ViIHNpdGUsIGh0dHA6Ly93d3cuYmV0cnVzdGVkLmNvbS9w cm9kdWN0c19zZXJ2aWNlcy9pbmRleC5odG1sMAsGA1UdDwQEAwIBBjAfBgNVHSME GDAWgBSp7BR++dlDzFMrFK3P9/BZiUHNGTAdBgNVHQ4EFgQUqewUfvnZQ8xTKxSt z/fwWYlBzRkwDQYJKoZIhvcNAQEFBQADggEBANuXsHXqDMTBmMpWBcCorSZIry0g 6IHHtt9DwSwddUvUQo3neqh03GZCWYez9Wlt2ames30cMcH1VOJZJEnl7r05pmuK mET7m9cqg5c0Lcd9NUwtNLg+DcTsiCevnpL9UGGCqGAHFFPMZRPB9kdEadIxyKbd LrML3kqNWz2rDcI1UqJWN8wyiyiFQpyRQHpwKzg21eFzGh/l+n5f3NacOzDq28Bb J1zTcwfBwvNMm2+fG8oeqqg4MwlYsq78B+g23FW6L09A/nq9BqaBwZMifIYRCgZ3 SK41ty8ymmFei74pnykkiFY5LKjSq5YDWtRIn7lAhAuYaPsBQ9Yb4gmxlxw= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 3b:59:c7:7b:cd:5b:57:9e:bd:37:52:ac:76:b4:aa:1a Signature Algorithm: sha1WithRSAEncryption Issuer: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA - RSA Implementation Validity Not Before: Apr 11 11:18:13 2002 GMT Not After : Apr 12 11:07:25 2022 GMT Subject: O=beTRUSTed, OU=beTRUSTed Root CAs, CN=beTRUSTed Root CA - RSA Implementation Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:e4:ba:34:30:09:8e:57:d0:b9:06:2c:6f:6e:24: 80:22:bf:5d:43:a6:fa:4f:ac:82:e7:1c:68:70:85: 1b:a3:6e:b5:aa:78:d9:6e:07:4b:3f:e9:df:f5:ea: e8:54:a1:61:8a:0e:2f:69:75:18:b7:0c:e5:14:8d: 71:6e:98:b8:55:fc:0c:95:d0:9b:6e:e1:2d:88:d4: 3a:40:6b:92:f1:99:96:64:de:db:ff:78:f4:ee:96: 1d:47:89:7c:d4:be:b9:88:77:23:3a:09:e6:04:9e: 6d:aa:5e:d2:c8:bd:9a:4e:19:df:89:ea:5b:0e:7e: c3:e4:b4:f0:e0:69:3b:88:0f:41:90:f8:d4:71:43: 24:c1:8f:26:4b:3b:56:e9:ff:8c:6c:37:e9:45:ad: 85:8c:53:c3:60:86:90:4a:96:c9:b3:54:b0:bb:17: f0:1c:45:d9:d4:1b:19:64:56:0a:19:f7:cc:e1:ff: 86:af:7e:58:5e:ac:7a:90:1f:c9:28:39:45:7b:a2: b6:c7:9c:1f:da:85:d4:21:86:59:30:93:be:53:33: 37:f6:ef:41:cf:33:c7:ab:72:6b:25:f5:f3:53:1b: 0c:4c:2e:f1:75:4b:ef:a0:87:f7:fe:8a:15:d0:6c: d5:cb:f9:68:53:b9:70:15:13:c2:f5:2e:fb:43:35: 75:2d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:TRUE X509v3 Certificate Policies: Policy: 1.3.6.1.4.1.6334.0.0.3.9.40.51377 CPS: http://www.betrusted.com/products_services/index.html User Notice: Explicit Text: Reliance on or use of this Certificate creates an acknowledgment and acceptance of the then applicable standard terms and conditions of use, the Certification Practice Statement and the Relying Party Agreement, which can be found at the beTRUSTed web site, http://www.betrusted.com/products_services/index.html X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:A9:EC:14:7E:F9:D9:43:CC:53:2B:14:AD:CF:F7:F0:59:89:41:CD:19 X509v3 Subject Key Identifier: A9:EC:14:7E:F9:D9:43:CC:53:2B:14:AD:CF:F7:F0:59:89:41:CD:19 Signature Algorithm: sha1WithRSAEncryption db:97:b0:75:ea:0c:c4:c1:98:ca:56:05:c0:a8:ad:26:48:af: 2d:20:e8:81:c7:b6:df:43:c1:2c:1d:75:4b:d4:42:8d:e7:7a: a8:74:dc:66:42:59:87:b3:f5:69:6d:d9:a9:9e:b3:7d:1c:31: c1:f5:54:e2:59:24:49:e5:ee:bd:39:a6:6b:8a:98:44:fb:9b: d7:2a:83:97:34:2d:c7:7d:35:4c:2d:34:b8:3e:0d:c4:ec:88: 27:af:9e:92:fd:50:61:82:a8:60:07:14:53:cc:65:13:c1:f6: 47:44:69:d2:31:c8:a6:dd:2e:b3:0b:de:4a:8d:5b:3d:ab:0d: c2:35:52:a2:56:37:cc:32:8b:28:85:42:9c:91:40:7a:70:2b: 38:36:d5:e1:73:1a:1f:e5:fa:7e:5f:dc:d6:9c:3b:30:ea:db: c0:5b:27:5c:d3:73:07:c1:c2:f3:4c:9b:6f:9f:1b:ca:1e:aa: a8:38:33:09:58:b2:ae:fc:07:e8:36:dc:55:ba:2f:4f:40:fe: 7a:bd:06:a6:81:c1:93:22:7c:86:11:0a:06:77:48:ae:35:b7: 2f:32:9a:61:5e:8b:be:29:9f:29:24:88:56:39:2c:a8:d2:ab: 96:03:5a:d4:48:9f:b9:40:84:0b:98:68:fb:01:43:d6:1b:e2: 09:b1:97:1c Digital Signature Trust Co. Global CA 1 ======================================= MD5 Fingerprint=25:7A:BA:83:2E:B6:A2:0B:DA:FE:F5:02:0F:08:D7:AD PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJV UzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQL EwhEU1RDQSBFMTAeFw05ODEyMTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJ BgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4x ETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQCg bIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJENySZ j9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlV Sn5JTe2io74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCG SAGG+EIBAQQEAwIABzBoBgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMx JDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UECxMI RFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMTk5ODEyMTAxODEw MjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQYMBaAFGp5 fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i +DAMBgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqG SIb3DQEBBQUAA4GBACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lN QseSJqBcNJo4cvj9axY+IO6CizEqkzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+ gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4RbyhkwS7hp86W0N6w4pl -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 913315222 (0x36701596) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=Digital Signature Trust Co., OU=DSTCA E1 Validity Not Before: Dec 10 18:10:23 1998 GMT Not After : Dec 10 18:40:23 2018 GMT Subject: C=US, O=Digital Signature Trust Co., OU=DSTCA E1 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:a0:6c:81:a9:cf:34:1e:24:dd:fe:86:28:cc:de: 83:2f:f9:5e:d4:42:d2:e8:74:60:66:13:98:06:1c: a9:51:12:69:6f:31:55:b9:49:72:00:08:7e:d3:a5: 62:44:37:24:99:8f:d9:83:48:8f:99:6d:95:13:bb: 43:3b:2e:49:4e:88:37:c1:bb:58:7f:fe:e1:bd:f8: bb:61:cd:f3:47:c0:99:a6:f1:f3:91:e8:78:7c:00: cb:61:c9:44:27:71:69:55:4a:7e:49:4d:ed:a2:a3: be:02:4c:00:ca:02:a8:ee:01:02:31:64:0f:52:2d: 13:74:76:36:b5:7a:b4:2d:71 Exponent: 3 (0x3) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 CRL Distribution Points: DirName:/C=US/O=Digital Signature Trust Co./OU=DSTCA E1/CN=CRL1 X509v3 Private Key Usage Period: Not Before: Dec 10 18:10:23 1998 GMT, Not After: Dec 10 18:10:23 2018 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:6A:79:7E:91:69:46:18:13:0A:02:77:A5:59:5B:60:98:25:0E:A2:F8 X509v3 Subject Key Identifier: 6A:79:7E:91:69:46:18:13:0A:02:77:A5:59:5B:60:98:25:0E:A2:F8 X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0 ..V4.0.... Signature Algorithm: sha1WithRSAEncryption 22:12:d8:7a:1d:dc:81:06:b6:09:65:b2:87:c8:1f:5e:b4:2f: e9:c4:1e:f2:3c:c1:bb:04:90:11:4a:83:4e:7e:93:b9:4d:42: c7:92:26:a0:5c:34:9a:38:72:f8:fd:6b:16:3e:20:ee:82:8b: 31:2a:93:36:85:23:88:8a:3c:03:68:d3:c9:09:0f:4d:fc:6c: a4:da:28:72:93:0e:89:80:b0:7d:fe:80:6f:65:6d:18:33:97: 8b:c2:6b:89:ee:60:3d:c8:9b:ef:7f:2b:32:62:73:93:cb:3c: e3:7b:e2:76:78:45:bc:a1:93:04:bb:86:9f:3a:5b:43:7a:c3: 8a:65 Digital Signature Trust Co. Global CA 2 ======================================= MD5 Fingerprint=6C:C9:A7:6E:47:F1:0C:E3:53:3B:78:4C:4D:C2:6A:C5 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIID2DCCAsACEQDQHkCLAAACfAAAAAIAAAABMA0GCSqGSIb3DQEBBQUAMIGpMQsw CQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENp dHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UE CxMIRFNUQ0EgWDExFjAUBgNVBAMTDURTVCBSb290Q0EgWDExITAfBgkqhkiG9w0B CQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTAeFw05ODEyMDExODE4NTVaFw0wODExMjgx ODE4NTVaMIGpMQswCQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMO U2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0 IENvLjERMA8GA1UECxMIRFNUQ0EgWDExFjAUBgNVBAMTDURTVCBSb290Q0EgWDEx ITAfBgkqhkiG9w0BCQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBANLGJrbnpT3BxGjVUG9TxW9JEwm4ryxIjRRqoxdf WvnTLnUv2Chi0ZMv/E3Uq4flCMeZ55I/db3rJbQVwZsZPdJEjdd0IG03Ao9pk1uK xBmd9LIO/BZsubEFkoPRhSxglD5FVaDZqwgh5mDoO3TymVBRaNADLbGAvqPYUrBE zUNKcI5YhZXhTizWLUFv1oTnyJhEykfbLCSlaSbPa7gnYsP0yXqSI+0TZ4KuRS5F 5X5yP4WdlGIQ5jyRoa13AOAV7POEgHJ6jm5gl8ckWRA0g1vhpaRptlc1HHhZxtMv OnNn7pTKBBMFYgZwI7P0fO5F2WQLW0mqpEPOJsREEmy43XkCAwEAATANBgkqhkiG 9w0BAQUFAAOCAQEAojeyP2n714Z5VEkxlTMr89EJFEliYIalsBHiUMIdBlc+Legz ZL6bqq1fG03UmZWii5rJYnK1aerZWKs17RWiQ9a2vAd5ZWRzfdd5ynvVWlHG4VME lo04z6MXrDlxawHDi1M8Y+nuecDkvpIyZHqzH5eUYr3qsiAVlfuX8ngvYzZAOONG Dx3drJXK50uQe7FLqdTF65raqtWjlBRGjS0f8zrWkzr2Pnn86Oawde3uPclwx12q gUtGJRzHbBXjlU4PqjI3lAoXJJIThFjSY28r9+ZbYgsTF7ANUkz+/m9c4pFuHf2k Ytdo+o56T9II2pPc8JIRetDccpMMc5NihWjQ9A== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: d0:1e:40:8b:00:00:02:7c:00:00:00:02:00:00:00:01 Signature Algorithm: sha1WithRSAEncryption Issuer: C=us, ST=Utah, L=Salt Lake City, O=Digital Signature Trust Co., OU=DSTCA X1, CN=DST RootCA X1/Email=ca@digsigtrust.com Validity Not Before: Dec 1 18:18:55 1998 GMT Not After : Nov 28 18:18:55 2008 GMT Subject: C=us, ST=Utah, L=Salt Lake City, O=Digital Signature Trust Co., OU=DSTCA X1, CN=DST RootCA X1/Email=ca@digsigtrust.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:d2:c6:26:b6:e7:a5:3d:c1:c4:68:d5:50:6f:53: c5:6f:49:13:09:b8:af:2c:48:8d:14:6a:a3:17:5f: 5a:f9:d3:2e:75:2f:d8:28:62:d1:93:2f:fc:4d:d4: ab:87:e5:08:c7:99:e7:92:3f:75:bd:eb:25:b4:15: c1:9b:19:3d:d2:44:8d:d7:74:20:6d:37:02:8f:69: 93:5b:8a:c4:19:9d:f4:b2:0e:fc:16:6c:b9:b1:05: 92:83:d1:85:2c:60:94:3e:45:55:a0:d9:ab:08:21: e6:60:e8:3b:74:f2:99:50:51:68:d0:03:2d:b1:80: be:a3:d8:52:b0:44:cd:43:4a:70:8e:58:85:95:e1: 4e:2c:d6:2d:41:6f:d6:84:e7:c8:98:44:ca:47:db: 2c:24:a5:69:26:cf:6b:b8:27:62:c3:f4:c9:7a:92: 23:ed:13:67:82:ae:45:2e:45:e5:7e:72:3f:85:9d: 94:62:10:e6:3c:91:a1:ad:77:00:e0:15:ec:f3:84: 80:72:7a:8e:6e:60:97:c7:24:59:10:34:83:5b:e1: a5:a4:69:b6:57:35:1c:78:59:c6:d3:2f:3a:73:67: ee:94:ca:04:13:05:62:06:70:23:b3:f4:7c:ee:45: d9:64:0b:5b:49:aa:a4:43:ce:26:c4:44:12:6c:b8: dd:79 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption a2:37:b2:3f:69:fb:d7:86:79:54:49:31:95:33:2b:f3:d1:09: 14:49:62:60:86:a5:b0:11:e2:50:c2:1d:06:57:3e:2d:e8:33: 64:be:9b:aa:ad:5f:1b:4d:d4:99:95:a2:8b:9a:c9:62:72:b5: 69:ea:d9:58:ab:35:ed:15:a2:43:d6:b6:bc:07:79:65:64:73: 7d:d7:79:ca:7b:d5:5a:51:c6:e1:53:04:96:8d:38:cf:a3:17: ac:39:71:6b:01:c3:8b:53:3c:63:e9:ee:79:c0:e4:be:92:32: 64:7a:b3:1f:97:94:62:bd:ea:b2:20:15:95:fb:97:f2:78:2f: 63:36:40:38:e3:46:0f:1d:dd:ac:95:ca:e7:4b:90:7b:b1:4b: a9:d4:c5:eb:9a:da:aa:d5:a3:94:14:46:8d:2d:1f:f3:3a:d6: 93:3a:f6:3e:79:fc:e8:e6:b0:75:ed:ee:3d:c9:70:c7:5d:aa: 81:4b:46:25:1c:c7:6c:15:e3:95:4e:0f:aa:32:37:94:0a:17: 24:92:13:84:58:d2:63:6f:2b:f7:e6:5b:62:0b:13:17:b0:0d: 52:4c:fe:fe:6f:5c:e2:91:6e:1d:fd:a4:62:d7:68:fa:8e:7a: 4f:d2:08:da:93:dc:f0:92:11:7a:d0:dc:72:93:0c:73:93:62: 85:68:d0:f4 Digital Signature Trust Co. Global CA 3 ======================================= MD5 Fingerprint=93:C2:8E:11:7B:D4:F3:03:19:BD:28:75:13:4A:45:4A PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJV UzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQL EwhEU1RDQSBFMjAeFw05ODEyMDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJ BgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4x ETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQC/ k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGODVvso LeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3o TQPMx7JSxhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCG SAGG+EIBAQQEAwIABzBoBgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMx JDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UECxMI RFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMTk5ODEyMDkxOTE3 MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQYMBaAFB6C TShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5 WzAMBgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqG SIb3DQEBBQUAA4GBAEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHR xdf0CiUPPXiBng+xZ8SQTGPdXqfiup/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVL B3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1mPnHfxsb1gYgAlihw6ID -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 913232846 (0x366ed3ce) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=Digital Signature Trust Co., OU=DSTCA E2 Validity Not Before: Dec 9 19:17:26 1998 GMT Not After : Dec 9 19:47:26 2018 GMT Subject: C=US, O=Digital Signature Trust Co., OU=DSTCA E2 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:bf:93:8f:17:92:ef:33:13:18:eb:10:7f:4e:16: bf:ff:06:8f:2a:85:bc:5e:f9:24:a6:24:88:b6:03: b7:c1:c3:5f:03:5b:d1:6f:ae:7e:42:ea:66:23:b8: 63:83:56:fb:28:2d:e1:38:8b:b4:ee:a8:01:e1:ce: 1c:b6:88:2a:22:46:85:fb:9f:a7:70:a9:47:14:3f: ce:de:65:f0:a8:71:f7:4f:26:6c:8c:bc:c6:b5:ef: de:49:27:ff:48:2a:7d:e8:4d:03:cc:c7:b2:52:c6: 17:31:13:3b:b5:4d:db:c8:c4:f6:c3:0f:24:2a:da: 0c:9d:e7:91:5b:80:cd:94:9d Exponent: 3 (0x3) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 CRL Distribution Points: DirName:/C=US/O=Digital Signature Trust Co./OU=DSTCA E2/CN=CRL1 X509v3 Private Key Usage Period: Not Before: Dec 9 19:17:26 1998 GMT, Not After: Dec 9 19:17:26 2018 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:1E:82:4D:28:65:80:3C:C9:41:6E:AC:35:2E:5A:CB:DE:EE:F8:39:5B X509v3 Subject Key Identifier: 1E:82:4D:28:65:80:3C:C9:41:6E:AC:35:2E:5A:CB:DE:EE:F8:39:5B X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0 ..V4.0.... Signature Algorithm: sha1WithRSAEncryption 47:8d:83:ad:62:f2:db:b0:9e:45:22:05:b9:a2:d6:03:0e:38: 72:e7:9e:fc:7b:e6:93:b6:9a:a5:a2:94:c8:34:1d:91:d1:c5: d7:f4:0a:25:0f:3d:78:81:9e:0f:b1:67:c4:90:4c:63:dd:5e: a7:e2:ba:9f:f5:f7:4d:a5:31:7b:9c:29:2d:4c:fe:64:3e:ec: b6:53:fe:ea:9b:ed:82:db:74:75:4b:07:79:6e:1e:d8:19:83: 73:de:f5:3e:d0:b5:de:e7:4b:68:7d:43:2e:2a:20:e1:7e:a0: 78:44:9e:08:f5:98:f9:c7:7f:1b:1b:d6:06:20:02:58:a1:c3: a2:03 Digital Signature Trust Co. Global CA 4 ======================================= MD5 Fingerprint=CD:3B:3D:62:5B:09:B8:09:36:87:9E:12:2F:71:64:BA PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIID2DCCAsACEQDQHkCLAAB3bQAAAAEAAAAEMA0GCSqGSIb3DQEBBQUAMIGpMQsw CQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENp dHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UE CxMIRFNUQ0EgWDIxFjAUBgNVBAMTDURTVCBSb290Q0EgWDIxITAfBgkqhkiG9w0B CQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTAeFw05ODExMzAyMjQ2MTZaFw0wODExMjcy MjQ2MTZaMIGpMQswCQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMO U2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0 IENvLjERMA8GA1UECxMIRFNUQ0EgWDIxFjAUBgNVBAMTDURTVCBSb290Q0EgWDIx ITAfBgkqhkiG9w0BCQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBANx18IzAdZaawGIfJvfE4Zrq4FZzW5nNAUSoCLbV p9oaBBg5kkp4o4HC9Xd6ULRw/5qrxsfKboNPQpj7Jgva3G3WqZlVUmfpKAOS3OWw BZoPFflrWXJW8vo5/Kpo7g8fEIMv/J36F5bdguPmRX3AS4BEH+0s4IT9kVySVGkl 5WJp3OXuAFK9MwutdQKFp2RQLcUZGTDAJtvJ0/0uma1ZtQtN1EGuhUhDWdy3qOKi 3sOP17ihYqZoUFLkzzGnlIXan0YyF1bl8utmPRL/Q9uY73fPy4GNNLHGUEom0eQ+ QVCvbK4iNC7Va26Dunm4dmVI2gkpZGMiuftHdoWMhkTLCdsCAwEAATANBgkqhkiG 9w0BAQUFAAOCAQEAtTYOXeFhKFoRZcA/gwN5Tb4opgsHAlKFzfiR0BBstWogWxyQ 2TA8xkieil5k+aFxd+8EJx8H6+Qm93N0yUQYGmbT4EOvkTvRyyzYdFQ6HE3K1GjN I3wdEJ5F6fYAbqbNGf9PLCmPV03Ed5K+4EwJ+11EhmYhqLkyolbV6YyDfFk/xPEL 553snr2cGA4+wjl5KLcDDQjLxufZATdQEOzMYRZA1K8xdHv8PzGn0EdzMzkbzE5q 10mDEQb+64JYMzJM8FasHpwvVpp7wUocpf1VNs78lk30sPDst2yC7S8xmUJMqbIN uBVd8d+6ybVK1GSYsyapMMj9puyrliGtf8J4tg== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: d0:1e:40:8b:00:00:77:6d:00:00:00:01:00:00:00:04 Signature Algorithm: sha1WithRSAEncryption Issuer: C=us, ST=Utah, L=Salt Lake City, O=Digital Signature Trust Co., OU=DSTCA X2, CN=DST RootCA X2/Email=ca@digsigtrust.com Validity Not Before: Nov 30 22:46:16 1998 GMT Not After : Nov 27 22:46:16 2008 GMT Subject: C=us, ST=Utah, L=Salt Lake City, O=Digital Signature Trust Co., OU=DSTCA X2, CN=DST RootCA X2/Email=ca@digsigtrust.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:dc:75:f0:8c:c0:75:96:9a:c0:62:1f:26:f7:c4: e1:9a:ea:e0:56:73:5b:99:cd:01:44:a8:08:b6:d5: a7:da:1a:04:18:39:92:4a:78:a3:81:c2:f5:77:7a: 50:b4:70:ff:9a:ab:c6:c7:ca:6e:83:4f:42:98:fb: 26:0b:da:dc:6d:d6:a9:99:55:52:67:e9:28:03:92: dc:e5:b0:05:9a:0f:15:f9:6b:59:72:56:f2:fa:39: fc:aa:68:ee:0f:1f:10:83:2f:fc:9d:fa:17:96:dd: 82:e3:e6:45:7d:c0:4b:80:44:1f:ed:2c:e0:84:fd: 91:5c:92:54:69:25:e5:62:69:dc:e5:ee:00:52:bd: 33:0b:ad:75:02:85:a7:64:50:2d:c5:19:19:30:c0: 26:db:c9:d3:fd:2e:99:ad:59:b5:0b:4d:d4:41:ae: 85:48:43:59:dc:b7:a8:e2:a2:de:c3:8f:d7:b8:a1: 62:a6:68:50:52:e4:cf:31:a7:94:85:da:9f:46:32: 17:56:e5:f2:eb:66:3d:12:ff:43:db:98:ef:77:cf: cb:81:8d:34:b1:c6:50:4a:26:d1:e4:3e:41:50:af: 6c:ae:22:34:2e:d5:6b:6e:83:ba:79:b8:76:65:48: da:09:29:64:63:22:b9:fb:47:76:85:8c:86:44:cb: 09:db Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption b5:36:0e:5d:e1:61:28:5a:11:65:c0:3f:83:03:79:4d:be:28: a6:0b:07:02:52:85:cd:f8:91:d0:10:6c:b5:6a:20:5b:1c:90: d9:30:3c:c6:48:9e:8a:5e:64:f9:a1:71:77:ef:04:27:1f:07: eb:e4:26:f7:73:74:c9:44:18:1a:66:d3:e0:43:af:91:3b:d1: cb:2c:d8:74:54:3a:1c:4d:ca:d4:68:cd:23:7c:1d:10:9e:45: e9:f6:00:6e:a6:cd:19:ff:4f:2c:29:8f:57:4d:c4:77:92:be: e0:4c:09:fb:5d:44:86:66:21:a8:b9:32:a2:56:d5:e9:8c:83: 7c:59:3f:c4:f1:0b:e7:9d:ec:9e:bd:9c:18:0e:3e:c2:39:79: 28:b7:03:0d:08:cb:c6:e7:d9:01:37:50:10:ec:cc:61:16:40: d4:af:31:74:7b:fc:3f:31:a7:d0:47:73:33:39:1b:cc:4e:6a: d7:49:83:11:06:fe:eb:82:58:33:32:4c:f0:56:ac:1e:9c:2f: 56:9a:7b:c1:4a:1c:a5:fd:55:36:ce:fc:96:4d:f4:b0:f0:ec: b7:6c:82:ed:2f:31:99:42:4c:a9:b2:0d:b8:15:5d:f1:df:ba: c9:b5:4a:d4:64:98:b3:26:a9:30:c8:fd:a6:ec:ab:96:21:ad: 7f:c2:78:b6 Entrust.net Global Secure Personal CA ===================================== MD5 Fingerprint=9A:77:19:18:ED:96:CF:DF:1B:B7:0E:F5:8D:B9:88:2E PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEgzCCA+ygAwIBAgIEOJ725DANBgkqhkiG9w0BAQQFADCBtDEUMBIGA1UEChML RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9HQ0NBX0NQUyBp bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAyMDAw IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENsaWVu dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMDAyMDcxNjE2NDBaFw0yMDAy MDcxNjQ2NDBaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 LmVudHJ1c3QubmV0L0dDQ0FfQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp YWIuKTElMCMGA1UECxMcKGMpIDIwMDAgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG A1UEAxMqRW50cnVzdC5uZXQgQ2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCTdLS25MVL1qFof2LV7PdRV7Ny Spj10InJrWPNTTVRaoTUrcloeW+46xHbh65cJFET8VQlhK8pK5/jgOLZy93GRUk0 iJBeAZfv6lOm3fzB3ksqJeTpNfpVBQbliXrqpBFXO/x8PTbNZzVtpKklWb1m9fkn 5JVn1j+SgF7yNH0rhQIDAQABo4IBnjCCAZowEQYJYIZIAYb4QgEBBAQDAgAHMIHd BgNVHR8EgdUwgdIwgc+ggcyggcmkgcYwgcMxFDASBgNVBAoTC0VudHJ1c3QubmV0 MUAwPgYDVQQLFDd3d3cuZW50cnVzdC5uZXQvR0NDQV9DUFMgaW5jb3JwLiBieSBy ZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMjAwMCBFbnRydXN0Lm5l dCBMaW1pdGVkMTMwMQYDVQQDEypFbnRydXN0Lm5ldCBDbGllbnQgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMjAwMDAy MDcxNjE2NDBagQ8yMDIwMDIwNzE2NDY0MFowCwYDVR0PBAQDAgEGMB8GA1UdIwQY MBaAFISLdP3FjcD/J20gN0V8/i3OutN9MB0GA1UdDgQWBBSEi3T9xY3A/ydtIDdF fP4tzrrTfTAMBgNVHRMEBTADAQH/MB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4w AwIEkDANBgkqhkiG9w0BAQQFAAOBgQBObzWAO9GK9Q6nIMstZVXQkvTnhLUGJoMS hAusO7JE7r3PQNsgDrpuFOow4DtifH+La3xKp9U1PL6oXOpLu5OOgGarDyn9TS2/ GpsKkMWr2tGzhtQvJFJcem3G8v7lTRowjJDyutdKPkN+1MhQGof4T4HHdguEOnKd zmVml64mXg== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 949941988 (0x389ef6e4) Signature Algorithm: md5WithRSAEncryption Issuer: O=Entrust.net, OU=www.entrust.net/GCCA_CPS incorp. by ref. (limits liab.), OU=(c) 2000 Entrust.net Limited, CN=Entrust.net Client Certification Authority Validity Not Before: Feb 7 16:16:40 2000 GMT Not After : Feb 7 16:46:40 2020 GMT Subject: O=Entrust.net, OU=www.entrust.net/GCCA_CPS incorp. by ref. (limits liab.), OU=(c) 2000 Entrust.net Limited, CN=Entrust.net Client Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:93:74:b4:b6:e4:c5:4b:d6:a1:68:7f:62:d5:ec: f7:51:57:b3:72:4a:98:f5:d0:89:c9:ad:63:cd:4d: 35:51:6a:84:d4:ad:c9:68:79:6f:b8:eb:11:db:87: ae:5c:24:51:13:f1:54:25:84:af:29:2b:9f:e3:80: e2:d9:cb:dd:c6:45:49:34:88:90:5e:01:97:ef:ea: 53:a6:dd:fc:c1:de:4b:2a:25:e4:e9:35:fa:55:05: 06:e5:89:7a:ea:a4:11:57:3b:fc:7c:3d:36:cd:67: 35:6d:a4:a9:25:59:bd:66:f5:f9:27:e4:95:67:d6: 3f:92:80:5e:f2:34:7d:2b:85 Exponent: 65537 (0x10001) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 CRL Distribution Points: DirName:/O=Entrust.net/OU=www.entrust.net/GCCA_CPS incorp. by ref. (limits liab.)/OU=(c) 2000 Entrust.net Limited/CN=Entrust.net Client Certification Authority/CN=CRL1 X509v3 Private Key Usage Period: Not Before: Feb 7 16:16:40 2000 GMT, Not After: Feb 7 16:46:40 2020 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:84:8B:74:FD:C5:8D:C0:FF:27:6D:20:37:45:7C:FE:2D:CE:BA:D3:7D X509v3 Subject Key Identifier: 84:8B:74:FD:C5:8D:C0:FF:27:6D:20:37:45:7C:FE:2D:CE:BA:D3:7D X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0...V5.0:4.0.... Signature Algorithm: md5WithRSAEncryption 4e:6f:35:80:3b:d1:8a:f5:0e:a7:20:cb:2d:65:55:d0:92:f4: e7:84:b5:06:26:83:12:84:0b:ac:3b:b2:44:ee:bd:cf:40:db: 20:0e:ba:6e:14:ea:30:e0:3b:62:7c:7f:8b:6b:7c:4a:a7:d5: 35:3c:be:a8:5c:ea:4b:bb:93:8e:80:66:ab:0f:29:fd:4d:2d: bf:1a:9b:0a:90:c5:ab:da:d1:b3:86:d4:2f:24:52:5c:7a:6d: c6:f2:fe:e5:4d:1a:30:8c:90:f2:ba:d7:4a:3e:43:7e:d4:c8: 50:1a:87:f8:4f:81:c7:76:0b:84:3a:72:9d:ce:65:66:97:ae: 26:5e Entrust.net Global Secure Server CA =================================== MD5 Fingerprint=9D:66:6A:CC:FF:D5:F5:43:B4:BF:8C:16:D1:2B:A8:99 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIElTCCA/6gAwIBAgIEOJsRPDANBgkqhkiG9w0BAQQFADCBujEUMBIGA1UEChML RW50cnVzdC5uZXQxPzA9BgNVBAsUNnd3dy5lbnRydXN0Lm5ldC9TU0xfQ1BTIGlu Y29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDIwMDAg RW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJl IFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMDAyMDQxNzIwMDBa Fw0yMDAyMDQxNzUwMDBaMIG6MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDE/MD0GA1UE CxQ2d3d3LmVudHJ1c3QubmV0L1NTTF9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMjAwMCBFbnRydXN0Lm5ldCBMaW1pdGVk MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp b24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHwV9OcfHO 8GCGD9JYf9Mzly0XonUwtZZkJi9ow0SrqHXmAGc0V55lxyKbc+bT3QgON1WqJUaB bL3+qPZ1V1eMkGxKwz6LS0MKyRFWmponIpnPVZ5h2QLifLZ8OAfc439PmrkDQYC2 dWcTC5/oVzbIXQA23mYU2m52H083jIITiQIDAQABo4IBpDCCAaAwEQYJYIZIAYb4 QgEBBAQDAgAHMIHjBgNVHR8EgdswgdgwgdWggdKggc+kgcwwgckxFDASBgNVBAoT C0VudHJ1c3QubmV0MT8wPQYDVQQLFDZ3d3cuZW50cnVzdC5uZXQvU1NMX0NQUyBp bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAyMDAw IEVudHJ1c3QubmV0IExpbWl0ZWQxOjA4BgNVBAMTMUVudHJ1c3QubmV0IFNlY3Vy ZSBTZXJ2ZXIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxDTALBgNVBAMTBENSTDEw KwYDVR0QBCQwIoAPMjAwMDAyMDQxNzIwMDBagQ8yMDIwMDIwNDE3NTAwMFowCwYD VR0PBAQDAgEGMB8GA1UdIwQYMBaAFMtswGvjuz7L/CKc/vuLkpyw8m4iMB0GA1Ud DgQWBBTLbMBr47s+y/winP77i5KcsPJuIjAMBgNVHRMEBTADAQH/MB0GCSqGSIb2 fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0BAQQFAAOBgQBi24GRzsia d0Iv7L0no1MPUBvqTpLwqa+poLpIYcvvyQbvH9X07t9WLebKahlzqlO+krNQAraF JnJj2HVQYnUUt7NQGj/KEQALhUVpbbalrlHhStyCP2yMNLJ3a9kC9n8O6mUE8c1U yrrJzOCE98g+EZfTYAkYvAX/bIkz8OwVDw== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 949686588 (0x389b113c) Signature Algorithm: md5WithRSAEncryption Issuer: O=Entrust.net, OU=www.entrust.net/SSL_CPS incorp. by ref. (limits liab.), OU=(c) 2000 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority Validity Not Before: Feb 4 17:20:00 2000 GMT Not After : Feb 4 17:50:00 2020 GMT Subject: O=Entrust.net, OU=www.entrust.net/SSL_CPS incorp. by ref. (limits liab.), OU=(c) 2000 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c7:c1:5f:4e:71:f1:ce:f0:60:86:0f:d2:58:7f: d3:33:97:2d:17:a2:75:30:b5:96:64:26:2f:68:c3: 44:ab:a8:75:e6:00:67:34:57:9e:65:c7:22:9b:73: e6:d3:dd:08:0e:37:55:aa:25:46:81:6c:bd:fe:a8: f6:75:57:57:8c:90:6c:4a:c3:3e:8b:4b:43:0a:c9: 11:56:9a:9a:27:22:99:cf:55:9e:61:d9:02:e2:7c: b6:7c:38:07:dc:e3:7f:4f:9a:b9:03:41:80:b6:75: 67:13:0b:9f:e8:57:36:c8:5d:00:36:de:66:14:da: 6e:76:1f:4f:37:8c:82:13:89 Exponent: 65537 (0x10001) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 CRL Distribution Points: DirName:/O=Entrust.net/OU=www.entrust.net/SSL_CPS incorp. by ref. (limits liab.)/OU=(c) 2000 Entrust.net Limited/CN=Entrust.net Secure Server Certification Authority/CN=CRL1 X509v3 Private Key Usage Period: Not Before: Feb 4 17:20:00 2000 GMT, Not After: Feb 4 17:50:00 2020 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:CB:6C:C0:6B:E3:BB:3E:CB:FC:22:9C:FE:FB:8B:92:9C:B0:F2:6E:22 X509v3 Subject Key Identifier: CB:6C:C0:6B:E3:BB:3E:CB:FC:22:9C:FE:FB:8B:92:9C:B0:F2:6E:22 X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0...V5.0:4.0.... Signature Algorithm: md5WithRSAEncryption 62:db:81:91:ce:c8:9a:77:42:2f:ec:bd:27:a3:53:0f:50:1b: ea:4e:92:f0:a9:af:a9:a0:ba:48:61:cb:ef:c9:06:ef:1f:d5: f4:ee:df:56:2d:e6:ca:6a:19:73:aa:53:be:92:b3:50:02:b6: 85:26:72:63:d8:75:50:62:75:14:b7:b3:50:1a:3f:ca:11:00: 0b:85:45:69:6d:b6:a5:ae:51:e1:4a:dc:82:3f:6c:8c:34:b2: 77:6b:d9:02:f6:7f:0e:ea:65:04:f1:cd:54:ca:ba:c9:cc:e0: 84:f7:c8:3e:11:97:d3:60:09:18:bc:05:ff:6c:89:33:f0:ec: 15:0f Entrust.net Premium 2048 Secure Server CA ========================================= MD5 Fingerprint=BA:21:EA:20:D6:DD:DB:8F:C1:57:8B:40:AD:A1:FC:FC PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0xOTEy MjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH 4QIDAQABo3QwcjARBglghkgBhvhCAQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGA vtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdERgL7YibkIozH5oSQJFrlwMB0G CSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEA WUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQ h7A6tcOdBTcSo8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18 f3v/rxzP5tsHrV7bhZ3QKw0z2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfN B/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjXOP/swNlQ8C5LWK5Gb9Auw2DaclVy vUxFnmG6v4SBkgPR0ml8xQ== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 946059622 (0x3863b966) Signature Algorithm: sha1WithRSAEncryption Issuer: O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048) Validity Not Before: Dec 24 17:50:51 1999 GMT Not After : Dec 24 18:20:51 2019 GMT Subject: O=Entrust.net, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Certification Authority (2048) Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:ad:4d:4b:a9:12:86:b2:ea:a3:20:07:15:16:64: 2a:2b:4b:d1:bf:0b:4a:4d:8e:ed:80:76:a5:67:b7: 78:40:c0:73:42:c8:68:c0:db:53:2b:dd:5e:b8:76: 98:35:93:8b:1a:9d:7c:13:3a:0e:1f:5b:b7:1e:cf: e5:24:14:1e:b1:81:a9:8d:7d:b8:cc:6b:4b:03:f1: 02:0c:dc:ab:a5:40:24:00:7f:74:94:a1:9d:08:29: b3:88:0b:f5:87:77:9d:55:cd:e4:c3:7e:d7:6a:64: ab:85:14:86:95:5b:97:32:50:6f:3d:c8:ba:66:0c: e3:fc:bd:b8:49:c1:76:89:49:19:fd:c0:a8:bd:89: a3:67:2f:c6:9f:bc:71:19:60:b8:2d:e9:2c:c9:90: 76:66:7b:94:e2:af:78:d6:65:53:5d:3c:d6:9c:b2: cf:29:03:f9:2f:a4:50:b2:d4:48:ce:05:32:55:8a: fd:b2:64:4c:0e:e4:98:07:75:db:7f:df:b9:08:55: 60:85:30:29:f9:7b:48:a4:69:86:e3:35:3f:1e:86: 5d:7a:7a:15:bd:ef:00:8e:15:22:54:17:00:90:26: 93:bc:0e:49:68:91:bf:f8:47:d3:9d:95:42:c1:0e: 4d:df:6f:26:cf:c3:18:21:62:66:43:70:d6:d5:c0: 07:e1 Exponent: 65537 (0x10001) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 Authority Key Identifier: keyid:55:E4:81:D1:11:80:BE:D8:89:B9:08:A3:31:F9:A1:24:09:16:B9:70 X509v3 Subject Key Identifier: 55:E4:81:D1:11:80:BE:D8:89:B9:08:A3:31:F9:A1:24:09:16:B9:70 1.2.840.113533.7.65.0: 0...V5.0:4.0.... Signature Algorithm: sha1WithRSAEncryption 59:47:ac:21:84:8a:17:c9:9c:89:53:1e:ba:80:85:1a:c6:3c: 4e:3e:b1:9c:b6:7c:c6:92:5d:18:64:02:e3:d3:06:08:11:61: 7c:63:e3:2b:9d:31:03:70:76:d2:a3:28:a0:f4:bb:9a:63:73: ed:6d:e5:2a:db:ed:14:a9:2b:c6:36:11:d0:2b:eb:07:8b:a5: da:9e:5c:19:9d:56:12:f5:54:29:c8:05:ed:b2:12:2a:8d:f4: 03:1b:ff:e7:92:10:87:b0:3a:b5:c3:9d:05:37:12:a3:c7:f4: 15:b9:d5:a4:39:16:9b:53:3a:23:91:f1:a8:82:a2:6a:88:68: c1:79:02:22:bc:aa:a6:d6:ae:df:b0:14:5f:b8:87:d0:dd:7c: 7f:7b:ff:af:1c:cf:e6:db:07:ad:5e:db:85:9d:d0:2b:0d:33: db:04:d1:e6:49:40:13:2b:76:fb:3e:e9:9c:89:0f:15:ce:18: b0:85:78:21:4f:6b:4f:0e:fa:36:67:cd:07:f2:ff:08:d0:e2: de:d9:bf:2a:af:b8:87:86:21:3c:04:ca:b7:94:68:7f:cf:3c: e9:98:d7:38:ff:ec:c0:d9:50:f0:2e:4b:58:ae:46:6f:d0:2e: c3:60:da:72:55:72:bd:4c:45:9e:61:ba:bf:84:81:92:03:d1: d2:69:7c:c5 Entrust.net Secure Personal CA ============================== MD5 Fingerprint=0C:41:2F:13:5B:A0:54:F5:96:66:2D:7E:CD:0E:03:F4 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIE7TCCBFagAwIBAgIEOAOR7jANBgkqhkiG9w0BAQQFADCByTELMAkGA1UEBhMC VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MUgwRgYDVQQLFD93d3cuZW50cnVzdC5u ZXQvQ2xpZW50X0NBX0luZm8vQ1BTIGluY29ycC4gYnkgcmVmLiBsaW1pdHMgbGlh Yi4xJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV BAMTKkVudHJ1c3QubmV0IENsaWVudCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe Fw05OTEwMTIxOTI0MzBaFw0xOTEwMTIxOTU0MzBaMIHJMQswCQYDVQQGEwJVUzEU MBIGA1UEChMLRW50cnVzdC5uZXQxSDBGBgNVBAsUP3d3dy5lbnRydXN0Lm5ldC9D bGllbnRfQ0FfSW5mby9DUFMgaW5jb3JwLiBieSByZWYuIGxpbWl0cyBsaWFiLjEl MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMq RW50cnVzdC5uZXQgQ2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0G CSqGSIb3DQEBAQUAA4GLADCBhwKBgQDIOpleMRffrCdvkHvkGf9FozTC28GoT/Bo 6oT9n3V5z8GKUZSvx1cDR2SerYIbWtp/N3hHuzeYEpbOxhN979IMMFGpOZ5V+Pux 5zDeg7K6PvHViTs7hbqqdCz+PzFur5GVbgbUB01LLFZHGARS2g4Qk79jkJvh34zm AqTmT173iwIBA6OCAeAwggHcMBEGCWCGSAGG+EIBAQQEAwIABzCCASIGA1UdHwSC ARkwggEVMIHkoIHhoIHepIHbMIHYMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50 cnVzdC5uZXQxSDBGBgNVBAsUP3d3dy5lbnRydXN0Lm5ldC9DbGllbnRfQ0FfSW5m by9DUFMgaW5jb3JwLiBieSByZWYuIGxpbWl0cyBsaWFiLjElMCMGA1UECxMcKGMp IDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5uZXQg Q2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCyg KqAohiZodHRwOi8vd3d3LmVudHJ1c3QubmV0L0NSTC9DbGllbnQxLmNybDArBgNV HRAEJDAigA8xOTk5MTAxMjE5MjQzMFqBDzIwMTkxMDEyMTkyNDMwWjALBgNVHQ8E BAMCAQYwHwYDVR0jBBgwFoAUxPucKXuXzUyW/O5bs8qZdIuV6kwwHQYDVR0OBBYE FMT7nCl7l81MlvzuW7PKmXSLlepMMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEEBQADgYEAP66K8ddmAwWePvrqHEa7 pFuPeJoSSJn59DXeDDYHAmsQOokUgZwxpnyyQbJq5wcBoUv5nyU7lsqZwz6hURzz wy5E97BnRqqS5TvaHBkUODDV4qIxJS7x7EU47fgGWANzYrAQMY9Av2TgXD7FTx/a EkP/TOYGJqibGapEPHayXOw= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 939758062 (0x380391ee) Signature Algorithm: md5WithRSAEncryption Issuer: C=US, O=Entrust.net, OU=www.entrust.net/Client_CA_Info/CPS incorp. by ref. limits liab., OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Client Certification Authority Validity Not Before: Oct 12 19:24:30 1999 GMT Not After : Oct 12 19:54:30 2019 GMT Subject: C=US, O=Entrust.net, OU=www.entrust.net/Client_CA_Info/CPS incorp. by ref. limits liab., OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Client Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c8:3a:99:5e:31:17:df:ac:27:6f:90:7b:e4:19: ff:45:a3:34:c2:db:c1:a8:4f:f0:68:ea:84:fd:9f: 75:79:cf:c1:8a:51:94:af:c7:57:03:47:64:9e:ad: 82:1b:5a:da:7f:37:78:47:bb:37:98:12:96:ce:c6: 13:7d:ef:d2:0c:30:51:a9:39:9e:55:f8:fb:b1:e7: 30:de:83:b2:ba:3e:f1:d5:89:3b:3b:85:ba:aa:74: 2c:fe:3f:31:6e:af:91:95:6e:06:d4:07:4d:4b:2c: 56:47:18:04:52:da:0e:10:93:bf:63:90:9b:e1:df: 8c:e6:02:a4:e6:4f:5e:f7:8b Exponent: 3 (0x3) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 CRL Distribution Points: DirName:/C=US/O=Entrust.net/OU=www.entrust.net/Client_CA_Info/CPS incorp. by ref. limits liab./OU=(c) 1999 Entrust.net Limited/CN=Entrust.net Client Certification Authority/CN=CRL1 URI:http://www.entrust.net/CRL/Client1.crl X509v3 Private Key Usage Period: Not Before: Oct 12 19:24:30 1999 GMT, Not After: Oct 12 19:24:30 2019 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:C4:FB:9C:29:7B:97:CD:4C:96:FC:EE:5B:B3:CA:99:74:8B:95:EA:4C X509v3 Subject Key Identifier: C4:FB:9C:29:7B:97:CD:4C:96:FC:EE:5B:B3:CA:99:74:8B:95:EA:4C X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0 ..V4.0.... Signature Algorithm: md5WithRSAEncryption 3f:ae:8a:f1:d7:66:03:05:9e:3e:fa:ea:1c:46:bb:a4:5b:8f: 78:9a:12:48:99:f9:f4:35:de:0c:36:07:02:6b:10:3a:89:14: 81:9c:31:a6:7c:b2:41:b2:6a:e7:07:01:a1:4b:f9:9f:25:3b: 96:ca:99:c3:3e:a1:51:1c:f3:c3:2e:44:f7:b0:67:46:aa:92: e5:3b:da:1c:19:14:38:30:d5:e2:a2:31:25:2e:f1:ec:45:38: ed:f8:06:58:03:73:62:b0:10:31:8f:40:bf:64:e0:5c:3e:c5: 4f:1f:da:12:43:ff:4c:e6:06:26:a8:9b:19:aa:44:3c:76:b2: 5c:ec Entrust.net Secure Server CA ============================ MD5 Fingerprint=DF:F2:80:73:CC:F1:E6:61:73:FC:F5:42:E9:C5:7C:EE PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1 MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/ I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3 wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5 BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0 MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN 95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd 2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 927650371 (0x374ad243) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority Validity Not Before: May 25 16:09:40 1999 GMT Not After : May 25 16:39:40 2019 GMT Subject: C=US, O=Entrust.net, OU=www.entrust.net/CPS incorp. by ref. (limits liab.), OU=(c) 1999 Entrust.net Limited, CN=Entrust.net Secure Server Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:cd:28:83:34:54:1b:89:f3:0f:af:37:91:31:ff: af:31:60:c9:a8:e8:b2:10:68:ed:9f:e7:93:36:f1: 0a:64:bb:47:f5:04:17:3f:23:47:4d:c5:27:19:81: 26:0c:54:72:0d:88:2d:d9:1f:9a:12:9f:bc:b3:71: d3:80:19:3f:47:66:7b:8c:35:28:d2:b9:0a:df:24: da:9c:d6:50:79:81:7a:5a:d3:37:f7:c2:4a:d8:29: 92:26:64:d1:e4:98:6c:3a:00:8a:f5:34:9b:65:f8: ed:e3:10:ff:fd:b8:49:58:dc:a0:de:82:39:6b:81: b1:16:19:61:b9:54:b6:e6:43 Exponent: 3 (0x3) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 CRL Distribution Points: DirName:/C=US/O=Entrust.net/OU=www.entrust.net/CPS incorp. by ref. (limits liab.)/OU=(c) 1999 Entrust.net Limited/CN=Entrust.net Secure Server Certification Authority/CN=CRL1 URI:http://www.entrust.net/CRL/net1.crl X509v3 Private Key Usage Period: Not Before: May 25 16:09:40 1999 GMT, Not After: May 25 16:09:40 2019 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:F0:17:62:13:55:3D:B3:FF:0A:00:6B:FB:50:84:97:F3:ED:62:D0:1A X509v3 Subject Key Identifier: F0:17:62:13:55:3D:B3:FF:0A:00:6B:FB:50:84:97:F3:ED:62:D0:1A X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0 ..V4.0.... Signature Algorithm: sha1WithRSAEncryption 90:dc:30:02:fa:64:74:c2:a7:0a:a5:7c:21:8d:34:17:a8:fb: 47:0e:ff:25:7c:8d:13:0a:fb:e4:98:b5:ef:8c:f8:c5:10:0d: f7:92:be:f1:c3:d5:d5:95:6a:04:bb:2c:ce:26:36:65:c8:31: c6:e7:ee:3f:e3:57:75:84:7a:11:ef:46:4f:18:f4:d3:98:bb: a8:87:32:ba:72:f6:3c:e2:3d:9f:d7:1d:d9:c3:60:43:8c:58: 0e:22:96:2f:62:a3:2c:1f:ba:ad:05:ef:ab:32:78:87:a0:54: 73:19:b5:5c:05:f9:52:3e:6d:2d:45:0b:f7:0a:93:ea:ed:06: f9:b2 Equifax Secure CA ================= MD5 Fingerprint=67:CB:9D:C0:13:24:8A:82:9B:B2:17:1E:D1:1B:EC:D4 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1 MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y 7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh 1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4 -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 903804111 (0x35def4cf) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=Equifax, OU=Equifax Secure Certificate Authority Validity Not Before: Aug 22 16:41:51 1998 GMT Not After : Aug 22 16:41:51 2018 GMT Subject: C=US, O=Equifax, OU=Equifax Secure Certificate Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c1:5d:b1:58:67:08:62:ee:a0:9a:2d:1f:08:6d: 91:14:68:98:0a:1e:fe:da:04:6f:13:84:62:21:c3: d1:7c:ce:9f:05:e0:b8:01:f0:4e:34:ec:e2:8a:95: 04:64:ac:f1:6b:53:5f:05:b3:cb:67:80:bf:42:02: 8e:fe:dd:01:09:ec:e1:00:14:4f:fc:fb:f0:0c:dd: 43:ba:5b:2b:e1:1f:80:70:99:15:57:93:16:f1:0f: 97:6a:b7:c2:68:23:1c:cc:4d:59:30:ac:51:1e:3b: af:2b:d6:ee:63:45:7b:c5:d9:5f:50:d2:e3:50:0f: 3a:88:e7:bf:14:fd:e0:c7:b9 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 CRL Distribution Points: DirName:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority/CN=CRL1 X509v3 Private Key Usage Period: Not After: Aug 22 16:41:51 2018 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:48:E6:68:F9:2B:D2:B2:95:D7:47:D8:23:20:10:4F:33:98:90:9F:D4 X509v3 Subject Key Identifier: 48:E6:68:F9:2B:D2:B2:95:D7:47:D8:23:20:10:4F:33:98:90:9F:D4 X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0...V3.0c.... Signature Algorithm: sha1WithRSAEncryption 58:ce:29:ea:fc:f7:de:b5:ce:02:b9:17:b5:85:d1:b9:e3:e0: 95:cc:25:31:0d:00:a6:92:6e:7f:b6:92:63:9e:50:95:d1:9a: 6f:e4:11:de:63:85:6e:98:ee:a8:ff:5a:c8:d3:55:b2:66:71: 57:de:c0:21:eb:3d:2a:a7:23:49:01:04:86:42:7b:fc:ee:7f: a2:16:52:b5:67:67:d3:40:db:3b:26:58:b2:28:77:3d:ae:14: 77:61:d6:fa:2a:66:27:a0:0d:fa:a7:73:5c:ea:70:f1:94:21: 65:44:5f:fa:fc:ef:29:68:a9:a2:87:79:ef:79:ef:4f:ac:07: 77:38 Equifax Secure eBusiness CA 1 ============================= MD5 Fingerprint=64:9C:EF:2E:44:FC:C6:8F:52:07:D0:51:73:8F:CB:3D PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEc MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBT ZWN1cmUgZUJ1c2luZXNzIENBLTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQw MDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5j LjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENBLTEwgZ8wDQYJ KoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ1MRo RvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBu WqDZQu4aIZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKw Env+j6YDAgMBAAGjZjBkMBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTAD AQH/MB8GA1UdIwQYMBaAFEp4MlIR21kWNl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRK eDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQFAAOBgQB1W6ibAxHm6VZM zfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5lSE/9dR+ WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN /Bf+KpYrtWKmpj29f5JZzVoqgrI3eQ== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 4 (0x4) Signature Algorithm: md5WithRSAEncryption Issuer: C=US, O=Equifax Secure Inc., CN=Equifax Secure eBusiness CA-1 Validity Not Before: Jun 21 04:00:00 1999 GMT Not After : Jun 21 04:00:00 2020 GMT Subject: C=US, O=Equifax Secure Inc., CN=Equifax Secure eBusiness CA-1 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:ce:2f:19:bc:17:b7:77:de:93:a9:5f:5a:0d:17: 4f:34:1a:0c:98:f4:22:d9:59:d4:c4:68:46:f0:b4: 35:c5:85:03:20:c6:af:45:a5:21:51:45:41:eb:16: 58:36:32:6f:e2:50:62:64:f9:fd:51:9c:aa:24:d9: f4:9d:83:2a:87:0a:21:d3:12:38:34:6c:8d:00:6e: 5a:a0:d9:42:ee:1a:21:95:f9:52:4c:55:5a:c5:0f: 38:4f:46:fa:6d:f8:2e:35:d6:1d:7c:eb:e2:f0:b0: 75:80:c8:a9:13:ac:be:88:ef:3a:6e:ab:5f:2a:38: 62:02:b0:12:7b:fe:8f:a6:03 Exponent: 65537 (0x10001) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 Basic Constraints: critical CA:TRUE X509v3 Authority Key Identifier: keyid:4A:78:32:52:11:DB:59:16:36:5E:DF:C1:14:36:40:6A:47:7C:4C:A1 X509v3 Subject Key Identifier: 4A:78:32:52:11:DB:59:16:36:5E:DF:C1:14:36:40:6A:47:7C:4C:A1 Signature Algorithm: md5WithRSAEncryption 75:5b:a8:9b:03:11:e6:e9:56:4c:cd:f9:a9:4c:c0:0d:9a:f3: cc:65:69:e6:25:76:cc:59:b7:d6:54:c3:1d:cd:99:ac:19:dd: b4:85:d5:e0:3d:fc:62:20:a7:84:4b:58:65:f1:e2:f9:95:21: 3f:f5:d4:7e:58:1e:47:87:54:3e:58:a1:b5:b5:f8:2a:ef:71: e7:bc:c3:f6:b1:49:46:e2:d7:a0:6b:e5:56:7a:9a:27:98:7c: 46:62:14:e7:c9:fc:6e:03:12:79:80:38:1d:48:82:8d:fc:17: fe:2a:96:2b:b5:62:a6:a6:3d:bd:7f:92:59:cd:5a:2a:82:b2: 37:79 Equifax Secure eBusiness CA 2 ============================= MD5 Fingerprint=AA:BF:BF:64:97:DA:98:1D:6F:C6:08:3A:95:70:33:CA PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV UzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2Vj dXJlIGVCdXNpbmVzcyBDQS0yMB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0 NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkVxdWlmYXggU2VjdXJlMSYwJAYD VQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCBnzANBgkqhkiG9w0B AQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn2Z0G vxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/ BPO3QSQ5BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0C AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEX MBUGA1UEChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJl IGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTkw NjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9euSBIplBq y/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQF MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA A4GBAAyGgq3oThr1jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy 0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1 E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUmV+GRMOrN -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 930140085 (0x3770cfb5) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=Equifax Secure, OU=Equifax Secure eBusiness CA-2 Validity Not Before: Jun 23 12:14:45 1999 GMT Not After : Jun 23 12:14:45 2019 GMT Subject: C=US, O=Equifax Secure, OU=Equifax Secure eBusiness CA-2 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:e4:39:39:93:1e:52:06:1b:28:36:f8:b2:a3:29: c5:ed:8e:b2:11:bd:fe:eb:e7:b4:74:c2:8f:ff:05: e7:d9:9d:06:bf:12:c8:3f:0e:f2:d6:d1:24:b2:11: de:d1:73:09:8a:d4:b1:2c:98:09:0d:1e:50:46:b2: 83:a6:45:8d:62:68:bb:85:1b:20:70:32:aa:40:cd: a6:96:5f:c4:71:37:3f:04:f3:b7:41:24:39:07:1a: 1e:2e:61:58:a0:12:0b:e5:a5:df:c5:ab:ea:37:71: cc:1c:c8:37:3a:b9:97:52:a7:ac:c5:6a:24:94:4e: 9c:7b:cf:c0:6a:d6:df:21:bd Exponent: 65537 (0x10001) X509v3 extensions: X509v3 CRL Distribution Points: DirName:/C=US/O=Equifax Secure/OU=Equifax Secure eBusiness CA-2/CN=CRL1 X509v3 Private Key Usage Period: Not After: Jun 23 12:14:45 2019 GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:50:9E:0B:EA:AF:5E:B9:20:48:A6:50:6A:CB:FD:D8:20:7A:A7:82:76 X509v3 Subject Key Identifier: 50:9E:0B:EA:AF:5E:B9:20:48:A6:50:6A:CB:FD:D8:20:7A:A7:82:76 X509v3 Basic Constraints: CA:TRUE 1.2.840.113533.7.65.0: 0...V3.0c.... Signature Algorithm: sha1WithRSAEncryption 0c:86:82:ad:e8:4e:1a:f5:8e:89:27:e2:35:58:3d:29:b4:07: 8f:36:50:95:bf:6e:c1:9e:eb:c4:90:b2:85:a8:bb:b7:42:e0: 0f:07:39:df:fb:9e:90:b2:d1:c1:3e:53:9f:03:44:b0:7e:4b: f4:6f:e4:7c:1f:e7:e2:b1:e4:b8:9a:ef:c3:bd:ce:de:0b:32: 34:d9:de:28:ed:33:6b:c4:d4:d7:3d:12:58:ab:7d:09:2d:cb: 70:f5:13:8a:94:a1:27:a4:d6:70:c5:6d:94:b5:c9:7d:9d:a0: d2:c6:08:49:d9:66:9b:a6:d3:f4:0b:dc:c5:26:57:e1:91:30: ea:cd Equifax Secure Global eBusiness CA ================================== MD5 Fingerprint=8F:5D:77:06:27:C4:98:3C:5B:93:78:E7:D7:7D:9B:CC PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEc MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBT ZWN1cmUgR2xvYmFsIGVCdXNpbmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIw MDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0VxdWlmYXggU2Vj dXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEdsb2JhbCBlQnVzaW5l c3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRVPEnC UdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc 58O/gGzNqfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/ o5brhTMhHD4ePmBudpxnhcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAH MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUvqigdHJQa0S3ySPY+6j/s1dr aGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hsMA0GCSqGSIb3DQEBBAUA A4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okENI7SS+RkA Z70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv 8qIYNMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: md5WithRSAEncryption Issuer: C=US, O=Equifax Secure Inc., CN=Equifax Secure Global eBusiness CA-1 Validity Not Before: Jun 21 04:00:00 1999 GMT Not After : Jun 21 04:00:00 2020 GMT Subject: C=US, O=Equifax Secure Inc., CN=Equifax Secure Global eBusiness CA-1 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:ba:e7:17:90:02:65:b1:34:55:3c:49:c2:51:d5: df:a7:d1:37:8f:d1:e7:81:73:41:52:60:9b:9d:a1: 17:26:78:ad:c7:b1:e8:26:94:32:b5:de:33:8d:3a: 2f:db:f2:9a:7a:5a:73:98:a3:5c:e9:fb:8a:73:1b: 5c:e7:c3:bf:80:6c:cd:a9:f4:d6:2b:c0:f7:f9:99: aa:63:a2:b1:47:02:0f:d4:e4:51:3a:12:3c:6c:8a: 5a:54:84:70:db:c1:c5:90:cf:72:45:cb:a8:59:c0: cd:33:9d:3f:a3:96:eb:85:33:21:1c:3e:1e:3e:60: 6e:76:9c:67:85:c5:c8:c3:61 Exponent: 65537 (0x10001) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 Basic Constraints: critical CA:TRUE X509v3 Authority Key Identifier: keyid:BE:A8:A0:74:72:50:6B:44:B7:C9:23:D8:FB:A8:FF:B3:57:6B:68:6C X509v3 Subject Key Identifier: BE:A8:A0:74:72:50:6B:44:B7:C9:23:D8:FB:A8:FF:B3:57:6B:68:6C Signature Algorithm: md5WithRSAEncryption 30:e2:01:51:aa:c7:ea:5f:da:b9:d0:65:0f:30:d6:3e:da:0d: 14:49:6e:91:93:27:14:31:ef:c4:f7:2d:45:f8:ec:c7:bf:a2: 41:0d:23:b4:92:f9:19:00:67:bd:01:af:cd:e0:71:fc:5a:cf: 64:c4:e0:96:98:d0:a3:40:e2:01:8a:ef:27:07:f1:65:01:8a: 44:2d:06:65:75:52:c0:86:10:20:21:5f:6c:6b:0f:6c:ae:09: 1c:af:f2:a2:18:34:c4:75:a4:73:1c:f1:8d:dc:ef:ad:f9:b3: 76:b4:92:bf:dc:95:10:1e:be:cb:c8:3b:5a:84:60:19:56:94: a9:55 GeoTrust Global CA ================== MD5 Fingerprint=F7:75:AB:29:FB:51:4E:B7:77:5E:FF:05:3C:99:8E:F5 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU 1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV 5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 144470 (0x23456) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA Validity Not Before: May 21 04:00:00 2002 GMT Not After : May 21 04:00:00 2022 GMT Subject: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:da:cc:18:63:30:fd:f4:17:23:1a:56:7e:5b:df: 3c:6c:38:e4:71:b7:78:91:d4:bc:a1:d8:4c:f8:a8: 43:b6:03:e9:4d:21:07:08:88:da:58:2f:66:39:29: bd:05:78:8b:9d:38:e8:05:b7:6a:7e:71:a4:e6:c4: 60:a6:b0:ef:80:e4:89:28:0f:9e:25:d6:ed:83:f3: ad:a6:91:c7:98:c9:42:18:35:14:9d:ad:98:46:92: 2e:4f:ca:f1:87:43:c1:16:95:57:2d:50:ef:89:2d: 80:7a:57:ad:f2:ee:5f:6b:d2:00:8d:b9:14:f8:14: 15:35:d9:c0:46:a3:7b:72:c8:91:bf:c9:55:2b:cd: d0:97:3e:9c:26:64:cc:df:ce:83:19:71:ca:4e:e6: d4:d5:7b:a9:19:cd:55:de:c8:ec:d2:5e:38:53:e5: 5c:4f:8c:2d:fe:50:23:36:fc:66:e6:cb:8e:a4:39: 19:00:b7:95:02:39:91:0b:0e:fe:38:2e:d1:1d:05: 9a:f6:4d:3e:6f:0f:07:1d:af:2c:1e:8f:60:39:e2: fa:36:53:13:39:d4:5e:26:2b:db:3d:a8:14:bd:32: eb:18:03:28:52:04:71:e5:ab:33:3d:e1:38:bb:07: 36:84:62:9c:79:ea:16:30:f4:5f:c0:2b:e8:71:6b: e4:f9 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Subject Key Identifier: C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E X509v3 Authority Key Identifier: keyid:C0:7A:98:68:8D:89:FB:AB:05:64:0C:11:7D:AA:7D:65:B8:CA:CC:4E Signature Algorithm: sha1WithRSAEncryption 35:e3:29:6a:e5:2f:5d:54:8e:29:50:94:9f:99:1a:14:e4:8f: 78:2a:62:94:a2:27:67:9e:d0:cf:1a:5e:47:e9:c1:b2:a4:cf: dd:41:1a:05:4e:9b:4b:ee:4a:6f:55:52:b3:24:a1:37:0a:eb: 64:76:2a:2e:2c:f3:fd:3b:75:90:bf:fa:71:d8:c7:3d:37:d2: b5:05:95:62:b9:a6:de:89:3d:36:7b:38:77:48:97:ac:a6:20: 8f:2e:a6:c9:0c:c2:b2:99:45:00:c7:ce:11:51:22:22:e0:a5: ea:b6:15:48:09:64:ea:5e:4f:74:f7:05:3e:c7:8a:52:0c:db: 15:b4:bd:6d:9b:e5:c6:b1:54:68:a9:e3:69:90:b6:9a:a5:0f: b8:b9:3f:20:7d:ae:4a:b5:b8:9c:e4:1d:b6:ab:e6:94:a5:c1: c7:83:ad:db:f5:27:87:0e:04:6c:d5:ff:dd:a0:5d:ed:87:52: b7:2b:15:02:ae:39:a6:6a:74:e9:da:c4:e7:bc:4d:34:1e:a9: 5c:4d:33:5f:92:09:2f:88:66:5d:77:97:c7:1d:76:13:a9:d5: e5:f1:16:09:11:35:d5:ac:db:24:71:70:2c:98:56:0b:d9:17: b4:d1:e3:51:2b:5e:75:e8:d5:d0:dc:4f:34:ed:c2:05:66:80: a1:cb:e6:33 GlobalSign Root CA ================== MD5 Fingerprint=AB:BF:EA:E3:6B:29:A6:CC:A6:78:35:99:EF:AD:2B:80 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDdTCCAl2gAwIBAgILAgAAAAAA1ni3lAUwDQYJKoZIhvcNAQEEBQAwVzELMAkG A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw MDBaFw0xNDAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp 1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIABjAdBgNVHQ4EFgQU YHtmGkUNl8qJUC99BM00qP/8/UswDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B AQQFAAOCAQEArqqf/LfSyx9fOSkoGJ40yWxPbxrwZKJwSk8ThptgKJ7ogUmYfQq7 5bCdPTbbjwVR/wkxKh/diXeeDy5slQTthsu0AD+EAk2AaioteAuubyuig0SDH81Q gkwkr733pbTIWg/050deSY43lv6aiAU62cDbKYfmGZZHpzqmjIs8d/5GY6dT2iHR rH5Jokvmw2dZL7OKDrssvamqQnw1wdh/1acxOk5jQzmvCLBhNIzTmKlDNPYPhyk7 ncJWWJh3w/cbrPad+D6qp1RF8PX51TFl/mtYnHGzHtdS6jIX/EBgHcl5JLL2bP2o Zg6C3ZjL2sJETy6ge/L3ayx2EYRGinij4w== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 02:00:00:00:00:00:d6:78:b7:94:05 Signature Algorithm: md5WithRSAEncryption Issuer: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA Validity Not Before: Sep 1 12:00:00 1998 GMT Not After : Jan 28 12:00:00 2014 GMT Subject: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:da:0e:e6:99:8d:ce:a3:e3:4f:8a:7e:fb:f1:8b: 83:25:6b:ea:48:1f:f1:2a:b0:b9:95:11:04:bd:f0: 63:d1:e2:67:66:cf:1c:dd:cf:1b:48:2b:ee:8d:89: 8e:9a:af:29:80:65:ab:e9:c7:2d:12:cb:ab:1c:4c: 70:07:a1:3d:0a:30:cd:15:8d:4f:f8:dd:d4:8c:50: 15:1c:ef:50:ee:c4:2e:f7:fc:e9:52:f2:91:7d:e0: 6d:d5:35:30:8e:5e:43:73:f2:41:e9:d5:6a:e3:b2: 89:3a:56:39:38:6f:06:3c:88:69:5b:2a:4d:c5:a7: 54:b8:6c:89:cc:9b:f9:3c:ca:e5:fd:89:f5:12:3c: 92:78:96:d6:dc:74:6e:93:44:61:d1:8d:c7:46:b2: 75:0e:86:e8:19:8a:d5:6d:6c:d5:78:16:95:a2:e9: c8:0a:38:eb:f2:24:13:4f:73:54:93:13:85:3a:1b: bc:1e:34:b5:8b:05:8c:b9:77:8b:b1:db:1f:20:91: ab:09:53:6e:90:ce:7b:37:74:b9:70:47:91:22:51: 63:16:79:ae:b1:ae:41:26:08:c8:19:2b:d1:46:aa: 48:d6:64:2a:d7:83:34:ff:2c:2a:c1:6c:19:43:4a: 07:85:e7:d3:7c:f6:21:68:ef:ea:f2:52:9f:7f:93: 90:cf Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Key Usage: critical Certificate Sign, CRL Sign X509v3 Subject Key Identifier: 60:7B:66:1A:45:0D:97:CA:89:50:2F:7D:04:CD:34:A8:FF:FC:FD:4B X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: md5WithRSAEncryption ae:aa:9f:fc:b7:d2:cb:1f:5f:39:29:28:18:9e:34:c9:6c:4f: 6f:1a:f0:64:a2:70:4a:4f:13:86:9b:60:28:9e:e8:81:49:98: 7d:0a:bb:e5:b0:9d:3d:36:db:8f:05:51:ff:09:31:2a:1f:dd: 89:77:9e:0f:2e:6c:95:04:ed:86:cb:b4:00:3f:84:02:4d:80: 6a:2a:2d:78:0b:ae:6f:2b:a2:83:44:83:1f:cd:50:82:4c:24: af:bd:f7:a5:b4:c8:5a:0f:f4:e7:47:5e:49:8e:37:96:fe:9a: 88:05:3a:d9:c0:db:29:87:e6:19:96:47:a7:3a:a6:8c:8b:3c: 77:fe:46:63:a7:53:da:21:d1:ac:7e:49:a2:4b:e6:c3:67:59: 2f:b3:8a:0e:bb:2c:bd:a9:aa:42:7c:35:c1:d8:7f:d5:a7:31: 3a:4e:63:43:39:af:08:b0:61:34:8c:d3:98:a9:43:34:f6:0f: 87:29:3b:9d:c2:56:58:98:77:c3:f7:1b:ac:f6:9d:f8:3e:aa: a7:54:45:f0:f5:f9:d5:31:65:fe:6b:58:9c:71:b3:1e:d7:52: ea:32:17:fc:40:60:1d:c9:79:24:b2:f6:6c:fd:a8:66:0e:82: dd:98:cb:da:c2:44:4f:2e:a0:7b:f2:f7:6b:2c:76:11:84:46: 8a:78:a3:e3 GTE CyberTrust Global Root ========================== MD5 Fingerprint=CA:3D:D3:68:F1:03:5C:D0:32:FA:B8:2B:59:E8:5A:DB PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYD VQQKEw9HVEUgQ29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNv bHV0aW9ucywgSW5jLjEjMCEGA1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJv b3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEzMjM1OTAwWjB1MQswCQYDVQQGEwJV UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds b2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrH iM3dFw4usJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTS r41tiGeA5u2ylc9yMcqlHHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X4 04Wqk2kmhXBIgD8SFcd5tB8FLztimQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAG3r GwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMWM4ETCJ57NE7fQMh017l9 3PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OFNMQkpw0P lZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/ -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 421 (0x1a5) Signature Algorithm: md5WithRSAEncryption Issuer: C=US, O=GTE Corporation, OU=GTE CyberTrust Solutions, Inc., CN=GTE CyberTrust Global Root Validity Not Before: Aug 13 00:29:00 1998 GMT Not After : Aug 13 23:59:00 2018 GMT Subject: C=US, O=GTE Corporation, OU=GTE CyberTrust Solutions, Inc., CN=GTE CyberTrust Global Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:95:0f:a0:b6:f0:50:9c:e8:7a:c7:88:cd:dd:17: 0e:2e:b0:94:d0:1b:3d:0e:f6:94:c0:8a:94:c7:06: c8:90:97:c8:b8:64:1a:7a:7e:6c:3c:53:e1:37:28: 73:60:7f:b2:97:53:07:9f:53:f9:6d:58:94:d2:af: 8d:6d:88:67:80:e6:ed:b2:95:cf:72:31:ca:a5:1c: 72:ba:5c:02:e7:64:42:e7:f9:a9:2c:d6:3a:0d:ac: 8d:42:aa:24:01:39:e6:9c:3f:01:85:57:0d:58:87: 45:f8:d3:85:aa:93:69:26:85:70:48:80:3f:12:15: c7:79:b4:1f:05:2f:3b:62:99 Exponent: 65537 (0x10001) Signature Algorithm: md5WithRSAEncryption 6d:eb:1b:09:e9:5e:d9:51:db:67:22:61:a4:2a:3c:48:77:e3: a0:7c:a6:de:73:a2:14:03:85:3d:fb:ab:0e:30:c5:83:16:33: 81:13:08:9e:7b:34:4e:df:40:c8:74:d7:b9:7d:dc:f4:76:55: 7d:9b:63:54:18:e9:f0:ea:f3:5c:b1:d9:8b:42:1e:b9:c0:95: 4e:ba:fa:d5:e2:7c:f5:68:61:bf:8e:ec:05:97:5f:5b:b0:d7: a3:85:34:c4:24:a7:0d:0f:95:93:ef:cb:94:d8:9e:1f:9d:5c: 85:6d:c7:aa:ae:4f:1f:22:b5:cd:95:ad:ba:a7:cc:f9:ab:0b: 7a:7f GTE CyberTrust Root CA ====================== MD5 Fingerprint=C4:D7:F0:B2:A3:C5:7D:61:67:F0:04:CD:43:D3:BA:58 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIB+jCCAWMCAgGjMA0GCSqGSIb3DQEBBAUAMEUxCzAJBgNVBAYTAlVTMRgwFgYD VQQKEw9HVEUgQ29ycG9yYXRpb24xHDAaBgNVBAMTE0dURSBDeWJlclRydXN0IFJv b3QwHhcNOTYwMjIzMjMwMTAwWhcNMDYwMjIzMjM1OTAwWjBFMQswCQYDVQQGEwJV UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMRwwGgYDVQQDExNHVEUgQ3liZXJU cnVzdCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC45k+625h8cXyv RLfTD0bZZOWTwUKOx7pJjTUteueLveUFMVnGsS8KDPufpz+iCWaEVh43KRuH6X4M ypqfpX/1FZSj1aJGgthoTNE3FQZor734sLPwKfWVWgkWYXcKIiXUT0Wqx73llt/5 1KiOQswkwB6RJ0q1bQaAYznEol44AwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABKz dcZfHeFhVYAA1IFLezEPI2PnPfMD+fQ2qLvZ46WXTeorKeDWanOB5sCJo9Px4KWl IjeaY8JIILTbcuPI9tl8vrGvU9oUtCG41tWW4/5ODFlitppK+ULdjG+BqXH/9Apy bW1EDp3zdHSo1TRJ6V6e6bR64eVaH4QwnNOfpSXY -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 419 (0x1a3) Signature Algorithm: md5WithRSAEncryption Issuer: C=US, O=GTE Corporation, CN=GTE CyberTrust Root Validity Not Before: Feb 23 23:01:00 1996 GMT Not After : Feb 23 23:59:00 2006 GMT Subject: C=US, O=GTE Corporation, CN=GTE CyberTrust Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:b8:e6:4f:ba:db:98:7c:71:7c:af:44:b7:d3:0f: 46:d9:64:e5:93:c1:42:8e:c7:ba:49:8d:35:2d:7a: e7:8b:bd:e5:05:31:59:c6:b1:2f:0a:0c:fb:9f:a7: 3f:a2:09:66:84:56:1e:37:29:1b:87:e9:7e:0c:ca: 9a:9f:a5:7f:f5:15:94:a3:d5:a2:46:82:d8:68:4c: d1:37:15:06:68:af:bd:f8:b0:b3:f0:29:f5:95:5a: 09:16:61:77:0a:22:25:d4:4f:45:aa:c7:bd:e5:96: df:f9:d4:a8:8e:42:cc:24:c0:1e:91:27:4a:b5:6d: 06:80:63:39:c4:a2:5e:38:03 Exponent: 65537 (0x10001) Signature Algorithm: md5WithRSAEncryption 12:b3:75:c6:5f:1d:e1:61:55:80:00:d4:81:4b:7b:31:0f:23: 63:e7:3d:f3:03:f9:f4:36:a8:bb:d9:e3:a5:97:4d:ea:2b:29: e0:d6:6a:73:81:e6:c0:89:a3:d3:f1:e0:a5:a5:22:37:9a:63: c2:48:20:b4:db:72:e3:c8:f6:d9:7c:be:b1:af:53:da:14:b4: 21:b8:d6:d5:96:e3:fe:4e:0c:59:62:b6:9a:4a:f9:42:dd:8c: 6f:81:a9:71:ff:f4:0a:72:6d:6d:44:0e:9d:f3:74:74:a8:d5: 34:49:e9:5e:9e:e9:b4:7a:e1:e5:5a:1f:84:30:9c:d3:9f:a5: 25:d8 RSA Root Certificate 1 ====================== MD5 Fingerprint=A2:6F:53:B7:EE:40:DB:4A:68:E7:FA:18:D9:10:4B:72 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0 IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG 9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMjIzM1oXDTE5MDYy NjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjmFGWHOjVsQaBalfD cnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td3zZxFJmP3MKS8edgkpfs 2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89HBFx1cQqY JJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliE Zwgs3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJ n0WuPIqpsHEzXcjFV9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/A PhmcGcwTTYJBtYze4D1gCCAPRX5ron+jjBXu -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 3 Policy Validation Authority, CN=http://www.valicert.com//Email=info@valicert.com Validity Not Before: Jun 26 00:22:33 1999 GMT Not After : Jun 26 00:22:33 2019 GMT Subject: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 3 Policy Validation Authority, CN=http://www.valicert.com//Email=info@valicert.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:e3:98:51:96:1c:e8:d5:b1:06:81:6a:57:c3:72: 75:93:ab:cf:9e:a6:fc:f3:16:52:d6:2d:4d:9f:35: 44:a8:2e:04:4d:07:49:8a:38:29:f5:77:37:e7:b7: ab:5d:df:36:71:14:99:8f:dc:c2:92:f1:e7:60:92: 97:ec:d8:48:dc:bf:c1:02:20:c6:24:a4:28:4c:30: 5a:76:6d:b1:5c:f3:dd:de:9e:10:71:a1:88:c7:5b: 9b:41:6d:ca:b0:b8:8e:15:ee:ad:33:2b:cf:47:04: 5c:75:71:0a:98:24:98:29:a7:49:59:a5:dd:f8:b7: 43:62:61:f3:d3:e2:d0:55:3f Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 56:bb:02:58:84:67:08:2c:df:1f:db:7b:49:33:f5:d3:67:9d: f4:b4:0a:10:b3:c9:c5:2c:e2:92:6a:71:78:27:f2:70:83:42: d3:3e:cf:a9:54:f4:f1:d8:92:16:8c:d1:04:cb:4b:ab:c9:9f: 45:ae:3c:8a:a9:b0:71:33:5d:c8:c5:57:df:af:a8:35:b3:7f: 89:87:e9:e8:25:92:b8:7f:85:7a:ae:d6:bc:1e:37:58:2a:67: c9:91:cf:2a:81:3e:ed:c6:39:df:c0:3e:19:9c:19:cc:13:4d: 82:41:b5:8c:de:e0:3d:60:08:20:0f:45:7e:6b:a2:7f:a3:8c: 15:ee RSA Security 1024 v3 ==================== MD5 Fingerprint=3A:E5:50:B0:39:BE:C7:46:36:33:A1:FE:82:3E:8D:94 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICXDCCAcWgAwIBAgIQCgEBAQAAAnwAAAALAAAAAjANBgkqhkiG9w0BAQUFADA6 MRkwFwYDVQQKExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJp dHkgMTAyNCBWMzAeFw0wMTAyMjIyMTAxNDlaFw0yNjAyMjIyMDAxNDlaMDoxGTAX BgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAbBgNVBAsTFFJTQSBTZWN1cml0eSAx MDI0IFYzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDV3f5mCc8kPD6ugU5O isRpgFtZO9+5TUzKtS3DJy08rwBCbbwoppbPf9dYrIMKo1W1exeQFYRMiu4mmdxY 78c4pqqv0I5CyGLXq6yp+0p9v+r+Ek3d/yYtbzZUaMjShFbuklNhCbM/OZuoyZu9 zp9+1BlqFikYvtc6adwlWzMaUQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4G A1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBTEwBykB5T9zU0B1FTapQxf3q4FWjAd BgNVHQ4EFgQUxMAcpAeU/c1NAdRU2qUMX96uBVowDQYJKoZIhvcNAQEFBQADgYEA Py1q4yZDlX2Jl2X7deRyHUZXxGFraZ8SmyzVWujAovBDleMf6XbN3Ou8k6BlCsdN T1+nr6JGFLkM88y9am63nd4lQtBU/55oc2PcJOsiv6hy8l4A4Q1OOkNumU4/iXgD mMrzVcydro7BqkWY+o8aoI2II/EVQQ2lRj6RP4vr93E= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 0a:01:01:01:00:00:02:7c:00:00:00:0b:00:00:00:02 Signature Algorithm: sha1WithRSAEncryption Issuer: O=RSA Security Inc, OU=RSA Security 1024 V3 Validity Not Before: Feb 22 21:01:49 2001 GMT Not After : Feb 22 20:01:49 2026 GMT Subject: O=RSA Security Inc, OU=RSA Security 1024 V3 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d5:dd:fe:66:09:cf:24:3c:3e:ae:81:4e:4e:8a: c4:69:80:5b:59:3b:df:b9:4d:4c:ca:b5:2d:c3:27: 2d:3c:af:00:42:6d:bc:28:a6:96:cf:7f:d7:58:ac: 83:0a:a3:55:b5:7b:17:90:15:84:4c:8a:ee:26:99: dc:58:ef:c7:38:a6:aa:af:d0:8e:42:c8:62:d7:ab: ac:a9:fb:4a:7d:bf:ea:fe:12:4d:dd:ff:26:2d:6f: 36:54:68:c8:d2:84:56:ee:92:53:61:09:b3:3f:39: 9b:a8:c9:9b:bd:ce:9f:7e:d4:19:6a:16:29:18:be: d7:3a:69:dc:25:5b:33:1a:51 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:C4:C0:1C:A4:07:94:FD:CD:4D:01:D4:54:DA:A5:0C:5F:DE:AE:05:5A X509v3 Subject Key Identifier: C4:C0:1C:A4:07:94:FD:CD:4D:01:D4:54:DA:A5:0C:5F:DE:AE:05:5A Signature Algorithm: sha1WithRSAEncryption 3f:2d:6a:e3:26:43:95:7d:89:97:65:fb:75:e4:72:1d:46:57: c4:61:6b:69:9f:12:9b:2c:d5:5a:e8:c0:a2:f0:43:95:e3:1f: e9:76:cd:dc:eb:bc:93:a0:65:0a:c7:4d:4f:5f:a7:af:a2:46: 14:b9:0c:f3:cc:bd:6a:6e:b7:9d:de:25:42:d0:54:ff:9e:68: 73:63:dc:24:eb:22:bf:a8:72:f2:5e:00:e1:0d:4e:3a:43:6e: 99:4e:3f:89:78:03:98:ca:f3:55:cc:9d:ae:8e:c1:aa:45:98: fa:8f:1a:a0:8d:88:23:f1:15:41:0d:a5:46:3e:91:3f:8b:eb: f7:71 RSA Security 2048 v3 ==================== MD5 Fingerprint=77:0D:19:B1:21:FD:00:42:9C:3E:0C:A5:DD:0B:02:8E PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6 MRkwFwYDVQQKExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJp dHkgMjA0OCBWMzAeFw0wMTAyMjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAX BgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAbBgNVBAsTFFJTQSBTZWN1cml0eSAy MDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt49VcdKA3Xtp eafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7Jylg /9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGl wSMiuLgbWhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnh AMFRD0xS+ARaqn1y07iHKrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2 PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP+Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpu AWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB BjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4EFgQUB8NR MKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYc HnmYv/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/ Zb5gEydxiKRz44Rj0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+ f00/FGj1EVDVwfSQpQgdMWD/YIwjVAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVO rSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395nzIlQnQFgCi/vcEkllgVsRch 6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kApKnXwiJPZ9d3 7CAFYd4= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 0a:01:01:01:00:00:02:7c:00:00:00:0a:00:00:00:02 Signature Algorithm: sha1WithRSAEncryption Issuer: O=RSA Security Inc, OU=RSA Security 2048 V3 Validity Not Before: Feb 22 20:39:23 2001 GMT Not After : Feb 22 20:39:23 2026 GMT Subject: O=RSA Security Inc, OU=RSA Security 2048 V3 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:b7:8f:55:71:d2:80:dd:7b:69:79:a7:f0:18:50: 32:3c:62:67:f6:0a:95:07:dd:e6:1b:f3:9e:d9:d2: 41:54:6b:ad:9f:7c:be:19:cd:fb:46:ab:41:68:1e: 18:ea:55:c8:2f:91:78:89:28:fb:27:29:60:ff:df: 8f:8c:3b:c9:49:9b:b5:a4:94:ce:01:ea:3e:b5:63: 7b:7f:26:fd:19:dd:c0:21:bd:84:d1:2d:4f:46:c3: 4e:dc:d8:37:39:3b:28:af:cb:9d:1a:ea:2b:af:21: a5:c1:23:22:b8:b8:1b:5a:13:87:57:83:d1:f0:20: e7:e8:4f:23:42:b0:00:a5:7d:89:e9:e9:61:73:94: 98:71:26:bc:2d:6a:e0:f7:4d:f0:f1:b6:2a:38:31: 81:0d:29:e1:00:c1:51:0f:4c:52:f8:04:5a:aa:7d: 72:d3:b8:87:2a:bb:63:10:03:2a:b3:a1:4f:0d:5a: 5e:46:b7:3d:0e:f5:74:ec:99:9f:f9:3d:24:81:88: a6:dd:60:54:e8:95:36:3d:c6:09:93:9a:a3:12:80: 00:55:99:19:47:bd:d0:a5:7c:c3:ba:fb:1f:f7:f5: 0f:f8:ac:b9:b5:f4:37:98:13:18:de:85:5b:b7:0c: 82:3b:87:6f:95:39:58:30:da:6e:01:68:17:22:cc: c0:0b Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:07:C3:51:30:A4:AA:E9:45:AE:35:24:FA:FF:24:2C:33:D0:B1:9D:8C X509v3 Subject Key Identifier: 07:C3:51:30:A4:AA:E9:45:AE:35:24:FA:FF:24:2C:33:D0:B1:9D:8C Signature Algorithm: sha1WithRSAEncryption 5f:3e:86:76:6e:b8:35:3c:4e:36:1c:1e:79:98:bf:fd:d5:12: 11:79:52:0e:ee:31:89:bc:dd:7f:f9:d1:c6:15:21:e8:8a:01: 54:0d:3a:fb:54:b9:d6:63:d4:b1:aa:96:4d:a2:42:4d:d4:53: 1f:8b:10:de:7f:65:be:60:13:27:71:88:a4:73:e3:84:63:d1: a4:55:e1:50:93:e6:1b:0e:79:d0:67:bc:46:c8:bf:3f:17:0d: 95:e6:c6:90:69:de:e7:b4:2f:de:95:7d:d0:12:3f:3d:3e:7f: 4d:3f:14:68:f5:11:50:d5:c1:f4:90:a5:08:1d:31:60:ff:60: 8c:23:54:0a:af:fe:a1:6e:c5:d1:7a:2a:68:78:cf:1e:82:0a: 20:b4:1f:ad:e5:85:b2:6a:68:75:4e:ad:25:37:94:85:be:bd: a1:d4:ea:b7:0c:4b:3c:9d:e8:12:00:f0:5f:ac:0d:e1:ac:70: 63:73:f7:7f:79:9f:32:25:42:74:05:80:28:bf:bd:c1:24:96: 58:15:b1:17:21:e9:89:4b:db:07:88:67:f4:15:ad:70:3e:2f: 4d:85:3b:c2:b7:db:fe:98:68:23:89:e1:74:0f:de:f4:c5:84: 63:29:1b:cc:cb:07:c9:00:a4:a9:d7:c2:22:4f:67:d7:77:ec: 20:05:61:de TC TrustCenter, Germany, Class 2 CA =================================== MD5 Fingerprint=B8:16:33:4C:4C:4C:F2:D8:D3:4D:06:B4:A6:5B:40:03 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDXDCCAsWgAwIBAgICA+owDQYJKoZIhvcNAQEEBQAwgbwxCzAJBgNVBAYTAkRF MRAwDgYDVQQIEwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTowOAYDVQQKEzFU QyBUcnVzdENlbnRlciBmb3IgU2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBHbWJI MSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBDbGFzcyAyIENBMSkwJwYJKoZIhvcN AQkBFhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw05ODAzMDkxMTU5NTla Fw0xMTAxMDExMTU5NTlaMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFtYnVy ZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9y IFNlY3VyaXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1 c3RDZW50ZXIgQ2xhc3MgMiBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVA dHJ1c3RjZW50ZXIuZGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANo46O0y AClxgwENv4wB3NrGrTmkqYov1YtcaF9QxmL1Zr3KkSLsqh1R1z2zUbKDTl3LSbDw TFXlay3HhQswHJJOgtTKAu33b77c4OMUuAVT8pr0VotanoWT0bSCVq5Nu6hLVxa8 /vhYnvgpjbB7zXjJT6yLZwzxnPv8V5tXXE8NAgMBAAGjazBpMA8GA1UdEwEB/wQF MAMBAf8wDgYDVR0PAQH/BAQDAgGGMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8vd3d3 LnRydXN0Y2VudGVyLmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgAHMA0G CSqGSIb3DQEBBAUAA4GBAIRS+yjf/x91AbwBvgRWl2p0QiQxg/lGsQaKic+WLDO/ jLVfenKhhQbOhvgFjuj5Jcrag4wGrOs2bYWRNAQ29ELw+HkuCkhcq8xRT3h2oNms Gb0q0WkEKJHKNhAngFdb0lz1wlurZIFjdFH0l7/NEij3TWZ/p/AcASZ4smZHcFFk -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1002 (0x3ea) Signature Algorithm: md5WithRSAEncryption Issuer: C=DE, ST=Hamburg, L=Hamburg, O=TC TrustCenter for Security in Data Networks GmbH, OU=TC TrustCenter Class 2 CA/Email=certificate@trustcenter.de Validity Not Before: Mar 9 11:59:59 1998 GMT Not After : Jan 1 11:59:59 2011 GMT Subject: C=DE, ST=Hamburg, L=Hamburg, O=TC TrustCenter for Security in Data Networks GmbH, OU=TC TrustCenter Class 2 CA/Email=certificate@trustcenter.de Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:da:38:e8:ed:32:00:29:71:83:01:0d:bf:8c:01: dc:da:c6:ad:39:a4:a9:8a:2f:d5:8b:5c:68:5f:50: c6:62:f5:66:bd:ca:91:22:ec:aa:1d:51:d7:3d:b3: 51:b2:83:4e:5d:cb:49:b0:f0:4c:55:e5:6b:2d:c7: 85:0b:30:1c:92:4e:82:d4:ca:02:ed:f7:6f:be:dc: e0:e3:14:b8:05:53:f2:9a:f4:56:8b:5a:9e:85:93: d1:b4:82:56:ae:4d:bb:a8:4b:57:16:bc:fe:f8:58: 9e:f8:29:8d:b0:7b:cd:78:c9:4f:ac:8b:67:0c:f1: 9c:fb:fc:57:9b:57:5c:4f:0d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Digital Signature, Certificate Sign, CRL Sign Netscape CA Policy Url: http://www.trustcenter.de/guidelines Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA Signature Algorithm: md5WithRSAEncryption 84:52:fb:28:df:ff:1f:75:01:bc:01:be:04:56:97:6a:74:42: 24:31:83:f9:46:b1:06:8a:89:cf:96:2c:33:bf:8c:b5:5f:7a: 72:a1:85:06:ce:86:f8:05:8e:e8:f9:25:ca:da:83:8c:06:ac: eb:36:6d:85:91:34:04:36:f4:42:f0:f8:79:2e:0a:48:5c:ab: cc:51:4f:78:76:a0:d9:ac:19:bd:2a:d1:69:04:28:91:ca:36: 10:27:80:57:5b:d2:5c:f5:c2:5b:ab:64:81:63:74:51:f4:97: bf:cd:12:28:f7:4d:66:7f:a7:f0:1c:01:26:78:b2:66:47:70: 51:64 TC TrustCenter, Germany, Class 3 CA =================================== MD5 Fingerprint=5F:94:4A:73:22:B8:F7:D1:31:EC:59:39:F7:8E:FE:6E PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDXDCCAsWgAwIBAgICA+swDQYJKoZIhvcNAQEEBQAwgbwxCzAJBgNVBAYTAkRF MRAwDgYDVQQIEwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTowOAYDVQQKEzFU QyBUcnVzdENlbnRlciBmb3IgU2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBHbWJI MSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBDbGFzcyAzIENBMSkwJwYJKoZIhvcN AQkBFhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw05ODAzMDkxMTU5NTla Fw0xMTAxMDExMTU5NTlaMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFtYnVy ZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9y IFNlY3VyaXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1 c3RDZW50ZXIgQ2xhc3MgMyBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVA dHJ1c3RjZW50ZXIuZGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALa0wTUF Lg2N7KBAahwOJ6ZQkmtQGwfeLud2zODa/ISoXoxjaitN2U4CdhHBC/KNecoAtvGw Dtf7pBc9r6tpepYnv68zoZoqWarEtTcI8hKlMbZD9TKWcSgoq40oht+77uMMfTDW w1Krj10nnGvAo+cFa1dJRLNu6mTP0o56UHd3AgMBAAGjazBpMA8GA1UdEwEB/wQF MAMBAf8wDgYDVR0PAQH/BAQDAgGGMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8vd3d3 LnRydXN0Y2VudGVyLmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgAHMA0G CSqGSIb3DQEBBAUAA4GBABY9xs3Bu4VxhUafPiCPUSiZ7C1FIWMjWwS7TJC4iJIE Tb19AaM/9uzO8d7+feXhPrvGq14L3T2WxMup1Pkm5gZOngylerpuw3yCGdHHsbHD 2w2Om0B8NwvxXej9H5CIpQ5ON2QhqE6NtJ/x3kit1VYYUimLRzQSCdS7kjXvD9s0 -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1003 (0x3eb) Signature Algorithm: md5WithRSAEncryption Issuer: C=DE, ST=Hamburg, L=Hamburg, O=TC TrustCenter for Security in Data Networks GmbH, OU=TC TrustCenter Class 3 CA/Email=certificate@trustcenter.de Validity Not Before: Mar 9 11:59:59 1998 GMT Not After : Jan 1 11:59:59 2011 GMT Subject: C=DE, ST=Hamburg, L=Hamburg, O=TC TrustCenter for Security in Data Networks GmbH, OU=TC TrustCenter Class 3 CA/Email=certificate@trustcenter.de Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:b6:b4:c1:35:05:2e:0d:8d:ec:a0:40:6a:1c:0e: 27:a6:50:92:6b:50:1b:07:de:2e:e7:76:cc:e0:da: fc:84:a8:5e:8c:63:6a:2b:4d:d9:4e:02:76:11:c1: 0b:f2:8d:79:ca:00:b6:f1:b0:0e:d7:fb:a4:17:3d: af:ab:69:7a:96:27:bf:af:33:a1:9a:2a:59:aa:c4: b5:37:08:f2:12:a5:31:b6:43:f5:32:96:71:28:28: ab:8d:28:86:df:bb:ee:e3:0c:7d:30:d6:c3:52:ab: 8f:5d:27:9c:6b:c0:a3:e7:05:6b:57:49:44:b3:6e: ea:64:cf:d2:8e:7a:50:77:77 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Digital Signature, Certificate Sign, CRL Sign Netscape CA Policy Url: http://www.trustcenter.de/guidelines Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA Signature Algorithm: md5WithRSAEncryption 16:3d:c6:cd:c1:bb:85:71:85:46:9f:3e:20:8f:51:28:99:ec: 2d:45:21:63:23:5b:04:bb:4c:90:b8:88:92:04:4d:bd:7d:01: a3:3f:f6:ec:ce:f1:de:fe:7d:e5:e1:3e:bb:c6:ab:5e:0b:dd: 3d:96:c4:cb:a9:d4:f9:26:e6:06:4e:9e:0c:a5:7a:ba:6e:c3: 7c:82:19:d1:c7:b1:b1:c3:db:0d:8e:9b:40:7c:37:0b:f1:5d: e8:fd:1f:90:88:a5:0e:4e:37:64:21:a8:4e:8d:b4:9f:f1:de: 48:ad:d5:56:18:52:29:8b:47:34:12:09:d4:bb:92:35:ef:0f: db:34 Thawte Personal Basic CA ======================== MD5 Fingerprint=E6:0B:D2:C9:CA:2D:88:DB:1A:71:0E:4B:78:EB:02:41 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDITCCAoqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCByzELMAkGA1UEBhMCWkEx FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT ZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFBlcnNvbmFsIEJhc2lj IENBMSgwJgYJKoZIhvcNAQkBFhlwZXJzb25hbC1iYXNpY0B0aGF3dGUuY29tMB4X DTk2MDEwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgcsxCzAJBgNVBAYTAlpBMRUw EwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UE ChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2Vy dmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQZXJzb25hbCBCYXNpYyBD QTEoMCYGCSqGSIb3DQEJARYZcGVyc29uYWwtYmFzaWNAdGhhd3RlLmNvbTCBnzAN BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvLyTU23AUE+CFeZIlDWmWr5vQvoPR+53 dXLdjUmbllegeNTKP1GzaQuRdhciB5dqxFGTS+CN7zeVoQxN2jSQHReJl+A1OFdK wPQIcOk8RHtQfmGakOMj04gRRif1CwcOu93RfyAKiLlWCy4cgNrx454p7xS9CkT7 G1sY0b8jkyECAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQF AAOBgQAt4plrsD16iddZopQBHyvdEktTwq1/qqcAXJFAVyVKOKqEcLnZgA+le1z7 c8a914phXAPjLSeoF+CEhULcXpvGt7Jtu3Sv5D/Lp7ew4F2+eIMllNLbgQ95B21P 9DkVWlIBe94y1k049hJcBlDfBVu9FEuh3ym6O0GN92NWod8isQ== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 0 (0x0) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Basic CA/Email=personal-basic@thawte.com Validity Not Before: Jan 1 00:00:00 1996 GMT Not After : Dec 31 23:59:59 2020 GMT Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Basic CA/Email=personal-basic@thawte.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:bc:bc:93:53:6d:c0:50:4f:82:15:e6:48:94:35: a6:5a:be:6f:42:fa:0f:47:ee:77:75:72:dd:8d:49: 9b:96:57:a0:78:d4:ca:3f:51:b3:69:0b:91:76:17: 22:07:97:6a:c4:51:93:4b:e0:8d:ef:37:95:a1:0c: 4d:da:34:90:1d:17:89:97:e0:35:38:57:4a:c0:f4: 08:70:e9:3c:44:7b:50:7e:61:9a:90:e3:23:d3:88: 11:46:27:f5:0b:07:0e:bb:dd:d1:7f:20:0a:88:b9: 56:0b:2e:1c:80:da:f1:e3:9e:29:ef:14:bd:0a:44: fb:1b:5b:18:d1:bf:23:93:21 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: md5WithRSAEncryption 2d:e2:99:6b:b0:3d:7a:89:d7:59:a2:94:01:1f:2b:dd:12:4b: 53:c2:ad:7f:aa:a7:00:5c:91:40:57:25:4a:38:aa:84:70:b9: d9:80:0f:a5:7b:5c:fb:73:c6:bd:d7:8a:61:5c:03:e3:2d:27: a8:17:e0:84:85:42:dc:5e:9b:c6:b7:b2:6d:bb:74:af:e4:3f: cb:a7:b7:b0:e0:5d:be:78:83:25:94:d2:db:81:0f:79:07:6d: 4f:f4:39:15:5a:52:01:7b:de:32:d6:4d:38:f6:12:5c:06:50: df:05:5b:bd:14:4b:a1:df:29:ba:3b:41:8d:f7:63:56:a1:df: 22:b1 Thawte Personal Freemail CA =========================== MD5 Fingerprint=1E:74:C3:86:3C:0C:35:C5:3E:C2:7F:EF:3C:AA:3C:D9 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDLTCCApagAwIBAgIBADANBgkqhkiG9w0BAQQFADCB0TELMAkGA1UEBhMCWkEx FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT ZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3RlIFBlcnNvbmFsIEZyZWVt YWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25hbC1mcmVlbWFpbEB0aGF3dGUu Y29tMB4XDTk2MDEwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgdExCzAJBgNVBAYT AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEa MBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRp b24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBG cmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhh d3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1GnX1LCUZFtx6UfY DFG26nKRsIRefS0Nj3sS34UldSh0OkIsYyeflXtL734Zhx2G6qPduc6WZBrCFG5E rHzmj+hND3EfQDimAKOHePb5lIZererAXnbr2RSjXW56fAylS1V/Bhkpf56aJtVq uzgkCGqYx7Hao5iR/Xnb5VrEHLkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zAN BgkqhkiG9w0BAQQFAAOBgQDH7JJ+Tvj1lqVnYiqk8E0RYNBvjWBYYawmu1I1XAjP MPuoSpaKH2JCI4wXD/S6ZJwXrEcp352YXtJsYHFcoqzceePnbgBHH7UNKOgCneSa /RP0ptl8sfjcXyMmCZGAc9AUG95DqYMl8uacLxXK/qarigd1iwzdUYRr5PjRznei gQ== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 0 (0x0) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Freemail CA/Email=personal-freemail@thawte.com Validity Not Before: Jan 1 00:00:00 1996 GMT Not After : Dec 31 23:59:59 2020 GMT Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Freemail CA/Email=personal-freemail@thawte.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d4:69:d7:d4:b0:94:64:5b:71:e9:47:d8:0c:51: b6:ea:72:91:b0:84:5e:7d:2d:0d:8f:7b:12:df:85: 25:75:28:74:3a:42:2c:63:27:9f:95:7b:4b:ef:7e: 19:87:1d:86:ea:a3:dd:b9:ce:96:64:1a:c2:14:6e: 44:ac:7c:e6:8f:e8:4d:0f:71:1f:40:38:a6:00:a3: 87:78:f6:f9:94:86:5e:ad:ea:c0:5e:76:eb:d9:14: a3:5d:6e:7a:7c:0c:a5:4b:55:7f:06:19:29:7f:9e: 9a:26:d5:6a:bb:38:24:08:6a:98:c7:b1:da:a3:98: 91:fd:79:db:e5:5a:c4:1c:b9 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: md5WithRSAEncryption c7:ec:92:7e:4e:f8:f5:96:a5:67:62:2a:a4:f0:4d:11:60:d0: 6f:8d:60:58:61:ac:26:bb:52:35:5c:08:cf:30:fb:a8:4a:96: 8a:1f:62:42:23:8c:17:0f:f4:ba:64:9c:17:ac:47:29:df:9d: 98:5e:d2:6c:60:71:5c:a2:ac:dc:79:e3:e7:6e:00:47:1f:b5: 0d:28:e8:02:9d:e4:9a:fd:13:f4:a6:d9:7c:b1:f8:dc:5f:23: 26:09:91:80:73:d0:14:1b:de:43:a9:83:25:f2:e6:9c:2f:15: ca:fe:a6:ab:8a:07:75:8b:0c:dd:51:84:6b:e4:f8:d1:ce:77: a2:81 Thawte Personal Premium CA ========================== MD5 Fingerprint=3A:B2:DE:22:9A:20:93:49:F9:ED:C8:D2:8A:E7:68:0D PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDKTCCApKgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBzzELMAkGA1UEBhMCWkEx FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT ZXJ2aWNlcyBEaXZpc2lvbjEjMCEGA1UEAxMaVGhhd3RlIFBlcnNvbmFsIFByZW1p dW0gQ0ExKjAoBgkqhkiG9w0BCQEWG3BlcnNvbmFsLXByZW1pdW1AdGhhd3RlLmNv bTAeFw05NjAxMDEwMDAwMDBaFw0yMDEyMzEyMzU5NTlaMIHPMQswCQYDVQQGEwJa QTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAY BgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9u IFNlcnZpY2VzIERpdmlzaW9uMSMwIQYDVQQDExpUaGF3dGUgUGVyc29uYWwgUHJl bWl1bSBDQTEqMCgGCSqGSIb3DQEJARYbcGVyc29uYWwtcHJlbWl1bUB0aGF3dGUu Y29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJZtn4B0TPuYwu8KHvE0Vs Bd/eJxZRNkERbGw77f4QfRKe5ZtCmv5gMcNmt3M6SK5O0DI3lIi1DbbZ8/JE2dWI Et12TfIa/G8jHnrx2JhFTgcQ7xZC0EN1bUre4qrJMf8fAHB8Zs8QJQi6+u4A6UYD ZicRFTuqW/KY3TZCstqIdQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqG SIb3DQEBBAUAA4GBAGk2ifc0KjNyL2071CKyuG+axTZmDhs8obF1Wub9NdP4qPIH b4Vnjt4rueIXsDqg8A6iAJrf8xQVbrvIhVqYgPn/vnQdPfP+MCXRNzRn+qVxeTBh KXLA4CxM+1bkOqhv5TJZUtt1KFBZDPgLGeSs2a+WjS9Q2wfD6h+rM+D1KzGJ -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 0 (0x0) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Premium CA/Email=personal-premium@thawte.com Validity Not Before: Jan 1 00:00:00 1996 GMT Not After : Dec 31 23:59:59 2020 GMT Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting, OU=Certification Services Division, CN=Thawte Personal Premium CA/Email=personal-premium@thawte.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c9:66:d9:f8:07:44:cf:b9:8c:2e:f0:a1:ef:13: 45:6c:05:df:de:27:16:51:36:41:11:6c:6c:3b:ed: fe:10:7d:12:9e:e5:9b:42:9a:fe:60:31:c3:66:b7: 73:3a:48:ae:4e:d0:32:37:94:88:b5:0d:b6:d9:f3: f2:44:d9:d5:88:12:dd:76:4d:f2:1a:fc:6f:23:1e: 7a:f1:d8:98:45:4e:07:10:ef:16:42:d0:43:75:6d: 4a:de:e2:aa:c9:31:ff:1f:00:70:7c:66:cf:10:25: 08:ba:fa:ee:00:e9:46:03:66:27:11:15:3b:aa:5b: f2:98:dd:36:42:b2:da:88:75 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: md5WithRSAEncryption 69:36:89:f7:34:2a:33:72:2f:6d:3b:d4:22:b2:b8:6f:9a:c5: 36:66:0e:1b:3c:a1:b1:75:5a:e6:fd:35:d3:f8:a8:f2:07:6f: 85:67:8e:de:2b:b9:e2:17:b0:3a:a0:f0:0e:a2:00:9a:df:f3: 14:15:6e:bb:c8:85:5a:98:80:f9:ff:be:74:1d:3d:f3:fe:30: 25:d1:37:34:67:fa:a5:71:79:30:61:29:72:c0:e0:2c:4c:fb: 56:e4:3a:a8:6f:e5:32:59:52:db:75:28:50:59:0c:f8:0b:19: e4:ac:d9:af:96:8d:2f:50:db:07:c3:ea:1f:ab:33:e0:f5:2b: 31:89 Thawte Premium Server CA ======================== MD5 Fingerprint=06:9F:69:79:16:66:90:02:1B:8C:8C:A2:C3:07:6F:3A PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkEx FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv biBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2Vy dmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29t MB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpB MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsG A1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRp b24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNl cnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNv bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkE VdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQ ug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMR uHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG 9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI hfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JM pAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Premium Server CA/Email=premium-server@thawte.com Validity Not Before: Aug 1 00:00:00 1996 GMT Not After : Dec 31 23:59:59 2020 GMT Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Premium Server CA/Email=premium-server@thawte.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d2:36:36:6a:8b:d7:c2:5b:9e:da:81:41:62:8f: 38:ee:49:04:55:d6:d0:ef:1c:1b:95:16:47:ef:18: 48:35:3a:52:f4:2b:6a:06:8f:3b:2f:ea:56:e3:af: 86:8d:9e:17:f7:9e:b4:65:75:02:4d:ef:cb:09:a2: 21:51:d8:9b:d0:67:d0:ba:0d:92:06:14:73:d4:93: cb:97:2a:00:9c:5c:4e:0c:bc:fa:15:52:fc:f2:44: 6e:da:11:4a:6e:08:9f:2f:2d:e3:f9:aa:3a:86:73: b6:46:53:58:c8:89:05:bd:83:11:b8:73:3f:aa:07: 8d:f4:42:4d:e7:40:9d:1c:37 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: md5WithRSAEncryption 26:48:2c:16:c2:58:fa:e8:16:74:0c:aa:aa:5f:54:3f:f2:d7: c9:78:60:5e:5e:6e:37:63:22:77:36:7e:b2:17:c4:34:b9:f5: 08:85:fc:c9:01:38:ff:4d:be:f2:16:42:43:e7:bb:5a:46:fb: c1:c6:11:1f:f1:4a:b0:28:46:c9:c3:c4:42:7d:bc:fa:ab:59: 6e:d5:b7:51:88:11:e3:a4:85:19:6b:82:4c:a4:0c:12:ad:e9: a4:ae:3f:f1:c3:49:65:9a:8c:c5:c8:3e:25:b7:94:99:bb:92: 32:71:07:f0:86:5e:ed:50:27:a6:0d:a6:23:f9:bb:cb:a6:07: 14:42 Thawte Server CA ================ MD5 Fingerprint=C5:70:C4:A2:ED:53:78:0C:C8:10:53:81:64:CB:D0:1D PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkEx FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv biBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEm MCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wHhcNOTYwODAx MDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3 dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNl cyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3 DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD gY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl/Kj0R1HahbUgdJSGHg91 yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg71CcEJRCX L+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGj EzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG 7oWDTSEwjsrZqG9JGubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6e QNuozDJ0uW8NxuOzRAvZim+aKZuZGCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZ qdq5snUb9kLy78fyGPmJvKP/iiMucEc= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Server CA/Email=server-certs@thawte.com Validity Not Before: Aug 1 00:00:00 1996 GMT Not After : Dec 31 23:59:59 2020 GMT Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Server CA/Email=server-certs@thawte.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d3:a4:50:6e:c8:ff:56:6b:e6:cf:5d:b6:ea:0c: 68:75:47:a2:aa:c2:da:84:25:fc:a8:f4:47:51:da: 85:b5:20:74:94:86:1e:0f:75:c9:e9:08:61:f5:06: 6d:30:6e:15:19:02:e9:52:c0:62:db:4d:99:9e:e2: 6a:0c:44:38:cd:fe:be:e3:64:09:70:c5:fe:b1:6b: 29:b6:2f:49:c8:3b:d4:27:04:25:10:97:2f:e7:90: 6d:c0:28:42:99:d7:4c:43:de:c3:f5:21:6d:54:9f: 5d:c3:58:e1:c0:e4:d9:5b:b0:b8:dc:b4:7b:df:36: 3a:c2:b5:66:22:12:d6:87:0d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: md5WithRSAEncryption 07:fa:4c:69:5c:fb:95:cc:46:ee:85:83:4d:21:30:8e:ca:d9: a8:6f:49:1a:e6:da:51:e3:60:70:6c:84:61:11:a1:1a:c8:48: 3e:59:43:7d:4f:95:3d:a1:8b:b7:0b:62:98:7a:75:8a:dd:88: 4e:4e:9e:40:db:a8:cc:32:74:b9:6f:0d:c6:e3:b3:44:0b:d9: 8a:6f:9a:29:9b:99:18:28:3b:d1:e3:40:28:9a:5a:3c:d5:b5: e7:20:1b:8b:ca:a4:ab:8d:e9:51:d9:e2:4c:2c:59:a9:da:b9: b2:75:1b:f6:42:f2:ef:c7:f2:18:f9:89:bc:a3:ff:8a:23:2e: 70:47 Thawte Time Stamping CA ======================= MD5 Fingerprint=7F:66:7A:71:D3:EB:69:78:20:9A:51:14:9D:83:DA:20 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICoTCCAgqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBizELMAkGA1UEBhMCWkEx FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzAN BgNVBAoTBlRoYXd0ZTEdMBsGA1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAd BgNVBAMTFlRoYXd0ZSBUaW1lc3RhbXBpbmcgQ0EwHhcNOTcwMTAxMDAwMDAwWhcN MjAxMjMxMjM1OTU5WjCBizELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4g Q2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzANBgNVBAoTBlRoYXd0ZTEdMBsG A1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAdBgNVBAMTFlRoYXd0ZSBUaW1l c3RhbXBpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANYrWHhhRYZT 6jR7UZztsOYuGA7+4F+oJ9O0yeB8WU4WDnNUYMF/9p8u6TqFJBU820cEY8OexJQa Wt9MevPZQx08EHp5JduQ/vBR5zDWQQD9nyjfeb6Uu522FOMjhdepQeBMpHmwKxqL 8vg7ij5FrHGSALSQQZj7X+36ty6K+Ig3AgMBAAGjEzARMA8GA1UdEwEB/wQFMAMB Af8wDQYJKoZIhvcNAQEEBQADgYEAZ9viwuaHPUCDhjc1fR/OmsMMZiCouqoEiYbC 9RAIDb/LogWK0E02PvTX72nGXuSwlG9KuefeW4i2e9vjJ+V2w/A1wcu1J5szedyQ pgCed/r8zSeUQhac0xxo7L9c3eWpexAKMnRUEzGLhQOEkbdYATAUOK8oyvyxUBkZ CayJSdM= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 0 (0x0) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Durbanville, O=Thawte, OU=Thawte Certification, CN=Thawte Timestamping CA Validity Not Before: Jan 1 00:00:00 1997 GMT Not After : Dec 31 23:59:59 2020 GMT Subject: C=ZA, ST=Western Cape, L=Durbanville, O=Thawte, OU=Thawte Certification, CN=Thawte Timestamping CA Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d6:2b:58:78:61:45:86:53:ea:34:7b:51:9c:ed: b0:e6:2e:18:0e:fe:e0:5f:a8:27:d3:b4:c9:e0:7c: 59:4e:16:0e:73:54:60:c1:7f:f6:9f:2e:e9:3a:85: 24:15:3c:db:47:04:63:c3:9e:c4:94:1a:5a:df:4c: 7a:f3:d9:43:1d:3c:10:7a:79:25:db:90:fe:f0:51: e7:30:d6:41:00:fd:9f:28:df:79:be:94:bb:9d:b6: 14:e3:23:85:d7:a9:41:e0:4c:a4:79:b0:2b:1a:8b: f2:f8:3b:8a:3e:45:ac:71:92:00:b4:90:41:98:fb: 5f:ed:fa:b7:2e:8a:f8:88:37 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: md5WithRSAEncryption 67:db:e2:c2:e6:87:3d:40:83:86:37:35:7d:1f:ce:9a:c3:0c: 66:20:a8:ba:aa:04:89:86:c2:f5:10:08:0d:bf:cb:a2:05:8a: d0:4d:36:3e:f4:d7:ef:69:c6:5e:e4:b0:94:6f:4a:b9:e7:de: 5b:88:b6:7b:db:e3:27:e5:76:c3:f0:35:c1:cb:b5:27:9b:33: 79:dc:90:a6:00:9e:77:fa:fc:cd:27:94:42:16:9c:d3:1c:68: ec:bf:5c:dd:e5:a9:7b:10:0a:32:74:54:13:31:8b:85:03:84: 91:b7:58:01:30:14:38:af:28:ca:fc:b1:50:19:19:09:ac:89: 49:d3 UTN-USER First-Network Applications =================================== MD5 Fingerprint=BF:60:59:A3:5B:BA:F6:A7:76:42:DA:6F:1A:7B:50:CF PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEZDCCA0ygAwIBAgIQRL4Mi1AAJLQR0zYwS8AzdzANBgkqhkiG9w0BAQUFADCB ozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3Qt TmV0d29yayBBcHBsaWNhdGlvbnMwHhcNOTkwNzA5MTg0ODM5WhcNMTkwNzA5MTg1 NzQ5WjCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0 IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYD VQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VS Rmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IB DwAwggEKAoIBAQCz+5Gh5DZVhawGNFugmliy+LUPBXeDrjKxdpJo7CNKyXY/45y2 N3kDuatpjQclthln5LAbGHNhSuh+zdMvZOOmfAz6F4CjDUeJT1FxL+78P/m4FoCH iZMlIJpDgmkkdihZNaEdwH+DBmQWICzTSaSFtMBhf1EI+GgVkYDLpdXuOzr0hARe YFmnjDRy7rh4xdE7EkpvfmUnuaRVxblvQ6TFHSyZwFKkeEwVs0CYCGtDxgGwenv1 axwiP8vv/6jQOkt2FZ7S0cYu49tXGzKiuG/ohqY/cKvlcJKrRB5AUPuco2LkbG6g yN7igEL66S/ozjIEj3yNtxyjNTwV3Z7DrpelAgMBAAGjgZEwgY4wCwYDVR0PBAQD AgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFPqGydvguul49Uuo1hXf8NPh ahQ8ME8GA1UdHwRIMEYwRKBCoECGPmh0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9V VE4tVVNFUkZpcnN0LU5ldHdvcmtBcHBsaWNhdGlvbnMuY3JsMA0GCSqGSIb3DQEB BQUAA4IBAQCk8yXM0dSRgyLQzDKrm5ZONJFUICU0YV8qAhXhi6r/fWRRzwr/vH3Y IWp4yy9Rb/hCHTO967V7lMPDqaAt39EpHx3+jz+7qEUqf9FuVSTiuwL7MT++6Lzs QCv4AdRWOOTKRIK1YSAhZ2X28AvnNPilwpyjXEAfhZOVBt5P1CeptqX8Fs1zMT+4 ZSfP1FMa8Kxun08FDAOBp4QpxFq9ZFdyrTvPNximmMatBrTcCKME1SmklpoSZ0qM YEWd8SOasACcaLWYUNPvji6SZbFIPiG+FTAqDbUMo2s/rn9X9R+WfN9v3YIwLGUb QErNaLly7HF27FSOH4UMAWr6pjisH8SE -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 44:be:0c:8b:50:00:24:b4:11:d3:36:30:4b:c0:33:77 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN-USERFirst-Network Applications Validity Not Before: Jul 9 18:48:39 1999 GMT Not After : Jul 9 18:57:49 2019 GMT Subject: C=US, ST=UT, L=Salt Lake City, O=The USERTRUST Network, OU=http://www.usertrust.com, CN=UTN-USERFirst-Network Applications Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:b3:fb:91:a1:e4:36:55:85:ac:06:34:5b:a0:9a: 58:b2:f8:b5:0f:05:77:83:ae:32:b1:76:92:68:ec: 23:4a:c9:76:3f:e3:9c:b6:37:79:03:b9:ab:69:8d: 07:25:b6:19:67:e4:b0:1b:18:73:61:4a:e8:7e:cd: d3:2f:64:e3:a6:7c:0c:fa:17:80:a3:0d:47:89:4f: 51:71:2f:ee:fc:3f:f9:b8:16:80:87:89:93:25:20: 9a:43:82:69:24:76:28:59:35:a1:1d:c0:7f:83:06: 64:16:20:2c:d3:49:a4:85:b4:c0:61:7f:51:08:f8: 68:15:91:80:cb:a5:d5:ee:3b:3a:f4:84:04:5e:60: 59:a7:8c:34:72:ee:b8:78:c5:d1:3b:12:4a:6f:7e: 65:27:b9:a4:55:c5:b9:6f:43:a4:c5:1d:2c:99:c0: 52:a4:78:4c:15:b3:40:98:08:6b:43:c6:01:b0:7a: 7b:f5:6b:1c:22:3f:cb:ef:ff:a8:d0:3a:4b:76:15: 9e:d2:d1:c6:2e:e3:db:57:1b:32:a2:b8:6f:e8:86: a6:3f:70:ab:e5:70:92:ab:44:1e:40:50:fb:9c:a3: 62:e4:6c:6e:a0:c8:de:e2:80:42:fa:e9:2f:e8:ce: 32:04:8f:7c:8d:b7:1c:a3:35:3c:15:dd:9e:c3:ae: 97:a5 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Key Usage: Digital Signature, Non Repudiation, Certificate Sign, CRL Sign X509v3 Basic Constraints: critical CA:TRUE X509v3 Subject Key Identifier: FA:86:C9:DB:E0:BA:E9:78:F5:4B:A8:D6:15:DF:F0:D3:E1:6A:14:3C X509v3 CRL Distribution Points: URI:http://crl.usertrust.com/UTN-USERFirst-NetworkApplications.crl Signature Algorithm: sha1WithRSAEncryption a4:f3:25:cc:d1:d4:91:83:22:d0:cc:32:ab:9b:96:4e:34:91: 54:20:25:34:61:5f:2a:02:15:e1:8b:aa:ff:7d:64:51:cf:0a: ff:bc:7d:d8:21:6a:78:cb:2f:51:6f:f8:42:1d:33:bd:eb:b5: 7b:94:c3:c3:a9:a0:2d:df:d1:29:1f:1d:fe:8f:3f:bb:a8:45: 2a:7f:d1:6e:55:24:e2:bb:02:fb:31:3f:be:e8:bc:ec:40:2b: f8:01:d4:56:38:e4:ca:44:82:b5:61:20:21:67:65:f6:f0:0b: e7:34:f8:a5:c2:9c:a3:5c:40:1f:85:93:95:06:de:4f:d4:27: a9:b6:a5:fc:16:cd:73:31:3f:b8:65:27:cf:d4:53:1a:f0:ac: 6e:9f:4f:05:0c:03:81:a7:84:29:c4:5a:bd:64:57:72:ad:3b: cf:37:18:a6:98:c6:ad:06:b4:dc:08:a3:04:d5:29:a4:96:9a: 12:67:4a:8c:60:45:9d:f1:23:9a:b0:00:9c:68:b5:98:50:d3: ef:8e:2e:92:65:b1:48:3e:21:be:15:30:2a:0d:b5:0c:a3:6b: 3f:ae:7f:57:f5:1f:96:7c:df:6f:dd:82:30:2c:65:1b:40:4a: cd:68:b9:72:ec:71:76:ec:54:8e:1f:85:0c:01:6a:fa:a6:38: ac:1f:c4:84 ValiCert Class 1 VA =================== MD5 Fingerprint=65:58:AB:15:AD:57:6C:1E:A8:A7:B5:69:AC:BF:FF:EB PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0 IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG 9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIyMjM0OFoXDTE5MDYy NTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9Y LqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIiGQj4/xEjm84H9b9pGib+ TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCmDuJWBQ8Y TfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0 LBwGlN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLW I8sogTLDAHkY7FkXicnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPw nXS3qT6gpf+2SQMT2iLM7XGCK5nPOrf1LXLI -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 1 Policy Validation Authority, CN=http://www.valicert.com//Email=info@valicert.com Validity Not Before: Jun 25 22:23:48 1999 GMT Not After : Jun 25 22:23:48 2019 GMT Subject: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 1 Policy Validation Authority, CN=http://www.valicert.com//Email=info@valicert.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d8:59:82:7a:89:b8:96:ba:a6:2f:68:6f:58:2e: a7:54:1c:06:6e:f4:ea:8d:48:bc:31:94:17:f0:f3: 4e:bc:b2:b8:35:92:76:b0:d0:a5:a5:01:d7:00:03: 12:22:19:08:f8:ff:11:23:9b:ce:07:f5:bf:69:1a: 26:fe:4e:e9:d1:7f:9d:2c:40:1d:59:68:6e:a6:f8: 58:b0:9d:1a:8f:d3:3f:f1:dc:19:06:81:a8:0e:e0: 3a:dd:c8:53:45:09:06:e6:0f:70:c3:fa:40:a6:0e: e2:56:05:0f:18:4d:fc:20:82:d1:73:55:74:8d:76: 72:a0:1d:9d:1d:c0:dd:3f:71 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 50:68:3d:49:f4:2c:1c:06:94:df:95:60:7f:96:7b:17:fe:4f: 71:ad:64:c8:dd:77:d2:ef:59:55:e8:3f:e8:8e:05:2a:21:f2: 07:d2:b5:a7:52:fe:9c:b1:b6:e2:5b:77:17:40:ea:72:d6:23: cb:28:81:32:c3:00:79:18:ec:59:17:89:c9:c6:6a:1e:71:c9: fd:b7:74:a5:25:45:69:c5:48:ab:19:e1:45:8a:25:6b:19:ee: e5:bb:12:f5:7f:f7:a6:8d:51:c3:f0:9d:74:b7:a9:3e:a0:a5: ff:b6:49:03:13:da:22:cc:ed:71:82:2b:99:cf:3a:b7:f5:2d: 72:c8 ValiCert Class 2 VA =================== MD5 Fingerprint=A9:23:75:9B:BA:49:36:6E:31:C2:DB:F2:E7:66:BA:87 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0 IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG 9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMTk1NFoXDTE5MDYy NjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOOnHK5avIWZJV16vY dA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVCCSRrCl6zfN1SLUzm1NZ9 WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7RfZHM047QS v4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9v UJSZSWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTu IYEZoDJJKPTEjlbVUjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwC W/POuZ6lcg5Ktz885hZo+L7tdEy8W9ViH0Pd -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 2 Policy Validation Authority, CN=http://www.valicert.com//Email=info@valicert.com Validity Not Before: Jun 26 00:19:54 1999 GMT Not After : Jun 26 00:19:54 2019 GMT Subject: L=ValiCert Validation Network, O=ValiCert, Inc., OU=ValiCert Class 2 Policy Validation Authority, CN=http://www.valicert.com//Email=info@valicert.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:ce:3a:71:ca:e5:ab:c8:59:92:55:d7:ab:d8:74: 0e:f9:ee:d9:f6:55:47:59:65:47:0e:05:55:dc:eb: 98:36:3c:5c:53:5d:d3:30:cf:38:ec:bd:41:89:ed: 25:42:09:24:6b:0a:5e:b3:7c:dd:52:2d:4c:e6:d4: d6:7d:5a:59:a9:65:d4:49:13:2d:24:4d:1c:50:6f: b5:c1:85:54:3b:fe:71:e4:d3:5c:42:f9:80:e0:91: 1a:0a:5b:39:36:67:f3:3f:55:7c:1b:3f:b4:5f:64: 73:34:e3:b4:12:bf:87:64:f8:da:12:ff:37:27:c1: b3:43:bb:ef:7b:6e:2e:69:f7 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 3b:7f:50:6f:6f:50:94:99:49:62:38:38:1f:4b:f8:a5:c8:3e: a7:82:81:f6:2b:c7:e8:c5:ce:e8:3a:10:82:cb:18:00:8e:4d: bd:a8:58:7f:a1:79:00:b5:bb:e9:8d:af:41:d9:0f:34:ee:21: 81:19:a0:32:49:28:f4:c4:8e:56:d5:52:33:fd:50:d5:7e:99: 6c:03:e4:c9:4c:fc:cb:6c:ab:66:b3:4a:21:8c:e5:b5:0c:32: 3e:10:b2:cc:6c:a1:dc:9a:98:4c:02:5b:f3:ce:b9:9e:a5:72: 0e:4a:b7:3f:3c:e6:16:68:f8:be:ed:74:4c:bc:5b:d5:62:1f: 43:dd ValiCert OCSP Responder ======================= MD5 Fingerprint=D5:1E:20:5F:D1:F5:1D:82:57:08:52:39:1D:FA:8A:AD PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDSDCCArGgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBsjEkMCIGA1UEBxMbVmFs aUNlcnQgVmFsaWRhdGlvbiBOZXR3b3JrMRcwFQYDVQQKEw5WYWxpQ2VydCwgSW5j LjEsMCoGA1UECxMjQ2xhc3MgMSBWYWxpZGF0aW9uIEF1dGhvcml0eSAtIE9DU1Ax ITAfBgNVBAMTGGh0dHA6Ly93d3cudmFsaWNlcnQubmV0LzEgMB4GCSqGSIb3DQEJ ARYRaW5mb0B2YWxpY2VydC5jb20wHhcNMDAwMjEyMTE1MDA1WhcNMDUwMjEwMTE1 MDA1WjCBsjEkMCIGA1UEBxMbVmFsaUNlcnQgVmFsaWRhdGlvbiBOZXR3b3JrMRcw FQYDVQQKEw5WYWxpQ2VydCwgSW5jLjEsMCoGA1UECxMjQ2xhc3MgMSBWYWxpZGF0 aW9uIEF1dGhvcml0eSAtIE9DU1AxITAfBgNVBAMTGGh0dHA6Ly93d3cudmFsaWNl cnQubmV0LzEgMB4GCSqGSIb3DQEJARYRaW5mb0B2YWxpY2VydC5jb20wgZ8wDQYJ KoZIhvcNAQEBBQADgY0AMIGJAoGBAMeML6fDQIc7PdfEmlgUZArDCDliGs/S66nx aXSKyg5adsyiUk7Q88R6tfimHLujp6RTh1uNwAC71WYk53TGFsivyANi1TKHolKR RJSVqEdDbaVInPZMddVPYufJ/3v0JIynvCh2tTKgJXO3Ry94+Eb5hxTwd/wKd+hP /Ywf+mLZAgMBAAGjbDBqMA8GCSsGAQUFBzABBQQCBQAwEwYDVR0lBAwwCgYIKwYB BQUHAwkwCwYDVR0PBAQDAgGGMDUGCCsGAQUFBwEBBCkwJzAlBggrBgEFBQcwAYYZ aHR0cDovL29jc3AyLnZhbGljZXJ0Lm5ldDANBgkqhkiG9w0BAQUFAAOBgQAVxeC4 NHISBiCoYpWT0byTupCr3E6Njo2YTOMy9Ss/s5f7qqKtQJetaL1crVMO0KazDawa mY2qMB7PDnD/ArB3ZYPN2gdcUs1Zu6LI4rQWg4/UlXmTLei/RJMxkjDTNDTxEPsh rC70w11kY3qZ4ZqrQh1IZqZ3N7hVPK3+ZbBi6Q== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: sha1WithRSAEncryption Issuer: L=ValiCert Validation Network, O=ValiCert, Inc., OU=Class 1 Validation Authority - OCSP, CN=http://www.valicert.net//Email=info@valicert.com Validity Not Before: Feb 12 11:50:05 2000 GMT Not After : Feb 10 11:50:05 2005 GMT Subject: L=ValiCert Validation Network, O=ValiCert, Inc., OU=Class 1 Validation Authority - OCSP, CN=http://www.valicert.net//Email=info@valicert.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c7:8c:2f:a7:c3:40:87:3b:3d:d7:c4:9a:58:14: 64:0a:c3:08:39:62:1a:cf:d2:eb:a9:f1:69:74:8a: ca:0e:5a:76:cc:a2:52:4e:d0:f3:c4:7a:b5:f8:a6: 1c:bb:a3:a7:a4:53:87:5b:8d:c0:00:bb:d5:66:24: e7:74:c6:16:c8:af:c8:03:62:d5:32:87:a2:52:91: 44:94:95:a8:47:43:6d:a5:48:9c:f6:4c:75:d5:4f: 62:e7:c9:ff:7b:f4:24:8c:a7:bc:28:76:b5:32:a0: 25:73:b7:47:2f:78:f8:46:f9:87:14:f0:77:fc:0a: 77:e8:4f:fd:8c:1f:fa:62:d9 Exponent: 65537 (0x10001) X509v3 extensions: noCheck: .. X509v3 Extended Key Usage: OCSP Signing X509v3 Key Usage: Digital Signature, Certificate Sign, CRL Sign Authority Information Access: OCSP - URI:http://ocsp2.valicert.net Signature Algorithm: sha1WithRSAEncryption 15:c5:e0:b8:34:72:12:06:20:a8:62:95:93:d1:bc:93:ba:90: ab:dc:4e:8d:8e:8d:98:4c:e3:32:f5:2b:3f:b3:97:fb:aa:a2: ad:40:97:ad:68:bd:5c:ad:53:0e:d0:a6:b3:0d:ac:1a:99:8d: aa:30:1e:cf:0e:70:ff:02:b0:77:65:83:cd:da:07:5c:52:cd: 59:bb:a2:c8:e2:b4:16:83:8f:d4:95:79:93:2d:e8:bf:44:93: 31:92:30:d3:34:34:f1:10:fb:21:ac:2e:f4:c3:5d:64:63:7a: 99:e1:9a:ab:42:1d:48:66:a6:77:37:b8:55:3c:ad:fe:65:b0: 62:e9 Verisign/RSA Secure Server CA ============================= MD5 Fingerprint=74:7B:82:03:43:F0:00:9E:6B:B3:EC:47:BF:85:A5:93 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICNDCCAaECEAKtZn5ORf5eV288mBle3cAwDQYJKoZIhvcNAQECBQAwXzELMAkG A1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYD VQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk0 MTEwOTAwMDAwMFoXDTEwMDEwNzIzNTk1OVowXzELMAkGA1UEBhMCVVMxIDAeBgNV BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQLEyVTZWN1cmUgU2Vy dmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGbMA0GCSqGSIb3DQEBAQUAA4GJ ADCBhQJ+AJLOesGugz5aqomDV6wlAXYMra6OLDfO6zV4ZFQD5YRAUcm/jwjiioII 0haGN1XpsSECrXZogZoFokvJSyVmIlZsiAeP94FZbYQHZXATcXY+m3dM41CJVphI uR2nKRoTLkoRWZweFdVJVCxzOmmCsZc5nG1wZ0jl3S3WyB57AgMBAAEwDQYJKoZI hvcNAQECBQADfgBl3X7hsuyw4jrg7HFGmhkRuNPHoLQDQCYCPgmc4RKz0Vr2N6W3 YQO2WxZpO8ZECAyIUwxrl0nHPjXcbLm7qt9cuzovk2C2qUtN8iD3zV9/ZHuO3ABc 1/p3yjkWWW8O6tO1g39NTUJWdrTJXwT4OPjr0l91X817/OWOgHz8UA== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 02:ad:66:7e:4e:45:fe:5e:57:6f:3c:98:19:5e:dd:c0 Signature Algorithm: md2WithRSAEncryption Issuer: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority Validity Not Before: Nov 9 00:00:00 1994 GMT Not After : Jan 7 23:59:59 2010 GMT Subject: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1000 bit) Modulus (1000 bit): 00:92:ce:7a:c1:ae:83:3e:5a:aa:89:83:57:ac:25: 01:76:0c:ad:ae:8e:2c:37:ce:eb:35:78:64:54:03: e5:84:40:51:c9:bf:8f:08:e2:8a:82:08:d2:16:86: 37:55:e9:b1:21:02:ad:76:68:81:9a:05:a2:4b:c9: 4b:25:66:22:56:6c:88:07:8f:f7:81:59:6d:84:07: 65:70:13:71:76:3e:9b:77:4c:e3:50:89:56:98:48: b9:1d:a7:29:1a:13:2e:4a:11:59:9c:1e:15:d5:49: 54:2c:73:3a:69:82:b1:97:39:9c:6d:70:67:48:e5: dd:2d:d6:c8:1e:7b Exponent: 65537 (0x10001) Signature Algorithm: md2WithRSAEncryption 65:dd:7e:e1:b2:ec:b0:e2:3a:e0:ec:71:46:9a:19:11:b8:d3: c7:a0:b4:03:40:26:02:3e:09:9c:e1:12:b3:d1:5a:f6:37:a5: b7:61:03:b6:5b:16:69:3b:c6:44:08:0c:88:53:0c:6b:97:49: c7:3e:35:dc:6c:b9:bb:aa:df:5c:bb:3a:2f:93:60:b6:a9:4b: 4d:f2:20:f7:cd:5f:7f:64:7b:8e:dc:00:5c:d7:fa:77:ca:39: 16:59:6f:0e:ea:d3:b5:83:7f:4d:4d:42:56:76:b4:c9:5f:04: f8:38:f8:eb:d2:5f:75:5f:cd:7b:fc:e5:8e:80:7c:fc:50 Verisign Class 1 Public Primary Certification Authority ======================================================= MD5 Fingerprint=97:60:E8:57:5F:D3:50:47:E5:43:0C:94:36:8A:B0:62 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICPTCCAaYCEQDNun9W8N/kvFT+IqyzcqpVMA0GCSqGSIb3DQEBAgUAMF8xCzAJ BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xh c3MgMSBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05 NjAxMjkwMDAwMDBaFw0yODA4MDEyMzU5NTlaMF8xCzAJBgNVBAYTAlVTMRcwFQYD VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMSBQdWJsaWMgUHJp bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOB jQAwgYkCgYEA5Rm/baNWYS2ZSHH2Z965jeu3noaACpEO+jglr0aIguVzqKCbJF0N H8xlbgyw0FaEGIeaBpsQoXPftFg5a27B9hXVqKg/qhIGjTGsf7A01480Z4gJzRQR 4k5FVmkfeAKA2txHkSm7NsljXMXg1y2He6G3MrB7MLoqLzGq7qNn2tsCAwEAATAN BgkqhkiG9w0BAQIFAAOBgQBMP7iLxmjf7kMzDl3ppssHhE16M/+SG/Q2rdiVIjZo EWx8QszznC7EBz8UsA9P/5CSdvnivErpj82ggAr3xSnxgiJduLHdgSOjeyUVRjB5 FvjqBUuUfx3CHMjjt/QQQDwTw18fU+hI5Ia0e6E1sHslurjTjqs/OJ0ANACY89Fx lA== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: cd:ba:7f:56:f0:df:e4:bc:54:fe:22:ac:b3:72:aa:55 Signature Algorithm: md2WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority Validity Not Before: Jan 29 00:00:00 1996 GMT Not After : Aug 1 23:59:59 2028 GMT Subject: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:e5:19:bf:6d:a3:56:61:2d:99:48:71:f6:67:de: b9:8d:eb:b7:9e:86:80:0a:91:0e:fa:38:25:af:46: 88:82:e5:73:a8:a0:9b:24:5d:0d:1f:cc:65:6e:0c: b0:d0:56:84:18:87:9a:06:9b:10:a1:73:df:b4:58: 39:6b:6e:c1:f6:15:d5:a8:a8:3f:aa:12:06:8d:31: ac:7f:b0:34:d7:8f:34:67:88:09:cd:14:11:e2:4e: 45:56:69:1f:78:02:80:da:dc:47:91:29:bb:36:c9: 63:5c:c5:e0:d7:2d:87:7b:a1:b7:32:b0:7b:30:ba: 2a:2f:31:aa:ee:a3:67:da:db Exponent: 65537 (0x10001) Signature Algorithm: md2WithRSAEncryption 4c:3f:b8:8b:c6:68:df:ee:43:33:0e:5d:e9:a6:cb:07:84:4d: 7a:33:ff:92:1b:f4:36:ad:d8:95:22:36:68:11:6c:7c:42:cc: f3:9c:2e:c4:07:3f:14:b0:0f:4f:ff:90:92:76:f9:e2:bc:4a: e9:8f:cd:a0:80:0a:f7:c5:29:f1:82:22:5d:b8:b1:dd:81:23: a3:7b:25:15:46:30:79:16:f8:ea:05:4b:94:7f:1d:c2:1c:c8: e3:b7:f4:10:40:3c:13:c3:5f:1f:53:e8:48:e4:86:b4:7b:a1: 35:b0:7b:25:ba:b8:d3:8e:ab:3f:38:9d:00:34:00:98:f3:d1: 71:94 Verisign Class 1 Public Primary Certification Authority - G2 ============================================================ MD5 Fingerprint=DB:23:3D:F9:69:FA:4B:B9:95:80:44:73:5E:7D:41:83 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDAjCCAmsCEEzH6qqYPnHTkxD4PTqJkZIwDQYJKoZIhvcNAQEFBQAwgcExCzAJ BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh c3MgMSBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMg UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5 MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB AQUAA4GNADCBiQKBgQCq0Lq+Fi24g9TK0g+8djHKlNgdk4xWArzZbxpvUjZudVYK VdPfQ4chEWWKfo+9Id5rMj8bhDSVBZ1BNeuS65bdqlk/AVNtmU/t5eIqWpDBucSm Fc/IReumXY6cPvBkJHalzasab7bYe1FhbqZ/h8jit+U03EGI6glAvnOSPWvndQID AQABMA0GCSqGSIb3DQEBBQUAA4GBAKlPww3HZ74sy9mozS11534Vnjty637rXC0J h9ZrbWB85a7FkCMMXErQr7Fd88e2CtvgFZMN3QO8x3aKtd1Pw5sTdbgBwObJW2ul uIncrKTdcu1OofdPvAbT6shkdHvClUGcZXNY8ZCaPGqxmMnEh7zPRW1F4m4iP/68 DzFc6PLZ -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 4c:c7:ea:aa:98:3e:71:d3:93:10:f8:3d:3a:89:91:92 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Validity Not Before: May 18 00:00:00 1998 GMT Not After : Aug 1 23:59:59 2028 GMT Subject: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:aa:d0:ba:be:16:2d:b8:83:d4:ca:d2:0f:bc:76: 31:ca:94:d8:1d:93:8c:56:02:bc:d9:6f:1a:6f:52: 36:6e:75:56:0a:55:d3:df:43:87:21:11:65:8a:7e: 8f:bd:21:de:6b:32:3f:1b:84:34:95:05:9d:41:35: eb:92:eb:96:dd:aa:59:3f:01:53:6d:99:4f:ed:e5: e2:2a:5a:90:c1:b9:c4:a6:15:cf:c8:45:eb:a6:5d: 8e:9c:3e:f0:64:24:76:a5:cd:ab:1a:6f:b6:d8:7b: 51:61:6e:a6:7f:87:c8:e2:b7:e5:34:dc:41:88:ea: 09:40:be:73:92:3d:6b:e7:75 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption a9:4f:c3:0d:c7:67:be:2c:cb:d9:a8:cd:2d:75:e7:7e:15:9e: 3b:72:eb:7e:eb:5c:2d:09:87:d6:6b:6d:60:7c:e5:ae:c5:90: 23:0c:5c:4a:d0:af:b1:5d:f3:c7:b6:0a:db:e0:15:93:0d:dd: 03:bc:c7:76:8a:b5:dd:4f:c3:9b:13:75:b8:01:c0:e6:c9:5b: 6b:a5:b8:89:dc:ac:a4:dd:72:ed:4e:a1:f7:4f:bc:06:d3:ea: c8:64:74:7b:c2:95:41:9c:65:73:58:f1:90:9a:3c:6a:b1:98: c9:c4:87:bc:cf:45:6d:45:e2:6e:22:3f:fe:bc:0f:31:5c:e8: f2:d9 Verisign Class 1 Public Primary Certification Authority - G3 ============================================================ MD5 Fingerprint=B1:47:BC:18:57:D1:18:A0:78:2D:EC:71:E8:2A:95:73 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEGjCCAwICEQCLW3VWhFSFCwDPrzhIzrGkMA0GCSqGSIb3DQEBBQUAMIHKMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT aWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu IENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN2E1Lm0+afY8wR4 nN493GwTFtl63SRRZsDHJlkNrAYIwpTRMx/wgzUfbhvI3qpuFU5UJ+/EbRrsC+MO 8ESlV8dAWB6jRx9x7GD2bZTIGDnt/kIYVt/kTEkQeE4BdjVjEjbdZrwBBDajVWjV ojYJrKshJlQGrT/KFOCsyq0GHZXi+J3x4GD/wn91K0zM2v6HmSHquv4+VNfSWXjb PG7PoBMAGrgnoeS+Z5bKoMWznN3JdZ7rMJpfo83ZrngZPyPpXNspva1VyBtUjGP2 6KbqxzcSXKMpHgLZ2x87tNcPVkeBFQRKr4Mn0cVYiMHd9qqnoxjaaKptEVHhv2Vr n5Z20T0CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAq2aN17O6x5q25lXQBfGfMY1a qtmqRiYPce2lrVNWYgFHKkTp/j90CxObufRNG7LRX7K20ohcs5/Ny9Sn2WCVhDr4 wTcdYcrnsMXlkdpUpqwxga6X3s0IrLjAl4B/bnKk52kTlWUfxJM8/XmPBNQ+T+r3 ns7NZ3xPZQL/kYVUc8f/NveGLezQXk//EZ9yBta4GvFMDSZl4kSAHsef493oCtrs pSCAaWihT37ha88HQfqDjrw43bAuEbFrskLMmrz5SCJ5ShkPshw+IHTZasO+8ih4 E1Z5T21Q6huwtVexN2ZYI/PcD98Kh8TvhgXVOBRgmaNL3gaWcSzy27YfpO8/7g== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 8b:5b:75:56:84:54:85:0b:00:cf:af:38:48:ce:b1:a4 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 1 Public Primary Certification Authority - G3 Validity Not Before: Oct 1 00:00:00 1999 GMT Not After : Jul 16 23:59:59 2036 GMT Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 1 Public Primary Certification Authority - G3 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:dd:84:d4:b9:b4:f9:a7:d8:f3:04:78:9c:de:3d: dc:6c:13:16:d9:7a:dd:24:51:66:c0:c7:26:59:0d: ac:06:08:c2:94:d1:33:1f:f0:83:35:1f:6e:1b:c8: de:aa:6e:15:4e:54:27:ef:c4:6d:1a:ec:0b:e3:0e: f0:44:a5:57:c7:40:58:1e:a3:47:1f:71:ec:60:f6: 6d:94:c8:18:39:ed:fe:42:18:56:df:e4:4c:49:10: 78:4e:01:76:35:63:12:36:dd:66:bc:01:04:36:a3: 55:68:d5:a2:36:09:ac:ab:21:26:54:06:ad:3f:ca: 14:e0:ac:ca:ad:06:1d:95:e2:f8:9d:f1:e0:60:ff: c2:7f:75:2b:4c:cc:da:fe:87:99:21:ea:ba:fe:3e: 54:d7:d2:59:78:db:3c:6e:cf:a0:13:00:1a:b8:27: a1:e4:be:67:96:ca:a0:c5:b3:9c:dd:c9:75:9e:eb: 30:9a:5f:a3:cd:d9:ae:78:19:3f:23:e9:5c:db:29: bd:ad:55:c8:1b:54:8c:63:f6:e8:a6:ea:c7:37:12: 5c:a3:29:1e:02:d9:db:1f:3b:b4:d7:0f:56:47:81: 15:04:4a:af:83:27:d1:c5:58:88:c1:dd:f6:aa:a7: a3:18:da:68:aa:6d:11:51:e1:bf:65:6b:9f:96:76: d1:3d Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption ab:66:8d:d7:b3:ba:c7:9a:b6:e6:55:d0:05:f1:9f:31:8d:5a: aa:d9:aa:46:26:0f:71:ed:a5:ad:53:56:62:01:47:2a:44:e9: fe:3f:74:0b:13:9b:b9:f4:4d:1b:b2:d1:5f:b2:b6:d2:88:5c: b3:9f:cd:cb:d4:a7:d9:60:95:84:3a:f8:c1:37:1d:61:ca:e7: b0:c5:e5:91:da:54:a6:ac:31:81:ae:97:de:cd:08:ac:b8:c0: 97:80:7f:6e:72:a4:e7:69:13:95:65:1f:c4:93:3c:fd:79:8f: 04:d4:3e:4f:ea:f7:9e:ce:cd:67:7c:4f:65:02:ff:91:85:54: 73:c7:ff:36:f7:86:2d:ec:d0:5e:4f:ff:11:9f:72:06:d6:b8: 1a:f1:4c:0d:26:65:e2:44:80:1e:c7:9f:e3:dd:e8:0a:da:ec: a5:20:80:69:68:a1:4f:7e:e1:6b:cf:07:41:fa:83:8e:bc:38: dd:b0:2e:11:b1:6b:b2:42:cc:9a:bc:f9:48:22:79:4a:19:0f: b2:1c:3e:20:74:d9:6a:c3:be:f2:28:78:13:56:79:4f:6d:50: ea:1b:b0:b5:57:b1:37:66:58:23:f3:dc:0f:df:0a:87:c4:ef: 86:05:d5:38:14:60:99:a3:4b:de:06:96:71:2c:f2:db:b6:1f: a4:ef:3f:ee Verisign Class 1 Public Primary OCSP Responder ============================================== MD5 Fingerprint=7E:6F:3A:53:1B:7C:BE:B0:30:DB:43:1E:1E:94:89:B2 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDnjCCAwegAwIBAgIQK2jUo0aexTsoCas4XX8nIDANBgkqhkiG9w0BAQUFADBf MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT LkNsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw HhcNMDAwODA0MDAwMDAwWhcNMDQwODAzMjM1OTU5WjCBpzEXMBUGA1UEChMOVmVy aVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5 BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20v UlBBIChjKTAwMS4wLAYDVQQDEyVDbGFzcyAxIFB1YmxpYyBQcmltYXJ5IE9DU1Ag UmVzcG9uZGVyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC57V56Ondfzl86 UvzNZPdxtW9qlsZZklWUXS9bLsER6iaKy6eBPPZaRN56Ey/9WlHZezcmSsAnPwQD albBgyzhb1upVFAkSsYuekyhWzdUJCExH6F4GHansXDaItBq/gdiQMb39pt9DAa4 S8co5GYjhFHvRreT2IEzy+U2rMboBQIDAQABo4IBEDCCAQwwIAYDVR0RBBkwF6QV MBMxETAPBgNVBAMTCE9DU1AgMS0xMDEGA1UdHwQqMCgwJqAkoCKGIGh0dHA6Ly9j cmwudmVyaXNpZ24uY29tL3BjYTEuY3JsMBMGA1UdJQQMMAoGCCsGAQUFBwMJMEIG CCsGAQUFBwEBBDYwNDAyBggrBgEFBQcwAaYmFiRodHRwOi8vb2NzcC52ZXJpc2ln bi5jb20vb2NzcC9zdGF0dXMwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgG CCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vUlBBMAkGA1UdEwQC MAAwCwYDVR0PBAQDAgeAMA0GCSqGSIb3DQEBBQUAA4GBAHCQ3bjkvlMXfH8C6dX3 i5mTMWCNfuZgayTvYKzSzpHegG0JpNO4OOVEynJeDS3Bd5y9LAN4KY2kpXeH9fEr Jq3MB2w6VFoo4AnzTQoEytRYaQuns/XdAaXn3PAfusFdkI2z6k/BEVmXarIrE7Ha rZehs7GgIFvKMquNzxPwHynD -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 2b:68:d4:a3:46:9e:c5:3b:28:09:ab:38:5d:7f:27:20 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority Validity Not Before: Aug 4 00:00:00 2000 GMT Not After : Aug 3 23:59:59 2004 GMT Subject: O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/RPA (c)00, CN=Class 1 Public Primary OCSP Responder Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:b9:ed:5e:7a:3a:77:5f:ce:5f:3a:52:fc:cd:64: f7:71:b5:6f:6a:96:c6:59:92:55:94:5d:2f:5b:2e: c1:11:ea:26:8a:cb:a7:81:3c:f6:5a:44:de:7a:13: 2f:fd:5a:51:d9:7b:37:26:4a:c0:27:3f:04:03:6a: 56:c1:83:2c:e1:6f:5b:a9:54:50:24:4a:c6:2e:7a: 4c:a1:5b:37:54:24:21:31:1f:a1:78:18:76:a7:b1: 70:da:22:d0:6a:fe:07:62:40:c6:f7:f6:9b:7d:0c: 06:b8:4b:c7:28:e4:66:23:84:51:ef:46:b7:93:d8: 81:33:cb:e5:36:ac:c6:e8:05 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Alternative Name: DirName:/CN=OCSP 1-1 X509v3 CRL Distribution Points: URI:http://crl.verisign.com/pca1.crl X509v3 Extended Key Usage: OCSP Signing Authority Information Access: OCSP - URI:$http://ocsp.verisign.com/ocsp/status X509v3 Certificate Policies: Policy: 2.16.840.1.113733.1.7.1.1 CPS: https://www.verisign.com/RPA X509v3 Basic Constraints: CA:FALSE X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 70:90:dd:b8:e4:be:53:17:7c:7f:02:e9:d5:f7:8b:99:93:31: 60:8d:7e:e6:60:6b:24:ef:60:ac:d2:ce:91:de:80:6d:09:a4: d3:b8:38:e5:44:ca:72:5e:0d:2d:c1:77:9c:bd:2c:03:78:29: 8d:a4:a5:77:87:f5:f1:2b:26:ad:cc:07:6c:3a:54:5a:28:e0: 09:f3:4d:0a:04:ca:d4:58:69:0b:a7:b3:f5:dd:01:a5:e7:dc: f0:1f:ba:c1:5d:90:8d:b3:ea:4f:c1:11:59:97:6a:b2:2b:13: b1:da:ad:97:a1:b3:b1:a0:20:5b:ca:32:ab:8d:cf:13:f0:1f: 29:c3 Verisign Class 2 Public Primary Certification Authority ======================================================= MD5 Fingerprint=B3:9C:25:B1:C3:2E:32:53:80:15:30:9D:4D:02:77:3E PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICPDCCAaUCEC0b/EoXjaOR6+f/9YtFvgswDQYJKoZIhvcNAQECBQAwXzELMAkG A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz cyAyIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2 MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAyIFB1YmxpYyBQcmlt YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQC2WoujDWojg4BrzzmH9CETMwZMJaLtVRKXxaeAufqDwSCg+i8VDXyh YGt+eSz6Bg86rvYbb7HS/y8oUl+DfUvEerf4Zh+AVPy3wo5ZShRXRtGak75BkQO7 FYCTXOvnzAhsPz6zSvz/S2wj1VCCJkQZjiPDceoZJEcEnnW/yKYAHwIDAQABMA0G CSqGSIb3DQEBAgUAA4GBAIobK/o5wXTXXtgZZKJYSi034DNHD6zt96rbHuSLBlxg J8pFUs4W7z8GZOeUaHxgMxURaa+dYo2jA1Rrpr7l7gUYYAS/QoD90KioHgE796Nc r6Pc5iaAIzy4RHT3Cq5Ji2F4zCS/iIqnDupzGUH9TQPwiNHleI2lKk/2lw0Xd8rY -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 2d:1b:fc:4a:17:8d:a3:91:eb:e7:ff:f5:8b:45:be:0b Signature Algorithm: md2WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 2 Public Primary Certification Authority Validity Not Before: Jan 29 00:00:00 1996 GMT Not After : Aug 1 23:59:59 2028 GMT Subject: C=US, O=VeriSign, Inc., OU=Class 2 Public Primary Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:b6:5a:8b:a3:0d:6a:23:83:80:6b:cf:39:87:f4: 21:13:33:06:4c:25:a2:ed:55:12:97:c5:a7:80:b9: fa:83:c1:20:a0:fa:2f:15:0d:7c:a1:60:6b:7e:79: 2c:fa:06:0f:3a:ae:f6:1b:6f:b1:d2:ff:2f:28:52: 5f:83:7d:4b:c4:7a:b7:f8:66:1f:80:54:fc:b7:c2: 8e:59:4a:14:57:46:d1:9a:93:be:41:91:03:bb:15: 80:93:5c:eb:e7:cc:08:6c:3f:3e:b3:4a:fc:ff:4b: 6c:23:d5:50:82:26:44:19:8e:23:c3:71:ea:19:24: 47:04:9e:75:bf:c8:a6:00:1f Exponent: 65537 (0x10001) Signature Algorithm: md2WithRSAEncryption 8a:1b:2b:fa:39:c1:74:d7:5e:d8:19:64:a2:58:4a:2d:37:e0: 33:47:0f:ac:ed:f7:aa:db:1e:e4:8b:06:5c:60:27:ca:45:52: ce:16:ef:3f:06:64:e7:94:68:7c:60:33:15:11:69:af:9d:62: 8d:a3:03:54:6b:a6:be:e5:ee:05:18:60:04:bf:42:80:fd:d0: a8:a8:1e:01:3b:f7:a3:5c:af:a3:dc:e6:26:80:23:3c:b8:44: 74:f7:0a:ae:49:8b:61:78:cc:24:bf:88:8a:a7:0e:ea:73:19: 41:fd:4d:03:f0:88:d1:e5:78:8d:a5:2a:4f:f6:97:0d:17:77: ca:d8 Verisign Class 2 Public Primary Certification Authority - G2 ============================================================ MD5 Fingerprint=2D:BB:E5:25:D3:D1:65:82:3A:B7:0E:FA:E6:EB:E2:E1 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0Ns YXNzIDIgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH MjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y aXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazAe Fw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJVUzEX MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGlj IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMx KGMpIDE5OTggVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s eTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazCBnzANBgkqhkiG9w0B AQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjxnNuX6Zr8wgQGE75fUsjM HiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRCwiNPStjw DqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cC AwEAATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9ji nb3/7aHmZuovCfTK1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAX rXfMSTWqz9iP0b63GJZHc2pUIjRkLbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnIn jBJ7xUS0rg== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: b9:2f:60:cc:88:9f:a1:7a:46:09:b8:5b:70:6c:8a:af Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 2 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Validity Not Before: May 18 00:00:00 1998 GMT Not After : Aug 1 23:59:59 2028 GMT Subject: C=US, O=VeriSign, Inc., OU=Class 2 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:a7:88:01:21:74:2c:e7:1a:03:f0:98:e1:97:3c: 0f:21:08:f1:9c:db:97:e9:9a:fc:c2:04:06:13:be: 5f:52:c8:cc:1e:2c:12:56:2c:b8:01:69:2c:cc:99: 1f:ad:b0:96:ae:79:04:f2:13:39:c1:7b:98:ba:08: 2c:e8:c2:84:13:2c:aa:69:e9:09:f4:c7:a9:02:a4: 42:c2:23:4f:4a:d8:f0:0e:a2:fb:31:6c:c9:e6:6f: 99:27:07:f5:e6:f4:4c:78:9e:6d:eb:46:86:fa:b9: 86:c9:54:f2:b2:c4:af:d4:46:1c:5a:c9:15:30:ff: 0d:6c:f5:2d:0e:6d:ce:7f:77 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 72:2e:f9:7f:d1:f1:71:fb:c4:9e:f6:c5:5e:51:8a:40:98:b8: 68:f8:9b:1c:83:d8:e2:9d:bd:ff:ed:a1:e6:66:ea:2f:09:f4: ca:d7:ea:a5:2b:95:f6:24:60:86:4d:44:2e:83:a5:c4:2d:a0: d3:ae:78:69:6f:72:da:6c:ae:08:f0:63:92:37:e6:bb:c4:30: 17:ad:77:cc:49:35:aa:cf:d8:8f:d1:be:b7:18:96:47:73:6a: 54:22:34:64:2d:b6:16:9b:59:5b:b4:51:59:3a:b3:0b:14:f4: 12:df:67:a0:f4:ad:32:64:5e:b1:46:72:27:8c:12:7b:c5:44: b4:ae Verisign Class 2 Public Primary Certification Authority - G3 ============================================================ MD5 Fingerprint=F8:BE:C4:63:22:C9:A8:46:74:8B:B8:1D:1E:4A:2B:F6 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEGTCCAwECEGFwy0mMX5hFKeewptlQW3owDQYJKoZIhvcNAQEFBQAwgcoxCzAJ BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVy aVNpZ24gVHJ1c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24s IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNp Z24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 eSAtIEczMB4XDTk5MTAwMTAwMDAwMFoXDTM2MDcxNjIzNTk1OVowgcoxCzAJBgNV BAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNp Z24gVHJ1c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIElu Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24g Q2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt IEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArwoNwtUs22e5LeWU J92lvuCwTY+zYVY81nzD9M0+hsuiiOLh2KRpxbXiv8GmR1BeRjmL1Za6tW8UvxDO JxOeBUebMXoT2B/Z0wI3i60sR/COgQanDTAM6/c8DyAd3HJG7qUCyFvDyVZpTMUY wZF7C9UTAJu878NIPkZgIIUq1ZC2zYugzDLdt/1AVbJQHFauzI13TccgTacxdu9o koqQHgiBVrKtaaNS0MscxCM9H5n+TOgWY47GCI72MfbS+uV23bUckqNJzc0BzWjN qWm6o+sdDZykIKbBoMXRRkwXbdKsZj+WjOCE1Db/IlnF+RFgqF8EffIa9iVCYQ/E Srg+iQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQA0JhU8wI1NQ0kdvekhktdmnLfe xbjQ5F1fdiLAJvmEOjr5jLX77GDx6M4EsMjdpwOPMPOY36TmpDHf0xwLRtxyID+u 7gU8pDM/CzmscHhzS5kr3zDCVLCoO1Wh/hYozUK9dG6A2ydEp85EXdQbkJgNHkKU sQAsBNB0owIFImNjzYO1+8FtYmtpdf1dcEG59b98377BMnMiIYtYgXsVkXq642RI sH/7NiXaldDxJBQX3RiAa0YjOVT1jmIJBB2UkKab5iXiQkWquJCtvgiPqQtCGJTP cjnhsUPgKM+351psE2tJs//jGHyJizNdrDPXp/naOlXJWBD5qu9ats9LS98q -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 61:70:cb:49:8c:5f:98:45:29:e7:b0:a6:d9:50:5b:7a Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 2 Public Primary Certification Authority - G3 Validity Not Before: Oct 1 00:00:00 1999 GMT Not After : Jul 16 23:59:59 2036 GMT Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 2 Public Primary Certification Authority - G3 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:af:0a:0d:c2:d5:2c:db:67:b9:2d:e5:94:27:dd: a5:be:e0:b0:4d:8f:b3:61:56:3c:d6:7c:c3:f4:cd: 3e:86:cb:a2:88:e2:e1:d8:a4:69:c5:b5:e2:bf:c1: a6:47:50:5e:46:39:8b:d5:96:ba:b5:6f:14:bf:10: ce:27:13:9e:05:47:9b:31:7a:13:d8:1f:d9:d3:02: 37:8b:ad:2c:47:f0:8e:81:06:a7:0d:30:0c:eb:f7: 3c:0f:20:1d:dc:72:46:ee:a5:02:c8:5b:c3:c9:56: 69:4c:c5:18:c1:91:7b:0b:d5:13:00:9b:bc:ef:c3: 48:3e:46:60:20:85:2a:d5:90:b6:cd:8b:a0:cc:32: dd:b7:fd:40:55:b2:50:1c:56:ae:cc:8d:77:4d:c7: 20:4d:a7:31:76:ef:68:92:8a:90:1e:08:81:56:b2: ad:69:a3:52:d0:cb:1c:c4:23:3d:1f:99:fe:4c:e8: 16:63:8e:c6:08:8e:f6:31:f6:d2:fa:e5:76:dd:b5: 1c:92:a3:49:cd:cd:01:cd:68:cd:a9:69:ba:a3:eb: 1d:0d:9c:a4:20:a6:c1:a0:c5:d1:46:4c:17:6d:d2: ac:66:3f:96:8c:e0:84:d4:36:ff:22:59:c5:f9:11: 60:a8:5f:04:7d:f2:1a:f6:25:42:61:0f:c4:4a:b8: 3e:89 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 34:26:15:3c:c0:8d:4d:43:49:1d:bd:e9:21:92:d7:66:9c:b7: de:c5:b8:d0:e4:5d:5f:76:22:c0:26:f9:84:3a:3a:f9:8c:b5: fb:ec:60:f1:e8:ce:04:b0:c8:dd:a7:03:8f:30:f3:98:df:a4: e6:a4:31:df:d3:1c:0b:46:dc:72:20:3f:ae:ee:05:3c:a4:33: 3f:0b:39:ac:70:78:73:4b:99:2b:df:30:c2:54:b0:a8:3b:55: a1:fe:16:28:cd:42:bd:74:6e:80:db:27:44:a7:ce:44:5d:d4: 1b:90:98:0d:1e:42:94:b1:00:2c:04:d0:74:a3:02:05:22:63: 63:cd:83:b5:fb:c1:6d:62:6b:69:75:fd:5d:70:41:b9:f5:bf: 7c:df:be:c1:32:73:22:21:8b:58:81:7b:15:91:7a:ba:e3:64: 48:b0:7f:fb:36:25:da:95:d0:f1:24:14:17:dd:18:80:6b:46: 23:39:54:f5:8e:62:09:04:1d:94:90:a6:9b:e6:25:e2:42:45: aa:b8:90:ad:be:08:8f:a9:0b:42:18:94:cf:72:39:e1:b1:43: e0:28:cf:b7:e7:5a:6c:13:6b:49:b3:ff:e3:18:7c:89:8b:33: 5d:ac:33:d7:a7:f9:da:3a:55:c9:58:10:f9:aa:ef:5a:b6:cf: 4b:4b:df:2a Verisign Class 2 Public Primary OCSP Responder ============================================== MD5 Fingerprint=F3:45:BD:10:96:0D:85:4B:EF:9F:11:62:34:A7:5E:B5 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDnjCCAwegAwIBAgIQCUYX5h3Y1BygDKBi6HmKpzANBgkqhkiG9w0BAQUFADBf MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT LkNsYXNzIDIgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw HhcNMDAwODAxMDAwMDAwWhcNMDQwNzMxMjM1OTU5WjCBpzEXMBUGA1UEChMOVmVy aVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5 BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20v UlBBIChjKTAwMS4wLAYDVQQDEyVDbGFzcyAyIFB1YmxpYyBQcmltYXJ5IE9DU1Ag UmVzcG9uZGVyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQymMxYX9ENHwF fQs9apDLeUt3Cj9LxyPlwGItfpx+PoiHkdCs6E1Jh6KWkIrdBKUCP4yb6Yn+YqDi Wr3I3bR45qVCkwhnAcAgTddc9F3as+M3plIaLExlTYqH2aij8UlUuzxcgFFoxvtJ /wtVqxXd+5rBuR10DbKMRF2J/J/5gwIDAQABo4IBEDCCAQwwIAYDVR0RBBkwF6QV MBMxETAPBgNVBAMTCE9DU1AgMS0yMDEGA1UdHwQqMCgwJqAkoCKGIGh0dHA6Ly9j cmwudmVyaXNpZ24uY29tL3BjYTIuY3JsMBMGA1UdJQQMMAoGCCsGAQUFBwMJMEIG CCsGAQUFBwEBBDYwNDAyBggrBgEFBQcwAaYmFiRodHRwOi8vb2NzcC52ZXJpc2ln bi5jb20vb2NzcC9zdGF0dXMwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcBATAqMCgG CCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vUlBBMAkGA1UdEwQC MAAwCwYDVR0PBAQDAgeAMA0GCSqGSIb3DQEBBQUAA4GBAB99CW4kRnUEnPMmm+M5 bhfvvL2iG9IChIar0ECXLMRDiDcZayKoA3FQnSDcNmAgmnMtc1VsWJsswrQ0LHoz QsqR2elDr88e4PXEeqs/cmMeqTfhWzuIsxOGgpBXy1f/9Fa+It3jl6jhvCJDwt1N 2/aBnpIUnjkPE1TegtjAXjSN -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 09:46:17:e6:1d:d8:d4:1c:a0:0c:a0:62:e8:79:8a:a7 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 2 Public Primary Certification Authority Validity Not Before: Aug 1 00:00:00 2000 GMT Not After : Jul 31 23:59:59 2004 GMT Subject: O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/RPA (c)00, CN=Class 2 Public Primary OCSP Responder Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d0:ca:63:31:61:7f:44:34:7c:05:7d:0b:3d:6a: 90:cb:79:4b:77:0a:3f:4b:c7:23:e5:c0:62:2d:7e: 9c:7e:3e:88:87:91:d0:ac:e8:4d:49:87:a2:96:90: 8a:dd:04:a5:02:3f:8c:9b:e9:89:fe:62:a0:e2:5a: bd:c8:dd:b4:78:e6:a5:42:93:08:67:01:c0:20:4d: d7:5c:f4:5d:da:b3:e3:37:a6:52:1a:2c:4c:65:4d: 8a:87:d9:a8:a3:f1:49:54:bb:3c:5c:80:51:68:c6: fb:49:ff:0b:55:ab:15:dd:fb:9a:c1:b9:1d:74:0d: b2:8c:44:5d:89:fc:9f:f9:83 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Alternative Name: DirName:/CN=OCSP 1-2 X509v3 CRL Distribution Points: URI:http://crl.verisign.com/pca2.crl X509v3 Extended Key Usage: OCSP Signing Authority Information Access: OCSP - URI:$http://ocsp.verisign.com/ocsp/status X509v3 Certificate Policies: Policy: 2.16.840.1.113733.1.7.1.1 CPS: https://www.verisign.com/RPA X509v3 Basic Constraints: CA:FALSE X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 1f:7d:09:6e:24:46:75:04:9c:f3:26:9b:e3:39:6e:17:ef:bc: bd:a2:1b:d2:02:84:86:ab:d0:40:97:2c:c4:43:88:37:19:6b: 22:a8:03:71:50:9d:20:dc:36:60:20:9a:73:2d:73:55:6c:58: 9b:2c:c2:b4:34:2c:7a:33:42:ca:91:d9:e9:43:af:cf:1e:e0: f5:c4:7a:ab:3f:72:63:1e:a9:37:e1:5b:3b:88:b3:13:86:82: 90:57:cb:57:ff:f4:56:be:22:dd:e3:97:a8:e1:bc:22:43:c2: dd:4d:db:f6:81:9e:92:14:9e:39:0f:13:54:de:82:d8:c0:5e: 34:8d Verisign Class 3 Public Primary Certification Authority ======================================================= MD5 Fingerprint=10:FC:63:5D:F6:26:3E:0D:F3:25:BE:5F:79:CD:67:67 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2 MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 70:ba:e4:1d:10:d9:29:34:b6:38:ca:7b:03:cc:ba:bf Signature Algorithm: md2WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority Validity Not Before: Jan 29 00:00:00 1996 GMT Not After : Aug 1 23:59:59 2028 GMT Subject: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c9:5c:59:9e:f2:1b:8a:01:14:b4:10:df:04:40: db:e3:57:af:6a:45:40:8f:84:0c:0b:d1:33:d9:d9: 11:cf:ee:02:58:1f:25:f7:2a:a8:44:05:aa:ec:03: 1f:78:7f:9e:93:b9:9a:00:aa:23:7d:d6:ac:85:a2: 63:45:c7:72:27:cc:f4:4c:c6:75:71:d2:39:ef:4f: 42:f0:75:df:0a:90:c6:8e:20:6f:98:0f:f8:ac:23: 5f:70:29:36:a4:c9:86:e7:b1:9a:20:cb:53:a5:85: e7:3d:be:7d:9a:fe:24:45:33:dc:76:15:ed:0f:a2: 71:64:4c:65:2e:81:68:45:a7 Exponent: 65537 (0x10001) Signature Algorithm: md2WithRSAEncryption bb:4c:12:2b:cf:2c:26:00:4f:14:13:dd:a6:fb:fc:0a:11:84: 8c:f3:28:1c:67:92:2f:7c:b6:c5:fa:df:f0:e8:95:bc:1d:8f: 6c:2c:a8:51:cc:73:d8:a4:c0:53:f0:4e:d6:26:c0:76:01:57: 81:92:5e:21:f1:d1:b1:ff:e7:d0:21:58:cd:69:17:e3:44:1c: 9c:19:44:39:89:5c:dc:9c:00:0f:56:8d:02:99:ed:a2:90:45: 4c:e4:bb:10:a4:3d:f0:32:03:0e:f1:ce:f8:e8:c9:51:8c:e6: 62:9f:e6:9f:c0:7d:b7:72:9c:c9:36:3a:6b:9f:4e:a8:ff:64: 0d:64 Verisign Class 3 Public Primary Certification Authority - G2 ============================================================ MD5 Fingerprint=A2:33:9B:4C:74:78:73:D4:6C:E7:C1:F3:8D:CB:5C:E9 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJ BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh c3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMg UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5 MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB AQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCOFoUgRm1HP9SFIIThbbP4 pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71lSk8UOg0 13gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwID AQABMA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSk U01UbSuvDV1Ai2TT1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7i F6YM40AIOw7n60RzKprxaZLvcRTDOaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpY oJ2daZH9 -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 7d:d9:fe:07:cf:a8:1e:b7:10:79:67:fb:a7:89:34:c6 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Validity Not Before: May 18 00:00:00 1998 GMT Not After : Aug 1 23:59:59 2028 GMT Subject: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:cc:5e:d1:11:5d:5c:69:d0:ab:d3:b9:6a:4c:99: 1f:59:98:30:8e:16:85:20:46:6d:47:3f:d4:85:20: 84:e1:6d:b3:f8:a4:ed:0c:f1:17:0f:3b:f9:a7:f9: 25:d7:c1:cf:84:63:f2:7c:63:cf:a2:47:f2:c6:5b: 33:8e:64:40:04:68:c1:80:b9:64:1c:45:77:c7:d8: 6e:f5:95:29:3c:50:e8:34:d7:78:1f:a8:ba:6d:43: 91:95:8f:45:57:5e:7e:c5:fb:ca:a4:04:eb:ea:97: 37:54:30:6f:bb:01:47:32:33:cd:dc:57:9b:64:69: 61:f8:9b:1d:1c:89:4f:5c:67 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 51:4d:cd:be:5c:cb:98:19:9c:15:b2:01:39:78:2e:4d:0f:67: 70:70:99:c6:10:5a:94:a4:53:4d:54:6d:2b:af:0d:5d:40:8b: 64:d3:d7:ee:de:56:61:92:5f:a6:c4:1d:10:61:36:d3:2c:27: 3c:e8:29:09:b9:11:64:74:cc:b5:73:9f:1c:48:a9:bc:61:01: ee:e2:17:a6:0c:e3:40:08:3b:0e:e7:eb:44:73:2a:9a:f1:69: 92:ef:71:14:c3:39:ac:71:a7:91:09:6f:e4:71:06:b3:ba:59: 57:26:79:00:f6:f8:0d:a2:33:30:28:d4:aa:58:a0:9d:9d:69: 91:fd Verisign Class 3 Public Primary Certification Authority - G3 ============================================================ MD5 Fingerprint=CD:68:B6:A7:C7:C4:CE:75:E0:1D:4F:57:44:61:92:09 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te 2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC /Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 9b:7e:06:49:a3:3e:62:b9:d5:ee:90:48:71:29:ef:57 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G3 Validity Not Before: Oct 1 00:00:00 1999 GMT Not After : Jul 16 23:59:59 2036 GMT Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 3 Public Primary Certification Authority - G3 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:cb:ba:9c:52:fc:78:1f:1a:1e:6f:1b:37:73:bd: f8:c9:6b:94:12:30:4f:f0:36:47:f5:d0:91:0a:f5: 17:c8:a5:61:c1:16:40:4d:fb:8a:61:90:e5:76:20: c1:11:06:7d:ab:2c:6e:a6:f5:11:41:8e:fa:2d:ad: 2a:61:59:a4:67:26:4c:d0:e8:bc:52:5b:70:20:04: 58:d1:7a:c9:a4:69:bc:83:17:64:ad:05:8b:bc:d0: 58:ce:8d:8c:f5:eb:f0:42:49:0b:9d:97:27:67:32: 6e:e1:ae:93:15:1c:70:bc:20:4d:2f:18:de:92:88: e8:6c:85:57:11:1a:e9:7e:e3:26:11:54:a2:45:96: 55:83:ca:30:89:e8:dc:d8:a3:ed:2a:80:3f:7f:79: 65:57:3e:15:20:66:08:2f:95:93:bf:aa:47:2f:a8: 46:97:f0:12:e2:fe:c2:0a:2b:51:e6:76:e6:b7:46: b7:e2:0d:a6:cc:a8:c3:4c:59:55:89:e6:e8:53:5c: 1c:ea:9d:f0:62:16:0b:a7:c9:5f:0c:f0:de:c2:76: ce:af:f7:6a:f2:fa:41:a6:a2:33:14:c9:e5:7a:63: d3:9e:62:37:d5:85:65:9e:0e:e6:53:24:74:1b:5e: 1d:12:53:5b:c7:2c:e7:83:49:3b:15:ae:8a:68:b9: 57:97 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 11:14:96:c1:ab:92:08:f7:3f:2f:c9:b2:fe:e4:5a:9f:64:de: db:21:4f:86:99:34:76:36:57:dd:d0:15:2f:c5:ad:7f:15:1f: 37:62:73:3e:d4:e7:5f:ce:17:03:db:35:fa:2b:db:ae:60:09: 5f:1e:5f:8f:6e:bb:0b:3d:ea:5a:13:1e:0c:60:6f:b5:c0:b5: 23:22:2e:07:0b:cb:a9:74:cb:47:bb:1d:c1:d7:a5:6b:cc:2f: d2:42:fd:49:dd:a7:89:cf:53:ba:da:00:5a:28:bf:82:df:f8: ba:13:1d:50:86:82:fd:8e:30:8f:29:46:b0:1e:3d:35:da:38: 62:16:18:4a:ad:e6:b6:51:6c:de:af:62:eb:01:d0:1e:24:fe: 7a:8f:12:1a:12:68:b8:fb:66:99:14:14:45:5c:ae:e7:ae:69: 17:81:2b:5a:37:c9:5e:2a:f4:c6:e2:a1:5c:54:9b:a6:54:00: cf:f0:f1:c1:c7:98:30:1a:3b:36:16:db:a3:6e:ea:fd:ad:b2: c2:da:ef:02:47:13:8a:c0:f1:b3:31:ad:4f:1c:e1:4f:9c:af: 0f:0c:9d:f7:78:0d:d8:f4:35:56:80:da:b7:6d:17:8f:9d:1e: 81:64:e1:fe:c5:45:ba:ad:6b:b9:0a:7a:4e:4f:4b:84:ee:4b: f1:7d:dd:11 Verisign Class 3 Public Primary OCSP Responder ============================================== MD5 Fingerprint=7D:51:92:C9:76:83:98:16:DE:8C:B3:86:C4:7D:66:FB PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDojCCAwugAwIBAgIQLpaev7ZibOx76XPM42zBhDANBgkqhkiG9w0BAQUFADBf MQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsT LkNsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkw HhcNMDAwODA0MDAwMDAwWhcNMDQwODAzMjM1OTU5WjCBpzEXMBUGA1UEChMOVmVy aVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5 BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20v UlBBIChjKTAwMS4wLAYDVQQDEyVDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IE9DU1Ag UmVzcG9uZGVyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDx5AgOg7t140jl uNum8Lmr6Txix141W9ACVBHYydFWuXZLuat65s269gwE1n7WsAplrE454/H3LaMl Oe+wi8++2wxdbnD0B81w9zrAPjUW7XiMQ8/CJi5H1oZ9nPG+1mcMIiWkymXmH3p4 KC8/BdsEIb/hRWb+PLeC7Vq4FhW5VQIDAQABo4IBFDCCARAwIAYDVR0RBBkwF6QV MBMxETAPBgNVBAMTCE9DU1AgMS0zMDUGA1UdHwQuMCwwKqAooCaGJGh0dHA6Ly9j cmwudmVyaXNpZ24uY29tL3BjYTMuMS4xLmNybDATBgNVHSUEDDAKBggrBgEFBQcD CTBCBggrBgEFBQcBAQQ2MDQwMgYIKwYBBQUHMAGmJhYkaHR0cDovL29jc3AudmVy aXNpZ24uY29tL29jc3Avc3RhdHVzMEQGA1UdIAQ9MDswOQYLYIZIAYb4RQEHAQEw KjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL1JQQTAJBgNV HRMEAjAAMAsGA1UdDwQEAwIHgDANBgkqhkiG9w0BAQUFAAOBgQAC9lNjwKke8tCL MzCPSJtMsFa0g3FKvtxQ2PW24AvbvXhP6c8JNNopSZ0Bc1qRkYJULBMK03cjzzf8 Y96n4/a3tWlFKEnDkdyqRxypiJksBSqNjYr6YuJatwAgXTnEKMLL/J6oia5bPY4S 6jKy/OsU1wkVGsDNG9W1FU5B1ZbjTg== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 2e:96:9e:bf:b6:62:6c:ec:7b:e9:73:cc:e3:6c:c1:84 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority Validity Not Before: Aug 4 00:00:00 2000 GMT Not After : Aug 3 23:59:59 2004 GMT Subject: O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/RPA (c)00, CN=Class 3 Public Primary OCSP Responder Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:f1:e4:08:0e:83:bb:75:e3:48:e5:b8:db:a6:f0: b9:ab:e9:3c:62:c7:5e:35:5b:d0:02:54:11:d8:c9: d1:56:b9:76:4b:b9:ab:7a:e6:cd:ba:f6:0c:04:d6: 7e:d6:b0:0a:65:ac:4e:39:e3:f1:f7:2d:a3:25:39: ef:b0:8b:cf:be:db:0c:5d:6e:70:f4:07:cd:70:f7: 3a:c0:3e:35:16:ed:78:8c:43:cf:c2:26:2e:47:d6: 86:7d:9c:f1:be:d6:67:0c:22:25:a4:ca:65:e6:1f: 7a:78:28:2f:3f:05:db:04:21:bf:e1:45:66:fe:3c: b7:82:ed:5a:b8:16:15:b9:55 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Alternative Name: DirName:/CN=OCSP 1-3 X509v3 CRL Distribution Points: URI:http://crl.verisign.com/pca3.1.1.crl X509v3 Extended Key Usage: OCSP Signing Authority Information Access: OCSP - URI:$http://ocsp.verisign.com/ocsp/status X509v3 Certificate Policies: Policy: 2.16.840.1.113733.1.7.1.1 CPS: https://www.verisign.com/RPA X509v3 Basic Constraints: CA:FALSE X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 02:f6:53:63:c0:a9:1e:f2:d0:8b:33:30:8f:48:9b:4c:b0:56: b4:83:71:4a:be:dc:50:d8:f5:b6:e0:0b:db:bd:78:4f:e9:cf: 09:34:da:29:49:9d:01:73:5a:91:91:82:54:2c:13:0a:d3:77: 23:cf:37:fc:63:de:a7:e3:f6:b7:b5:69:45:28:49:c3:91:dc: aa:47:1c:a9:88:99:2c:05:2a:8d:8d:8a:fa:62:e2:5a:b7:00: 20:5d:39:c4:28:c2:cb:fc:9e:a8:89:ae:5b:3d:8e:12:ea:32: b2:fc:eb:14:d7:09:15:1a:c0:cd:1b:d5:b5:15:4e:41:d5:96: e3:4e Verisign Class 4 Public Primary Certification Authority - G2 ============================================================ MD5 Fingerprint=26:6D:2C:19:98:B6:70:68:38:50:54:19:EC:90:34:60 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDAjCCAmsCEDKIjprS9esTR/h/xCA3JfgwDQYJKoZIhvcNAQEFBQAwgcExCzAJ BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh c3MgNCBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgNCBQdWJsaWMg UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5 MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB AQUAA4GNADCBiQKBgQC68OTP+cSuhVS5B1f5j8V/aBH4xBewRNzjMHPVKmIquNDM HO0oW369atyzkSTKQWI8/AIBvxwWMZQFl3Zuoq29YRdsTjCG8FE3KlDHqGKB3FtK qsGgtG7rL+VXxbErQHDbWk2hjh+9Ax/YA9SPTJlxvOKCzFjomDqG04Y48wApHwID AQABMA0GCSqGSIb3DQEBBQUAA4GBAIWMEsGnuVAVess+rLhDityq3RS6iYF+ATwj cSGIL4LcY/oCRaxFWdcqWERbt5+BO5JoPeI3JPV7bI92NZYJqFmduc4jq3TWg/0y cyfYaT5DdPauxYma51N86Xv2S/PBZYPejYqcPIiNOVn8qj8ijaHBZlCBckztImRP T8qAkbYp -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: 32:88:8e:9a:d2:f5:eb:13:47:f8:7f:c4:20:37:25:f8 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 4 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Validity Not Before: May 18 00:00:00 1998 GMT Not After : Aug 1 23:59:59 2028 GMT Subject: C=US, O=VeriSign, Inc., OU=Class 4 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:ba:f0:e4:cf:f9:c4:ae:85:54:b9:07:57:f9:8f: c5:7f:68:11:f8:c4:17:b0:44:dc:e3:30:73:d5:2a: 62:2a:b8:d0:cc:1c:ed:28:5b:7e:bd:6a:dc:b3:91: 24:ca:41:62:3c:fc:02:01:bf:1c:16:31:94:05:97: 76:6e:a2:ad:bd:61:17:6c:4e:30:86:f0:51:37:2a: 50:c7:a8:62:81:dc:5b:4a:aa:c1:a0:b4:6e:eb:2f: e5:57:c5:b1:2b:40:70:db:5a:4d:a1:8e:1f:bd:03: 1f:d8:03:d4:8f:4c:99:71:bc:e2:82:cc:58:e8:98: 3a:86:d3:86:38:f3:00:29:1f Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 85:8c:12:c1:a7:b9:50:15:7a:cb:3e:ac:b8:43:8a:dc:aa:dd: 14:ba:89:81:7e:01:3c:23:71:21:88:2f:82:dc:63:fa:02:45: ac:45:59:d7:2a:58:44:5b:b7:9f:81:3b:92:68:3d:e2:37:24: f5:7b:6c:8f:76:35:96:09:a8:59:9d:b9:ce:23:ab:74:d6:83: fd:32:73:27:d8:69:3e:43:74:f6:ae:c5:89:9a:e7:53:7c:e9: 7b:f6:4b:f3:c1:65:83:de:8d:8a:9c:3c:88:8d:39:59:fc:aa: 3f:22:8d:a1:c1:66:50:81:72:4c:ed:22:64:4f:4f:ca:80:91: b6:29 Verisign Class 4 Public Primary Certification Authority - G3 ============================================================ MD5 Fingerprint=DB:C8:F2:27:2E:B1:EA:6A:29:23:5D:FE:56:3E:33:DF PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT aWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu IENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK3LpRFpxlmr8Y+1 GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaStBO3IFsJ +mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0Gbd U6LM8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLm NxdLMEYH5IBtptiWLugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XY ufTsgsbSPZUd5cBPhMnZo0QoBmrXRazwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAj/ola09b5KROJ1WrIhVZPMq1 CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXttmhwwjIDLk5Mq g6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c 2NU8Qh0XwRJdRTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/ bLvSHgCwIe34QWKCudiyxLtGUPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 1 (0x0) Serial Number: ec:a0:a7:8b:6e:75:6a:01:cf:c4:7c:cc:2f:94:5e:d7 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 4 Public Primary Certification Authority - G3 Validity Not Before: Oct 1 00:00:00 1999 GMT Not After : Jul 16 23:59:59 2036 GMT Subject: C=US, O=VeriSign, Inc., OU=VeriSign Trust Network, OU=(c) 1999 VeriSign, Inc. - For authorized use only, CN=VeriSign Class 4 Public Primary Certification Authority - G3 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:ad:cb:a5:11:69:c6:59:ab:f1:8f:b5:19:0f:56: ce:cc:b5:1f:20:e4:9e:26:25:4b:e0:73:65:89:59: de:d0:83:e4:f5:0f:b5:bb:ad:f1:7c:e8:21:fc:e4: e8:0c:ee:7c:45:22:19:76:92:b4:13:b7:20:5b:09: fa:61:ae:a8:f2:a5:8d:85:c2:2a:d6:de:66:36:d2: 9b:02:f4:a8:92:60:7c:9c:69:b4:8f:24:1e:d0:86: 52:f6:32:9c:41:58:1e:22:bd:cd:45:62:95:08:6e: d0:66:dd:53:a2:cc:f0:10:dc:54:73:8b:04:a1:46: 33:33:5c:17:40:b9:9e:4d:d3:f3:be:55:83:e8:b1: 89:8e:5a:7c:9a:96:22:90:3b:88:25:f2:d2:53:88: 02:0c:0b:78:f2:e6:37:17:4b:30:46:07:e4:80:6d: a6:d8:96:2e:e8:2c:f8:11:b3:38:0d:66:a6:9b:ea: c9:23:5b:db:8e:e2:f3:13:8e:1a:59:2d:aa:02:f0: ec:a4:87:66:dc:c1:3f:f5:d8:b9:f4:ec:82:c6:d2: 3d:95:1d:e5:c0:4f:84:c9:d9:a3:44:28:06:6a:d7: 45:ac:f0:6b:6a:ef:4e:5f:f8:11:82:1e:38:63:34: 66:50:d4:3e:93:73:fa:30:c3:66:ad:ff:93:2d:97: ef:03 Exponent: 65537 (0x10001) Signature Algorithm: sha1WithRSAEncryption 8f:fa:25:6b:4f:5b:e4:a4:4e:27:55:ab:22:15:59:3c:ca:b5: 0a:d4:4a:db:ab:dd:a1:5f:53:c5:a0:57:39:c2:ce:47:2b:be: 3a:c8:56:bf:c2:d9:27:10:3a:b1:05:3c:c0:77:31:bb:3a:d3: 05:7b:6d:9a:1c:30:8c:80:cb:93:93:2a:83:ab:05:51:82:02: 00:11:67:6b:f3:88:61:47:5f:03:93:d5:5b:0d:e0:f1:d4:a1: 32:35:85:b2:3a:db:b0:82:ab:d1:cb:0a:bc:4f:8c:5b:c5:4b: 00:3b:1f:2a:82:a6:7e:36:85:dc:7e:3c:67:00:b5:e4:3b:52: e0:a8:eb:5d:15:f9:c6:6d:f0:ad:1d:0e:85:b7:a9:9a:73:14: 5a:5b:8f:41:28:c0:d5:e8:2d:4d:a4:5e:cd:aa:d9:ed:ce:dc: d8:d5:3c:42:1d:17:c1:12:5d:45:38:c3:38:f3:fc:85:2e:83: 46:48:b2:d7:20:5f:92:36:8f:e7:79:0f:98:5e:99:e8:f0:d0: a4:bb:f5:53:bd:2a:ce:59:b0:af:6e:7f:6c:bb:d2:1e:00:b0: 21:ed:f8:41:62:82:b9:d8:b2:c4:bb:46:50:f3:31:c5:8f:01: a8:74:eb:f5:78:27:da:e7:f7:66:43:f3:9e:83:3e:20:aa:c3: 35:60:91:ce Verisign Secure Server OCSP Responder ===================================== MD5 Fingerprint=2C:62:C3:D8:80:01:16:09:EA:59:EA:78:AB:10:43:F6 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDnzCCAwygAwIBAgIRAP9F1SddJPuzwjkkU1fhT94wDQYJKoZIhvcNAQEFBQAw XzELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMu MS4wLAYDVQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MB4XDTAwMDgwNDAwMDAwMFoXDTA0MDgwMzIzNTk1OVowgZ4xFzAVBgNVBAoTDlZl cmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTsw OQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29t L1JQQSAoYykwMDElMCMGA1UEAxMcU2VjdXJlIFNlcnZlciBPQ1NQIFJlc3BvbmRl cjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuFGZZIUO7rMKaPC/Y3YdU/X8 oXiMM+6f9L452psPTUepjyDoS0S9zs17kNEw6JDEJXuJKN699pMd/7n/krWpjeSu zOLDB4Nqo3IQASdiIqY1Jjktns9gDPxHpNfQQninHWzQy08VpykKtJVFxLHnWgnX OZXYHTWewr2zXcEMSx8CAwEAAaOCAR0wggEZMCAGA1UdEQQZMBekFTATMREwDwYD VQQDEwhPQ1NQIDEtNDA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vY3JsLnZlcmlz aWduLmNvbS9SU0FTZWN1cmVTZXJ2ZXItcC5jcmwwEwYDVR0lBAwwCgYIKwYBBQUH AwkwQgYIKwYBBQUHAQEENjA0MDIGCCsGAQUFBzABpiYWJGh0dHA6Ly9vY3NwLnZl cmlzaWduLmNvbS9vY3NwL3N0YXR1czBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBwEB MCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9SUEEwCQYD VR0TBAIwADALBgNVHQ8EBAMCB4AwDQYJKoZIhvcNAQEFBQADfgAAsxBTZpxJky4x oAJC0lhXfmah/huKYRhQQCweK0Gl1tv/rAgcWgVtAlwqtpZPR9u+TtvOzLqGuBjO sRKRX2P380g+zPFNE+RtCZR4AJLLoyCdBgtqoEMHztEZbI8YdZqfFzP9qSa44+Le wqjEWop/mNYHBmvMVp6GcM7U7w== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: ff:45:d5:27:5d:24:fb:b3:c2:39:24:53:57:e1:4f:de Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority Validity Not Before: Aug 4 00:00:00 2000 GMT Not After : Aug 3 23:59:59 2004 GMT Subject: O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/RPA (c)00, CN=Secure Server OCSP Responder Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:b8:51:99:64:85:0e:ee:b3:0a:68:f0:bf:63:76: 1d:53:f5:fc:a1:78:8c:33:ee:9f:f4:be:39:da:9b: 0f:4d:47:a9:8f:20:e8:4b:44:bd:ce:cd:7b:90:d1: 30:e8:90:c4:25:7b:89:28:de:bd:f6:93:1d:ff:b9: ff:92:b5:a9:8d:e4:ae:cc:e2:c3:07:83:6a:a3:72: 10:01:27:62:22:a6:35:26:39:2d:9e:cf:60:0c:fc: 47:a4:d7:d0:42:78:a7:1d:6c:d0:cb:4f:15:a7:29: 0a:b4:95:45:c4:b1:e7:5a:09:d7:39:95:d8:1d:35: 9e:c2:bd:b3:5d:c1:0c:4b:1f Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Alternative Name: DirName:/CN=OCSP 1-4 X509v3 CRL Distribution Points: URI:http://crl.verisign.com/RSASecureServer-p.crl X509v3 Extended Key Usage: OCSP Signing Authority Information Access: OCSP - URI:$http://ocsp.verisign.com/ocsp/status X509v3 Certificate Policies: Policy: 2.16.840.1.113733.1.7.1.1 CPS: https://www.verisign.com/RPA X509v3 Basic Constraints: CA:FALSE X509v3 Key Usage: Digital Signature Signature Algorithm: sha1WithRSAEncryption 00:b3:10:53:66:9c:49:93:2e:31:a0:02:42:d2:58:57:7e:66: a1:fe:1b:8a:61:18:50:40:2c:1e:2b:41:a5:d6:db:ff:ac:08: 1c:5a:05:6d:02:5c:2a:b6:96:4f:47:db:be:4e:db:ce:cc:ba: 86:b8:18:ce:b1:12:91:5f:63:f7:f3:48:3e:cc:f1:4d:13:e4: 6d:09:94:78:00:92:cb:a3:20:9d:06:0b:6a:a0:43:07:ce:d1: 19:6c:8f:18:75:9a:9f:17:33:fd:a9:26:b8:e3:e2:de:c2:a8: c4:5a:8a:7f:98:d6:07:06:6b:cc:56:9e:86:70:ce:d4:ef Verisign Time Stamping Authority CA =================================== MD5 Fingerprint=89:49:54:8C:C8:68:9A:83:29:EC:DC:06:73:21:AB:97 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDzTCCAzagAwIBAgIQU2GyYK7bcY6nlLMTM/QHCTANBgkqhkiG9w0BAQUFADCB wTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTwwOgYDVQQL EzNDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 IC0gRzIxOjA4BgNVBAsTMShjKSAxOTk4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1 dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv cmswHhcNMDAwOTI2MDAwMDAwWhcNMTAwOTI1MjM1OTU5WjCBpTEXMBUGA1UEChMO VmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsx OzA5BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5j b20vcnBhIChjKTAwMSwwKgYDVQQDEyNWZXJpU2lnbiBUaW1lIFN0YW1waW5nIEF1 dGhvcml0eSBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0hmdZ8IAIVli zrQJIkRpivglWtvtDbc2fk7gu5Q+kCWHwmFHKdm9VLhjzCx9abQzNvQ3B5rB3UBU /OB4naCTuQk9I1F/RMIUdNsKvsvJMDRAmD7Q1yUQgZS9B0+c1lQn3y6ov8uQjI11 S7zi6ESHzeZBCiVu6PQkAsVSD27smHUCAwEAAaOB3zCB3DAPBgNVHRMECDAGAQH/ AgEAMEUGA1UdIAQ+MDwwOgYMYIZIAYb4RQEHFwEDMCowKAYIKwYBBQUHAgEWHGh0 dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEwMQYDVR0fBCowKDAmoCSgIoYgaHR0 cDovL2NybC52ZXJpc2lnbi5jb20vcGNhMy5jcmwwCwYDVR0PBAQDAgEGMEIGCCsG AQUFBwEBBDYwNDAyBggrBgEFBQcwAaYmFiRodHRwOi8vb2NzcC52ZXJpc2lnbi5j b20vb2NzcC9zdGF0dXMwDQYJKoZIhvcNAQEFBQADgYEAgnBold+2DcIBcBlK0lRW HqzyRUyHuPU163hLBanInTsZIS5wNEqi9YngFXVF5yg3ADQnKeg3S/LvRJdrF1Ea w1adPBqK9kpGRjeM+sv1ZFo4aC4cw+9wzrhGBha/937ntag+RaypJXUie28/sJyU 58dzq6wf7iWbwBbtt8pb8BQ= -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 53:61:b2:60:ae:db:71:8e:a7:94:b3:13:33:f4:07:09 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority - G2, OU=(c) 1998 VeriSign, Inc. - For authorized use only, OU=VeriSign Trust Network Validity Not Before: Sep 26 00:00:00 2000 GMT Not After : Sep 25 23:59:59 2010 GMT Subject: O=VeriSign, Inc., OU=VeriSign Trust Network, OU=Terms of use at https://www.verisign.com/rpa (c)00, CN=VeriSign Time Stamping Authority CA Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:d2:19:9d:67:c2:00:21:59:62:ce:b4:09:22:44: 69:8a:f8:25:5a:db:ed:0d:b7:36:7e:4e:e0:bb:94: 3e:90:25:87:c2:61:47:29:d9:bd:54:b8:63:cc:2c: 7d:69:b4:33:36:f4:37:07:9a:c1:dd:40:54:fc:e0: 78:9d:a0:93:b9:09:3d:23:51:7f:44:c2:14:74:db: 0a:be:cb:c9:30:34:40:98:3e:d0:d7:25:10:81:94: bd:07:4f:9c:d6:54:27:df:2e:a8:bf:cb:90:8c:8d: 75:4b:bc:e2:e8:44:87:cd:e6:41:0a:25:6e:e8:f4: 24:02:c5:52:0f:6e:ec:98:75 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:TRUE, pathlen:0 X509v3 Certificate Policies: Policy: 2.16.840.1.113733.1.7.23.1.3 CPS: https://www.verisign.com/rpa X509v3 CRL Distribution Points: URI:http://crl.verisign.com/pca3.crl X509v3 Key Usage: Certificate Sign, CRL Sign Authority Information Access: OCSP - URI:$http://ocsp.verisign.com/ocsp/status Signature Algorithm: sha1WithRSAEncryption 82:70:68:95:df:b6:0d:c2:01:70:19:4a:d2:54:56:1e:ac:f2: 45:4c:87:b8:f5:35:eb:78:4b:05:a9:c8:9d:3b:19:21:2e:70: 34:4a:a2:f5:89:e0:15:75:45:e7:28:37:00:34:27:29:e8:37: 4b:f2:ef:44:97:6b:17:51:1a:c3:56:9d:3c:1a:8a:f6:4a:46: 46:37:8c:fa:cb:f5:64:5a:38:68:2e:1c:c3:ef:70:ce:b8:46: 06:16:bf:f7:7e:e7:b5:a8:3e:45:ac:a9:25:75:22:7b:6f:3f: b0:9c:94:e7:c7:73:ab:ac:1f:ee:25:9b:c0:16:ed:b7:ca:5b: f0:14 Visa eCommerce Root =================== MD5 Fingerprint=FC:11:B8:D8:08:93:30:00:6D:23:F9:7E:EB:52:1E:02 PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBr MQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRl cm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv bW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2WhcNMjIwNjI0MDAxNjEyWjBrMQsw CQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5h dGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1l cmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h 2mCxlCfLF9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4E lpF7sDPwsRROEW+1QK8bRaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdV ZqW1LS7YgFmypw23RuwhY/81q6UCzyr0TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq 299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI/k4+oKsGGelT84ATB+0t vz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzsGHxBvfaL dXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD AgEGMB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUF AAOCAQEAX/FBfXxcCLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcR zCSs00Rsca4BIGsDoo8Ytyk6feUWYFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3 LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pzzkWKsKZJ/0x9nXGIxHYdkFsd 7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBuYQa7FkKMcPcw ++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt 398znM/jra6O1I7mT1GvFpLgXPYHDw== -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 13:86:35:4d:1d:3f:06:f2:c1:f9:65:05:d5:90:1c:62 Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VISA, OU=Visa International Service Association, CN=Visa eCommerce Root Validity Not Before: Jun 26 02:18:36 2002 GMT Not After : Jun 24 00:16:12 2022 GMT Subject: C=US, O=VISA, OU=Visa International Service Association, CN=Visa eCommerce Root Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:af:57:de:56:1e:6e:a1:da:60:b1:94:27:cb:17: db:07:3f:80:85:4f:c8:9c:b6:d0:f4:6f:4f:cf:99: d8:e1:db:c2:48:5c:3a:ac:39:33:c7:1f:6a:8b:26: 3d:2b:35:f5:48:b1:91:c1:02:4e:04:96:91:7b:b0: 33:f0:b1:14:4e:11:6f:b5:40:af:1b:45:a5:4a:ef: 7e:b6:ac:f2:a0:1f:58:3f:12:46:60:3c:8d:a1:e0: 7d:cf:57:3e:33:1e:fb:47:f1:aa:15:97:07:55:66: a5:b5:2d:2e:d8:80:59:b2:a7:0d:b7:46:ec:21:63: ff:35:ab:a5:02:cf:2a:f4:4c:fe:7b:f5:94:5d:84: 4d:a8:f2:60:8f:db:0e:25:3c:9f:73:71:cf:94:df: 4a:ea:db:df:72:38:8c:f3:96:bd:f1:17:bc:d2:ba: 3b:45:5a:c6:a7:f6:c6:17:8b:01:9d:fc:19:a8:2a: 83:16:b8:3a:48:fe:4e:3e:a0:ab:06:19:e9:53:f3: 80:13:07:ed:2d:bf:3f:0a:3c:55:20:39:2c:2c:00: 69:74:95:4a:bc:20:b2:a9:79:e5:18:89:91:a8:dc: 1c:4d:ef:bb:7e:37:0b:5d:fe:39:a5:88:52:8c:00: 6c:ec:18:7c:41:bd:f6:8b:75:77:ba:60:9d:84:e7: fe:2d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Certificate Sign, CRL Sign X509v3 Subject Key Identifier: 15:38:83:0F:3F:2C:3F:70:33:1E:CD:46:FE:07:8C:20:E0:D7:C3:B7 Signature Algorithm: sha1WithRSAEncryption 5f:f1:41:7d:7c:5c:08:b9:2b:e0:d5:92:47:fa:67:5c:a5:13: c3:03:21:9b:2b:4c:89:46:cf:59:4d:c9:fe:a5:40:b6:63:cd: dd:71:28:95:67:11:cc:24:ac:d3:44:6c:71:ae:01:20:6b:03: a2:8f:18:b7:29:3a:7d:e5:16:60:53:78:3c:c0:af:15:83:f7: 8f:52:33:24:bd:64:93:97:ee:8b:f7:db:18:a8:6d:71:b3:f7: 2c:17:d0:74:25:69:f7:fe:6b:3c:94:be:4d:4b:41:8c:4e:e2: 73:d0:e3:90:22:73:43:cd:f3:ef:ea:73:ce:45:8a:b0:a6:49: ff:4c:7d:9d:71:88:c4:76:1d:90:5b:1d:ee:fd:cc:f7:ee:fd: 60:a5:b1:7a:16:71:d1:16:d0:7c:12:3c:6c:69:97:db:ae:5f: 39:9a:70:2f:05:3c:19:46:04:99:20:36:d0:60:6e:61:06:bb: 16:42:8c:70:f7:30:fb:e0:db:66:a3:00:01:bd:e6:2c:da:91: 5f:a0:46:8b:4d:6a:9c:3d:3d:dd:05:46:fe:76:bf:a0:0a:3c: e4:00:e6:27:b7:ff:84:2d:de:ba:22:27:96:10:71:eb:22:ed: df:df:33:9c:cf:e3:ad:ae:8e:d4:8e:e6:4f:51:af:16:92:e0: 5c:f6:07:0f Visa International Global Root 2 ================================ MD5 Fingerprint=35:48:95:36:4A:54:5A:72:96:8E:E0:64:CC:EF:2C:8C PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIDgDCCAmigAwIBAgICAx4wDQYJKoZIhvcNAQEFBQAwYTELMAkGA1UEBhMCVVMx DTALBgNVBAoTBFZJU0ExLzAtBgNVBAsTJlZpc2EgSW50ZXJuYXRpb25hbCBTZXJ2 aWNlIEFzc29jaWF0aW9uMRIwEAYDVQQDEwlHUCBSb290IDIwHhcNMDAwODE2MjI1 MTAwWhcNMjAwODE1MjM1OTAwWjBhMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklT QTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRp b24xEjAQBgNVBAMTCUdQIFJvb3QgMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBAKkBcLWqxEDwq2omYXkZAPy/mzdZDK9vZBv42pWUJGkzEXDK41Z0ohdX ZFwgBuHW73G3O/erwWnQSaSxBNf0V2KJXLB1LRckaeNCYOTudNargFbYiCjh+20i /SN8RnNPflRzHqgsVVh1t0zzWkWlAhr62p3DRcMiXvOL8WAp0sdftAw6UYPvMPjU 58fy+pmjIlC++QU3o63tmsPm7IgbthknGziLgE3sucfFicv8GjLtI/C1AVj59o/g halMCXI5Etuz9c9OYmTaxhkVOmMd6RdVoUwiPDQyRvhlV7or7zaMavrZ2UT0qt2E 1w0cslSsMoW0ZA3eQbuxNMYBhjJk1Z8CAwEAAaNCMEAwHQYDVR0OBBYEFJ59SzS/ ca3CBfYDdYDOqU8axCRMMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG MA0GCSqGSIb3DQEBBQUAA4IBAQAhpXYUVfmtJ3CPPPTVbMjMCqujmAuKBiPFyWHb mQdpNSYx/scuhMKZYdQN6X0uEyt8joW2hcdLzzW2LEc9zikv2G+fiRxkk78IvXbQ kIqUs38oW26sTTMs7WXcFsziza6kPWKSBpUmv9+55CCmc2rBvveURNZNbyoLaxhN dBA2aGpawWqn3TYpjLgwi08hPwAuVDAHOrqK5MOeyti12HvOdUVmB/RtLdh6yumJ ivIj2C/LbgA2T/vwLwHMD8AiZfSr4k5hLQOCfZEWtTDVFN5ex5D8ofyrEK9ca3Cn B+8phuiyJccg/ybdd+95RBTEvd07xQObdyPsoOy7Wjm1zK0G -----END TRUSTED CERTIFICATE----- Certificate Ingredients: Certificate: Data: Version: 3 (0x2) Serial Number: 798 (0x31e) Signature Algorithm: sha1WithRSAEncryption Issuer: C=US, O=VISA, OU=Visa International Service Association, CN=GP Root 2 Validity Not Before: Aug 16 22:51:00 2000 GMT Not After : Aug 15 23:59:00 2020 GMT Subject: C=US, O=VISA, OU=Visa International Service Association, CN=GP Root 2 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:a9:01:70:b5:aa:c4:40:f0:ab:6a:26:61:79:19: 00:fc:bf:9b:37:59:0c:af:6f:64:1b:f8:da:95:94: 24:69:33:11:70:ca:e3:56:74:a2:17:57:64:5c:20: 06:e1:d6:ef:71:b7:3b:f7:ab:c1:69:d0:49:a4:b1: 04:d7:f4:57:62:89:5c:b0:75:2d:17:24:69:e3:42: 60:e4:ee:74:d6:ab:80:56:d8:88:28:e1:fb:6d:22: fd:23:7c:46:73:4f:7e:54:73:1e:a8:2c:55:58:75: b7:4c:f3:5a:45:a5:02:1a:fa:da:9d:c3:45:c3:22: 5e:f3:8b:f1:60:29:d2:c7:5f:b4:0c:3a:51:83:ef: 30:f8:d4:e7:c7:f2:fa:99:a3:22:50:be:f9:05:37: a3:ad:ed:9a:c3:e6:ec:88:1b:b6:19:27:1b:38:8b: 80:4d:ec:b9:c7:c5:89:cb:fc:1a:32:ed:23:f0:b5: 01:58:f9:f6:8f:e0:85:a9:4c:09:72:39:12:db:b3: f5:cf:4e:62:64:da:c6:19:15:3a:63:1d:e9:17:55: a1:4c:22:3c:34:32:46:f8:65:57:ba:2b:ef:36:8c: 6a:fa:d9:d9:44:f4:aa:dd:84:d7:0d:1c:b2:54:ac: 32:85:b4:64:0d:de:41:bb:b1:34:c6:01:86:32:64: d5:9f Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: 9E:7D:4B:34:BF:71:AD:C2:05:F6:03:75:80:CE:A9:4F:1A:C4:24:4C X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Certificate Sign, CRL Sign Signature Algorithm: sha1WithRSAEncryption 21:a5:76:14:55:f9:ad:27:70:8f:3c:f4:d5:6c:c8:cc:0a:ab: a3:98:0b:8a:06:23:c5:c9:61:db:99:07:69:35:26:31:fe:c7: 2e:84:c2:99:61:d4:0d:e9:7d:2e:13:2b:7c:8e:85:b6:85:c7: 4b:cf:35:b6:2c:47:3d:ce:29:2f:d8:6f:9f:89:1c:64:93:bf: 08:bd:76:d0:90:8a:94:b3:7f:28:5b:6e:ac:4d:33:2c:ed:65: dc:16:cc:e2:cd:ae:a4:3d:62:92:06:95:26:bf:df:b9:e4:20: a6:73:6a:c1:be:f7:94:44:d6:4d:6f:2a:0b:6b:18:4d:74:10: 36:68:6a:5a:c1:6a:a7:dd:36:29:8c:b8:30:8b:4f:21:3f:00: 2e:54:30:07:3a:ba:8a:e4:c3:9e:ca:d8:b5:d8:7b:ce:75:45: 66:07:f4:6d:2d:d8:7a:ca:e9:89:8a:f2:23:d8:2f:cb:6e:00: 36:4f:fb:f0:2f:01:cc:0f:c0:22:65:f4:ab:e2:4e:61:2d:03: 82:7d:91:16:b5:30:d5:14:de:5e:c7:90:fc:a1:fc:ab:10:af: 5c:6b:70:a7:07:ef:29:86:e8:b2:25:c7:20:ff:26:dd:77:ef: 79:44:14:c4:bd:dd:3b:c5:03:9b:77:23:ec:a0:ec:bb:5a:39: b5:cc:ad:06 Boost ================================ PEM data: -----BEGIN TRUSTED CERTIFICATE----- MIIEcTCCA9qgAwIBAgIBHjANBgkqhkiG9w0BAQQFADCB2jELMAkGA1UEBhMCVVMx EDAOBgNVBAgTB0luZGlhbmExFDASBgNVBAcTC0Jsb29taW5ndG9uMRswGQYDVQQK ExJJbmRpYW5hIFVuaXZlcnNpdHkxJDAiBgNVBAsTG0NvbXB1dGVyIFNjaWVuY2Ug RGVwYXJ0bWVudDE6MDgGA1UEAxMxQ29tcHV0ZXIgU2NpZW5jZSBEZXBhcnRtZW50 IENlcnRpZmljYXRlIEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJARYVc2VjdXJlQGNz LmluZGlhbmEuZWR1MB4XDTA3MDMzMDIyNDI0MFoXDTE3MDMyNzIyNDI0MFowgbYx CzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdJbmRpYW5hMRQwEgYDVQQHEwtCbG9vbWlu Z3RvbjEbMBkGA1UEChMSSW5kaWFuYSBVbml2ZXJzaXR5MSQwIgYDVQQLExtDb21w dXRlciBTY2llbmNlIERlcGFydG1lbnQxFjAUBgNVBAMTDXN2bi5ib29zdC5vcmcx JDAiBgkqhkiG9w0BCQEWFXNlY3VyZUBjcy5pbmRpYW5hLmVkdTCBnzANBgkqhkiG 9w0BAQEFAAOBjQAwgYkCgYEAxaxyYumnVOczq/ycW6AP20TcmSPUzDXKc2WgS1Mv 5tZumKVB7x8gyRPymrNUB/mTEefyypt686d7c7J8cwEpeErqtkc9tgB1qh2aipUK rcmBVgKGdAUfMS7n1fe5A71Hq7taoD7STF3GCAYilV5LF9xVd333SBJuaJGYSmLo Al0CAwEAAaOCAWcwggFjMAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5T U0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBQnKN6rhjiYuGPfnOfh DX3qhlgygjCCAQcGA1UdIwSB/zCB/IAU1U2MOZn/zew88j8wPTWqzYhNzaKhgeCk gd0wgdoxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdJbmRpYW5hMRQwEgYDVQQHEwtC bG9vbWluZ3RvbjEbMBkGA1UEChMSSW5kaWFuYSBVbml2ZXJzaXR5MSQwIgYDVQQL ExtDb21wdXRlciBTY2llbmNlIERlcGFydG1lbnQxOjA4BgNVBAMTMUNvbXB1dGVy IFNjaWVuY2UgRGVwYXJ0bWVudCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxJDAiBgkq hkiG9w0BCQEWFXNlY3VyZUBjcy5pbmRpYW5hLmVkdYIBADANBgkqhkiG9w0BAQQF AAOBgQATYgcmC1Vq92eH4ZAbRl2v9ZsGpEZxf81Tjq2mZ5gWMjQ1sdvyATLq3lFW Hcng8m5GIZY60APUYat9KhtnMLPRg4cm4gUTJVG13n5FvvWbqSdnhr96AJOOAKA/ Rp4U64b3XQCqlYPz8XNkGhPLkP2DlrnwffNQYxT2lZW0t64VdA== -----END TRUSTED CERTIFICATE----- RCurl/inst/CurlSSL/certs.pem0000644000176000001440000000641212437571707015440 0ustar ripleyusers-----BEGIN CERTIFICATE----- MIIEcTCCA9qgAwIBAgIBHjANBgkqhkiG9w0BAQQFADCB2jELMAkGA1UEBhMCVVMx EDAOBgNVBAgTB0luZGlhbmExFDASBgNVBAcTC0Jsb29taW5ndG9uMRswGQYDVQQK ExJJbmRpYW5hIFVuaXZlcnNpdHkxJDAiBgNVBAsTG0NvbXB1dGVyIFNjaWVuY2Ug RGVwYXJ0bWVudDE6MDgGA1UEAxMxQ29tcHV0ZXIgU2NpZW5jZSBEZXBhcnRtZW50 IENlcnRpZmljYXRlIEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJARYVc2VjdXJlQGNz LmluZGlhbmEuZWR1MB4XDTA3MDMzMDIyNDI0MFoXDTE3MDMyNzIyNDI0MFowgbYx CzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdJbmRpYW5hMRQwEgYDVQQHEwtCbG9vbWlu Z3RvbjEbMBkGA1UEChMSSW5kaWFuYSBVbml2ZXJzaXR5MSQwIgYDVQQLExtDb21w dXRlciBTY2llbmNlIERlcGFydG1lbnQxFjAUBgNVBAMTDXN2bi5ib29zdC5vcmcx JDAiBgkqhkiG9w0BCQEWFXNlY3VyZUBjcy5pbmRpYW5hLmVkdTCBnzANBgkqhkiG 9w0BAQEFAAOBjQAwgYkCgYEAxaxyYumnVOczq/ycW6AP20TcmSPUzDXKc2WgS1Mv 5tZumKVB7x8gyRPymrNUB/mTEefyypt686d7c7J8cwEpeErqtkc9tgB1qh2aipUK rcmBVgKGdAUfMS7n1fe5A71Hq7taoD7STF3GCAYilV5LF9xVd333SBJuaJGYSmLo Al0CAwEAAaOCAWcwggFjMAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5T U0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBQnKN6rhjiYuGPfnOfh DX3qhlgygjCCAQcGA1UdIwSB/zCB/IAU1U2MOZn/zew88j8wPTWqzYhNzaKhgeCk gd0wgdoxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdJbmRpYW5hMRQwEgYDVQQHEwtC bG9vbWluZ3RvbjEbMBkGA1UEChMSSW5kaWFuYSBVbml2ZXJzaXR5MSQwIgYDVQQL ExtDb21wdXRlciBTY2llbmNlIERlcGFydG1lbnQxOjA4BgNVBAMTMUNvbXB1dGVy IFNjaWVuY2UgRGVwYXJ0bWVudCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxJDAiBgkq hkiG9w0BCQEWFXNlY3VyZUBjcy5pbmRpYW5hLmVkdYIBADANBgkqhkiG9w0BAQQF AAOBgQATYgcmC1Vq92eH4ZAbRl2v9ZsGpEZxf81Tjq2mZ5gWMjQ1sdvyATLq3lFW Hcng8m5GIZY60APUYat9KhtnMLPRg4cm4gUTJVG13n5FvvWbqSdnhr96AJOOAKA/ Rp4U64b3XQCqlYPz8XNkGhPLkP2DlrnwffNQYxT2lZW0t64VdA== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIE1DCCA7ygAwIBAgILAQAAAAABFIOxMIwwDQYJKoZIhvcNAQEFBQAwXzELMAkG A1UEBhMCQkUxEzARBgNVBAoTCkN5YmVydHJ1c3QxFzAVBgNVBAsTDkVkdWNhdGlv bmFsIENBMSIwIAYDVQQDExlDeWJlcnRydXN0IEVkdWNhdGlvbmFsIENBMB4XDTA3 MDgyMDE0MzMyMVoXDTEwMDgyMDE0MzMyMVowYTELMAkGA1UEBhMCQ0gxFDASBgNV BAoTC0VUSCBadWVyaWNoMRUwEwYDVQQDEwxzdGF0LmV0aHouY2gxJTAjBgkqhkiG 9w0BCQEWFndlYm1hc3RlckBtYXRoLmV0aHouY2gwggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQDW1p/xwECPFrRnBz/5SLDfn+30Q0K0P6zPr6NYykkarg8w sNg9+DAQmxaINcEliTIOhkkakWgjXlA23u9qq2ftb5mKPfDwHPR9HXHke3XkJNwj 97WLD6OZkxUGgSGA5akG4ZVnPqCE8h/NCH2Jh3qmGv9mMZdSDcU81s2/PuLuEtMs jsIgfHepiwE1reV5jsQgcQZRHhRU/dL2t1VD4hm55PV/jhr7HmY6di0IxlbA/YW7 rnE27qSqJshihuAC19stSQ7yljZJpI/hM1yZQQvRxyKUlScqJ9vJv2OT8Sp6vNqc /pMme2mPGVw7R7GMTK3anWfaplKdD6heu/wUNL9RAgMBAAGjggGNMIIBiTBQBgNV HSAESTBHMEUGByqGSLE+AQAwOjA4BggrBgEFBQcCARYsaHR0cDovL3d3dy5nbG9i YWxzaWduLm5ldC9yZXBvc2l0b3J5L2Nwcy5jZm0wDgYDVR0PAQH/BAQDAgWgMB8G A1UdIwQYMBaAFGVloz3XOxGjCgclN8lCSlt2d1DhMB0GA1UdDgQWBBRphVuajRAc cWUwWH7PIOIh7Dt5iTA6BgNVHR8EMzAxMC+gLaArhilodHRwOi8vY3JsLmdsb2Jh bHNpZ24ubmV0L2VkdWNhdGlvbmFsLmNybDBPBggrBgEFBQcBAQRDMEEwPwYIKwYB BQUHMAKGM2h0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5uZXQvY2FjZXJ0L2VkdWNh dGlvbmFsLmNydDAvBgNVHREEKDAmggxzdGF0LmV0aHouY2iBFndlYm1hc3RlckBt YXRoLmV0aHouY2gwJwYDVR0lBCAwHgYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEF BQcDBDANBgkqhkiG9w0BAQUFAAOCAQEAJpyATMUdre8Ru6H38vZr2RRblGtWNAUU Ex0g7vLuign+dvbqOrwai+JaT369ny75R0psJzRDamrS3qH5Z1E9DfpbfBx9ikKe O1G3hjuj6gSTHWwSMUcg4EYNIrt6Vxa5JLuCkNNuzledVs1jtZe9d2+BKzJQ8gJv BS2IeokFs0huq8T+BTMgXyPF2p1LRMB89svmtjqvBBAl+R5OzEvkenZMpHghP9EK bZUpMzr9fHSRCaOeLxwDJ6bH5y0weCgFSjhUDwAM4+05z9DJJj4aoZM69wTFJvM+ 4LXHpyR/RDwPGatXY53dRhiuq3SaQ8XnbUeOBOJCJv47pRaiQX9oTw== -----END CERTIFICATE-----RCurl/inst/CurlSSL/cybertrust.pem0000644000176000001440000000300212437571707016516 0ustar ripleyusers-----BEGIN CERTIFICATE----- MIIEQjCCA6ugAwIBAgIEBAAD+zANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQGEwJV UzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQLEx5HVEUgQ3liZXJU cnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0IEds b2JhbCBSb290MB4XDTA2MDMxNDIwMzAwMFoXDTEzMDMxNDIzNTkwMFowXzELMAkG A1UEBhMCQkUxEzARBgNVBAoTCkN5YmVydHJ1c3QxFzAVBgNVBAsTDkVkdWNhdGlv bmFsIENBMSIwIAYDVQQDExlDeWJlcnRydXN0IEVkdWNhdGlvbmFsIENBMIIBIjAN BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlSKhEB1KRmBuBZGb34PC7RKyWnz4 q+H4UFwoLH5+ADiTsItK8cJMPBAsPO+w7KFpL7n8zAgUa41PGPOD0vqpNwggqlyq gGCi1aUiAM9a5bSX37oevlyOFxlm/a+ffHuJsg4k2MerY8SVMo1I5mNZfQS4M6i9 111kvGO1900o/fkGcjFcukWUZaPStFjsO2FYRKMvYrObgLSC/dXHzFEl5ZU/Ry8w e6zIeG7i4W0n6z3MAYLoNXeNq1i7VdHVpIFWjRzQFLGwBt6gkSLz8Kg0F0fG4D72 DFqsflBLzeFpbgb8Bn5qTbSVmaBZXDVm7NlJ1BfgYLBdpdca4ipuZvKvHQIDAQAB o4IBbzCCAWswRQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL3d3dy5wdWJsaWMtdHJ1 c3QuY29tL2NnaS1iaW4vQ1JMLzIwMTgvY2RwLmNybDAdBgNVHQ4EFgQUZWWjPdc7 EaMKByU3yUJKW3Z3UOEwUwYDVR0gBEwwSjBIBgkrBgEEAbE+AQAwOzA5BggrBgEF BQcCARYtaHR0cDovL3d3dy5wdWJsaWMtdHJ1c3QuY29tL0NQUy9PbW5pUm9vdC5o dG1sMIGJBgNVHSMEgYEwf6F5pHcwdTELMAkGA1UEBhMCVVMxGDAWBgNVBAoTD0dU RSBDb3Jwb3JhdGlvbjEnMCUGA1UECxMeR1RFIEN5YmVyVHJ1c3QgU29sdXRpb25z LCBJbmMuMSMwIQYDVQQDExpHVEUgQ3liZXJUcnVzdCBHbG9iYWwgUm9vdIICAaUw DgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQEF BQADgYEAQ7NFg1RxxB/csjxrTr8m8k7yrZpb+oY3iOgUbEEYQl/vZT7rA3egt551 elF8uxVbuK+RoDSSU+1/KkmErLmAS7XHsiMi++vY+27JPPPS0bu+yRz/bQHbaYAO maXqnnuXmI+3zyKcs7hd5akzF3TGlzcPtOkmgl9hCz8ePWTpK5s= -----END CERTIFICATE----- RCurl/inst/CurlSSL/server.pem0000644000176000001440000001001312437571707015616 0ustar ripleyusersCertificate: Data: Version: 3 (0x2) Serial Number: 30 (0x1e) Signature Algorithm: md5WithRSAEncryption Issuer: C=US, ST=Indiana, L=Bloomington, O=Indiana University, OU=Computer Science Department, CN=Computer Science Department Certificate Authority/emailAddress=secure@cs.indiana.edu Validity Not Before: Mar 30 22:42:40 2007 GMT Not After : Mar 27 22:42:40 2017 GMT Subject: C=US, ST=Indiana, L=Bloomington, O=Indiana University, OU=Computer Science Department, CN=svn.boost.org/emailAddress=secure@cs.indiana.edu Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c5:ac:72:62:e9:a7:54:e7:33:ab:fc:9c:5b:a0: 0f:db:44:dc:99:23:d4:cc:35:ca:73:65:a0:4b:53: 2f:e6:d6:6e:98:a5:41:ef:1f:20:c9:13:f2:9a:b3: 54:07:f9:93:11:e7:f2:ca:9b:7a:f3:a7:7b:73:b2: 7c:73:01:29:78:4a:ea:b6:47:3d:b6:00:75:aa:1d: 9a:8a:95:0a:ad:c9:81:56:02:86:74:05:1f:31:2e: e7:d5:f7:b9:03:bd:47:ab:bb:5a:a0:3e:d2:4c:5d: c6:08:06:22:95:5e:4b:17:dc:55:77:7d:f7:48:12: 6e:68:91:98:4a:62:e8:02:5d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Comment: OpenSSL Generated Certificate X509v3 Subject Key Identifier: 27:28:DE:AB:86:38:98:B8:63:DF:9C:E7:E1:0D:7D:EA:86:58:32:82 X509v3 Authority Key Identifier: keyid:D5:4D:8C:39:99:FF:CD:EC:3C:F2:3F:30:3D:35:AA:CD:88:4D:CD:A2 DirName:/C=US/ST=Indiana/L=Bloomington/O=Indiana University/OU=Computer Science Department/CN=Computer Science Department Certificate Authority/emailAddress=secure@cs.indiana.edu serial:00 Signature Algorithm: md5WithRSAEncryption 13:62:07:26:0b:55:6a:f7:67:87:e1:90:1b:46:5d:af:f5:9b: 06:a4:46:71:7f:cd:53:8e:ad:a6:67:98:16:32:34:35:b1:db: f2:01:32:ea:de:51:56:1d:c9:e0:f2:6e:46:21:96:3a:d0:03: d4:61:ab:7d:2a:1b:67:30:b3:d1:83:87:26:e2:05:13:25:51: b5:de:7e:45:be:f5:9b:a9:27:67:86:bf:7a:00:93:8e:00:a0: 3f:46:9e:14:eb:86:f7:5d:00:aa:95:83:f3:f1:73:64:1a:13: cb:90:fd:83:96:b9:f0:7d:f3:50:63:14:f6:95:95:b4:b7:ae: 15:74 -----BEGIN CERTIFICATE----- MIIEcTCCA9qgAwIBAgIBHjANBgkqhkiG9w0BAQQFADCB2jELMAkGA1UEBhMCVVMx EDAOBgNVBAgTB0luZGlhbmExFDASBgNVBAcTC0Jsb29taW5ndG9uMRswGQYDVQQK ExJJbmRpYW5hIFVuaXZlcnNpdHkxJDAiBgNVBAsTG0NvbXB1dGVyIFNjaWVuY2Ug RGVwYXJ0bWVudDE6MDgGA1UEAxMxQ29tcHV0ZXIgU2NpZW5jZSBEZXBhcnRtZW50 IENlcnRpZmljYXRlIEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJARYVc2VjdXJlQGNz LmluZGlhbmEuZWR1MB4XDTA3MDMzMDIyNDI0MFoXDTE3MDMyNzIyNDI0MFowgbYx CzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdJbmRpYW5hMRQwEgYDVQQHEwtCbG9vbWlu Z3RvbjEbMBkGA1UEChMSSW5kaWFuYSBVbml2ZXJzaXR5MSQwIgYDVQQLExtDb21w dXRlciBTY2llbmNlIERlcGFydG1lbnQxFjAUBgNVBAMTDXN2bi5ib29zdC5vcmcx JDAiBgkqhkiG9w0BCQEWFXNlY3VyZUBjcy5pbmRpYW5hLmVkdTCBnzANBgkqhkiG 9w0BAQEFAAOBjQAwgYkCgYEAxaxyYumnVOczq/ycW6AP20TcmSPUzDXKc2WgS1Mv 5tZumKVB7x8gyRPymrNUB/mTEefyypt686d7c7J8cwEpeErqtkc9tgB1qh2aipUK rcmBVgKGdAUfMS7n1fe5A71Hq7taoD7STF3GCAYilV5LF9xVd333SBJuaJGYSmLo Al0CAwEAAaOCAWcwggFjMAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5T U0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBQnKN6rhjiYuGPfnOfh DX3qhlgygjCCAQcGA1UdIwSB/zCB/IAU1U2MOZn/zew88j8wPTWqzYhNzaKhgeCk gd0wgdoxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdJbmRpYW5hMRQwEgYDVQQHEwtC bG9vbWluZ3RvbjEbMBkGA1UEChMSSW5kaWFuYSBVbml2ZXJzaXR5MSQwIgYDVQQL ExtDb21wdXRlciBTY2llbmNlIERlcGFydG1lbnQxOjA4BgNVBAMTMUNvbXB1dGVy IFNjaWVuY2UgRGVwYXJ0bWVudCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxJDAiBgkq hkiG9w0BCQEWFXNlY3VyZUBjcy5pbmRpYW5hLmVkdYIBADANBgkqhkiG9w0BAQQF AAOBgQATYgcmC1Vq92eH4ZAbRl2v9ZsGpEZxf81Tjq2mZ5gWMjQ1sdvyATLq3lFW Hcng8m5GIZY60APUYat9KhtnMLPRg4cm4gUTJVG13n5FvvWbqSdnhr96AJOOAKA/ Rp4U64b3XQCqlYPz8XNkGhPLkP2DlrnwffNQYxT2lZW0t64VdA== -----END CERTIFICATE----- RCurl/inst/CurlSSL/google.pem0000644000176000001440000000217312437571707015574 0ustar ripleyusers-----BEGIN CERTIFICATE----- MIIDITCCAoqgAwIBAgIQASo5dg0/T8kL570rz5UuejANBgkqhkiG9w0BAQUFADBM MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wOTAzMjcyMjIwMDdaFw0x MDAzMjcyMjIwMDdaMGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRcw FQYDVQQDEw53d3cuZ29vZ2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC gYEA1rnhrbhhCx9OtjwJPavo4yu26KQ6eC/TUSAiRZXYAJEzmqeiSOowVyaXZsda 7/GbDD/huX97w8fMr5zQHzyBFRBY/Aazv7ycArlR3PumuRdC5kbnIs9sJxD+VOaS bAxgdprO+H+suFoIStyxZL2gdEGyrI+GnRreWAn9bAol4HkCAwEAAaOB5zCB5DAo BgNVHSUEITAfBggrBgEFBQcDAQYIKwYBBQUHAwIGCWCGSAGG+EIEATA2BgNVHR8E LzAtMCugKaAnhiVodHRwOi8vY3JsLnRoYXd0ZS5jb20vVGhhd3RlU0dDQ0EuY3Js MHIGCCsGAQUFBwEBBGYwZDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AudGhhd3Rl LmNvbTA+BggrBgEFBQcwAoYyaHR0cDovL3d3dy50aGF3dGUuY29tL3JlcG9zaXRv cnkvVGhhd3RlX1NHQ19DQS5jcnQwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQUF AAOBgQA5tvsRvDMsw5BI427DmzixQtEACVhjoOGYHIXy7xAdYE5RCWL1Bb2dT4ds mHIHgMNZSBTi1u/QjzNqaDH6t7uFzPfHR3tnkzzDFlGbb4cg/WdMK+pqSdsR0b3X lSJDegZ7TvY3jqK5zx+l0r07BJc5sw/6OLWvVSCIYJPy3tv/3w== -----END CERTIFICATE----- RCurl/inst/CurlSSL/curlSSL.xml0000644000176000001440000000262712437571707015672 0ustar ripleyusers
Let's start with a simple HTTPS request: getURL("https://www.google.com") We get an error of the form Error in curlPerform(curl = curl, .opts = opts, .encoding = .encoding) : SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed Now, let's get the Certification Authority bundle. You can install this on your operating system in one of several ways, e.g. sudo apt-get install ca-certificates Alternatively, we can download the file cacert.pem from Next, we have to tell libcurl to use this. We do this via the cainfo option. getURL("https://www.google.com", cainfo = "cacert.pem") (We can get the real page by following the redirection with getURL("https://www.google.com", cainfo = "cacert.pem", follow = TRUE) ) The same applies to reading data from the R mailing list site at getURL("https://stat.ethz.ch/pipermail/r-help/") http://ademar.name/blog/2006/04/curl-ssl-certificate-problem-v.html http://secure.globalsign.net/cacert/sureserverEDU.pem http://curl.haxx.se/docs/caextract.html
RCurl/inst/CurlSSL/statEth.pem0000644000176000001440000000330712437571707015734 0ustar ripleyusers-----BEGIN CERTIFICATE----- MIIE1DCCA7ygAwIBAgILAQAAAAABFIOxMIwwDQYJKoZIhvcNAQEFBQAwXzELMAkG A1UEBhMCQkUxEzARBgNVBAoTCkN5YmVydHJ1c3QxFzAVBgNVBAsTDkVkdWNhdGlv bmFsIENBMSIwIAYDVQQDExlDeWJlcnRydXN0IEVkdWNhdGlvbmFsIENBMB4XDTA3 MDgyMDE0MzMyMVoXDTEwMDgyMDE0MzMyMVowYTELMAkGA1UEBhMCQ0gxFDASBgNV BAoTC0VUSCBadWVyaWNoMRUwEwYDVQQDEwxzdGF0LmV0aHouY2gxJTAjBgkqhkiG 9w0BCQEWFndlYm1hc3RlckBtYXRoLmV0aHouY2gwggEiMA0GCSqGSIb3DQEBAQUA A4IBDwAwggEKAoIBAQDW1p/xwECPFrRnBz/5SLDfn+30Q0K0P6zPr6NYykkarg8w sNg9+DAQmxaINcEliTIOhkkakWgjXlA23u9qq2ftb5mKPfDwHPR9HXHke3XkJNwj 97WLD6OZkxUGgSGA5akG4ZVnPqCE8h/NCH2Jh3qmGv9mMZdSDcU81s2/PuLuEtMs jsIgfHepiwE1reV5jsQgcQZRHhRU/dL2t1VD4hm55PV/jhr7HmY6di0IxlbA/YW7 rnE27qSqJshihuAC19stSQ7yljZJpI/hM1yZQQvRxyKUlScqJ9vJv2OT8Sp6vNqc /pMme2mPGVw7R7GMTK3anWfaplKdD6heu/wUNL9RAgMBAAGjggGNMIIBiTBQBgNV HSAESTBHMEUGByqGSLE+AQAwOjA4BggrBgEFBQcCARYsaHR0cDovL3d3dy5nbG9i YWxzaWduLm5ldC9yZXBvc2l0b3J5L2Nwcy5jZm0wDgYDVR0PAQH/BAQDAgWgMB8G A1UdIwQYMBaAFGVloz3XOxGjCgclN8lCSlt2d1DhMB0GA1UdDgQWBBRphVuajRAc cWUwWH7PIOIh7Dt5iTA6BgNVHR8EMzAxMC+gLaArhilodHRwOi8vY3JsLmdsb2Jh bHNpZ24ubmV0L2VkdWNhdGlvbmFsLmNybDBPBggrBgEFBQcBAQRDMEEwPwYIKwYB BQUHMAKGM2h0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5uZXQvY2FjZXJ0L2VkdWNh dGlvbmFsLmNydDAvBgNVHREEKDAmggxzdGF0LmV0aHouY2iBFndlYm1hc3RlckBt YXRoLmV0aHouY2gwJwYDVR0lBCAwHgYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEF BQcDBDANBgkqhkiG9w0BAQUFAAOCAQEAJpyATMUdre8Ru6H38vZr2RRblGtWNAUU Ex0g7vLuign+dvbqOrwai+JaT369ny75R0psJzRDamrS3qH5Z1E9DfpbfBx9ikKe O1G3hjuj6gSTHWwSMUcg4EYNIrt6Vxa5JLuCkNNuzledVs1jtZe9d2+BKzJQ8gJv BS2IeokFs0huq8T+BTMgXyPF2p1LRMB89svmtjqvBBAl+R5OzEvkenZMpHghP9EK bZUpMzr9fHSRCaOeLxwDJ6bH5y0weCgFSjhUDwAM4+05z9DJJj4aoZM69wTFJvM+ 4LXHpyR/RDwPGatXY53dRhiuq3SaQ8XnbUeOBOJCJv47pRaiQX9oTw== -----END CERTIFICATE-----RCurl/inst/CurlSSL/ok.R0000644000176000001440000000007112437571707014344 0ustar ripleyusersgetURL("https://stat.ethz.ch", cainfo = "ca-bundle.crt") RCurl/inst/doc/0000755000176000001440000000000012665243304013060 5ustar ripleyusersRCurl/inst/doc/withCookies.Rdb0000644000176000001440000001366712665243304016016 0ustar ripleyusers
Using Cookies for Connected Requests with <omg:pkg>RCurl</omg:pkg> DuncanTemple Lang University of California at Davis Department of Statistics
The Problem This is an example of using RCurl with cookies. This comes from a question on the R-help mailing list on Sep 18th, 2012. In a Web browser, we visit the page . Before allowing us access to the data, the Web site presents us with a disclaimer page. We have to click on the I Agree button and then we are forwarded to a page with the actual data. We want to read that using, for example, readHTMLTable in the XML package. What happens when we click on the I Agree button? That sets a cookie. After that, we include that cookie in each request to that server and this confirms that we have agreed to the disclaimer. The Web server will process each request containing the cookie knowing we have agreed and so give us the data. So we need to first make a request in that emulates clicking the I Agree button. We have to arrange for that request to recognize the cookie in the response and then use that cookie in all subsequent requests to that server. We could do this manually, but there is no need to. We simply use the same curl object in all of the requests. In the first request, libcurl will process the response and retrieve the cookie. By using the same curl handle in subsequent requests, libcurl will automatically send the cookie in those requests. We create the curl handle object with library(RCurl) curl = getCurlHandle(cookiefile = "", verbose = TRUE) This enables cookies in the handle, but does not arrange to write them to a file. We could store the cookie in a file when the curl handle is deleted. We could then use this in subsequent sessions or other curl handles. However, there is no need to do this. We can just agree to the disclaimer each time. However, if we do want to store the cookie in a file (when the curl handle is deleted), we can do this by specifying a file name as the value for the cookiefile argument. The disclaimer page is a form. We send the request to with the parameter named disclaimer_action and the value "I Agree". We can get this information by reading the page and looking for the form element. Alternatively, we could use the RHTMLForms package. We can make the request with postForm("http://www.wateroffice.ec.gc.ca/include/disclaimer.php", disclaimer_action = "I Agree", curl = curl) We can ignore the result as we just want the side-effect of getting the cookie in the curl handle. We can now access the actual data at the original URL. We cannot use readHTMLTable directly as that does not use a curl handle, and does not know about the cookie. Instead, we use getURLContent to get the content of the page. We can then pass this text to readHTMLTable. So we make the request with Personally, I prefer to use txt = getForm("http://www.wateroffice.ec.gc.ca/graph/graph_e.html", mode = "text", stn = "05ND012", prm1 = 3, syr = "2012", smo = "09", sday = "15", eyr = "2012", emo = "09", eday = "18", curl = curl) This makes it easier to change individual inputs. The result should contain the actual data. library(XML) tbl = readHTMLTable(txt, asText = TRUE) We can find the number of rows and columns in each table with sapply(tbl, dim) dataTable hydroTable [1,] 852 1 [2,] 2 4 We want the first one. The columns are, by default, strings or factors. The numbers have a * on them. We can post-process this to get the values. tbl = readHTMLTable(txt, asText = TRUE, which = 1, stringsAsFactors = FALSE) tbl[[2]] = as.numeric(gsub("\\*", "", tbl[[2]])) tbl[[1]] = strptime(tbl[[1]], "%Y-%m-%d %H:%M:%S")
Using <omg:pkg>RHTMLForms</omg:pkg> to Find the Disclaimer Form The RHTMLForms package can both read an page and get a description of all of its forms, and also generate an function corresponding to each form so that we can invoke the form as if it were a local function in . We get the descriptions with library(RHTMLForms) forms = getHTMLFormDescription(u, FALSE) We need to keep the buttons in the forms and hence the as the second argument to getHTMLFormDescription. We create the function for this form with fun = createFunction(forms[[1]]) We can invoke this function using the curl handle we created to capture the cookies: fun(.curl = curl) This will agree to the disclaimer on our behalf.
RCurl/inst/doc/philosophy.html0000644000176000001440000016111712665241535016157 0ustar ripleyusers

Duncan Temple Lang

Department of Statistics, UC Davis


Overview

The RCurl package provides high-level facilities in R to communicate with HTTP servers. Simply, it allows us to download URLs, submit forms in different ways, and generally compose HTTP requests. It supports HTTPS, the secure HTTP; handles authentication using passwords; and can use FTP to download files. It also handles escaping characters in requests, binary data, and file uploads. Users can override or provide additional headers in the HTTP request in order to customize the communication. The response from the HTTP server is processed as a stream and chunk encoding automatically handled. While the default mechanism simply returns the text from a request, one can specify S functions to process the response as it is received, redirecting it or processing in an application specific manner.

All of this could be written in R. We could use socket connections to write requests to HTTP servers and receive the response. To support HTTPS, we would have to add SSL connections. To get the same behavior as RCurl, we would have to implement the HTTP protocol. This involves writing the HTTP headers correctly and flexibly, escaping characters, providing authentication, following redirection commands, handling responses by decomposing "chunked" content, binary files, etc. To submit forms, we have to compose the body of the request by computing boundary strings and creating the "Content-Disposition" elements. In short, there is a lot of work to do and significant potential for error. Rather than doing this in R, RCurl uses an existing implementation that is provided in a widely used C library - libcurl. This has several benefits:
  • libcurl is well tested and very portable. As a result it is available on many platforms and bugs have been identified and fixed.
  • Many people and applications use libcurl which means that it has support for common features that are used in various contexts.
  • libcurl is in C and so is fast.
On the negative side, it is hard to extend libcurl. We can only hope that the hooks to customize requests are adequate for our needs. We can expect that others have run into these extensibility issues and these needs have been fed back to the designers of libcurl.

R already provides its own way to download URIs. Functions like
download.url

and connection constructors such as
url

.

Since the libcurl library provides opaque data structures for implementing requests and connections, we cannot easily adapt it to fit our special needs in R. Specifically, it is harder to merge it with our view of connections in S (R and S-Plus). Similarly, it is harder to integrate it with the event-loop in R so that we can listen for input pending and essentially put the connection in the background. The support for threads in libcurl might make this easier if/when we support threads in R.

A Quick Tour

This document aims to provide a basic overview of the RCurl package. It doesn't try to provide all the details. The R function help files and the libcurl documentation have all the relevant information. Since the package is an interface to libcurl, it is important to use the documentation for it regarding features, options, etc.

The RCurl package provides three primary high-level entry points. These allow us to fetch a URL and submit forms. The functions are
getURL

,
getForm

and
postForm

. The first is relatively straightforward, given the name; it allows us to fetch the contents of a URI. The other two functions provide ways to submit a form using the GET or POST methods. These are quite different internally, but for users, both require a set of name-value pairs giving the parameters for the form submission. The difference is in how the form is submitted and the POST method allows us to submit/upload files, binary content, etc.

Let us look at the
getURL

function. At it simplest, this is just like the
download.url

function in the standard R. We can fetch a URI with the command something like
getURL("http://www.omegahat.net/RCurl/index.html")

The idea is that we specify the URI. There are several other arguments to this function, but for the most part we don't need them.

We can use HTTPS to fetch URIs securely. For example,
getURL("https://sourceforge.net")

This is already more than we can do with the regular connections or built-in
download.url

in R. (Using an external program allows HTTPS access.)

There are three different sets of arguments for the
getURL

function. One is named curl and we will cover this in section the section called “CURL Handles”. This is merely a way to cumulate requests on a single connection with shared options.

The write function is again rather specialized. It allows us to specify an R function that is called each time libcurl has some text as part of the HTTP response. It hands this text (as a sequence of bytes) to the function so that it can process it in whatever way it deems fit. This corresponds to the writefunction option for the libcurl operation described next. We have it as an explicit argument simply because we need to use it to get the return value in a single action as the default behavior.

The third set of arguments is the most general and is handled by the ... in the
getURL

function. With this, one can specify name-value pairs governing the actual request. There are numerous possible settings that one can specify. The basic idea is that one can set options provided by the curl_easy_setopt routine. These allow us to set parameters for many different aspects of the request. For example, we can specify additional headers for the HTTP request, or include a password for the Web site. The set of possible options can be determined via the function
getCurlOptionConstants

. and the set of names for the different options can be found via the command
names(getCurlOptionsConstants())

This is a collection of names of options that are understood by many of the functions in the RCurl package.

At present, there are 113 possible options.
sort(names(getCurlOptionsConstants()))
  [1] "autoreferer"             "buffersize"             
  [3] "cainfo"                  "capath"                 
  [5] "closepolicy"             "connecttimeout"         
  [7] "cookie"                  "cookiefile"             
  [9] "cookiejar"               "cookiesession"          
 [11] "crlf"                    "customrequest"          
 [13] "debugdata"               "debugfunction"          
 [15] "dns.cache.timeout"       "dns.use.global.cache"   
 [17] "egdsocket"               "encoding"               
 [19] "errorbuffer"             "failonerror"            
 [21] "file"                    "filetime"               
 [23] "followlocation"          "forbid.reuse"           
 [25] "fresh.connect"           "ftp.create.missing.dirs"
 [27] "ftp.response.timeout"    "ftp.ssl"                
 [29] "ftp.use.eprt"            "ftp.use.epsv"           
 [31] "ftpappend"               "ftplistonly"            
 [33] "ftpport"                 "header"                 
 [35] "headerfunction"          "http.version"           
 [37] "http200aliases"          "httpauth"               
 [39] "httpget"                 "httpheader"             
 [41] "httppost"                "httpproxytunnel"        
 [43] "infile"                  "infilesize"             
 [45] "infilesize.large"        "interface"              
 [47] "ipresolve"               "krb4level"              
 [49] "low.speed.limit"         "low.speed.time"         
 [51] "maxconnects"             "maxfilesize"            
 [53] "maxfilesize.large"       "maxredirs"              
 [55] "netrc"                   "netrc.file"             
 [57] "nobody"                  "noprogress"             
 [59] "nosignal"                "port"                   
 [61] "post"                    "postfields"             
 [63] "postfieldsize"           "postfieldsize.large"    
 [65] "postquote"               "prequote"               
 [67] "private"                 "progressdata"           
 [69] "progressfunction"        "proxy"                  
 [71] "proxyauth"               "proxyport"              
 [73] "proxytype"               "proxyuserpwd"           
 [75] "put"                     "quote"                  
 [77] "random.file"             "range"                  
 [79] "readfunction"            "referer"                
 [81] "resume.from"             "resume.from.large"      
 [83] "share"                   "ssl.cipher.list"        
 [85] "ssl.ctx.data"            "ssl.ctx.function"       
 [87] "ssl.verifyhost"          "ssl.verifypeer"         
 [89] "sslcert"                 "sslcertpasswd"          
 [91] "sslcerttype"             "sslengine"              
 [93] "sslengine.default"       "sslkey"                 
 [95] "sslkeypasswd"            "sslkeytype"             
 [97] "sslversion"              "stderr"                 
 [99] "tcp.nodelay"             "telnetoptions"          
[101] "timecondition"           "timeout"                
[103] "timevalue"               "transfertext"           
[105] "unrestricted.auth"       "upload"                 
[107] "url"                     "useragent"              
[109] "userpwd"                 "verbose"                
[111] "writefunction"           "writeheader"            
[113] "writeinfo"              
Each of these and what it controls is described in the libcurl man(ual) page for curl_easy_setopt and that is the authoritative documentation. Anything we provide here is merely repetition or additional explanation.

The names of the options require a slight explanation. These correspond to symbolic names in the C code of libcurl. For example, the option url in R corresponds to CURLOPT_URL in C. Firstly, uppercase letters are annoying to type and read, so we have mapped them to lower case letters in R. We have also removed the prefix "CURLOPT_" since we know the context in which they option names are being used. And lastly, any option names that have a _ (after we have removed the CURLOPT_ prefix) are changed to replace the '_' with a '.' so we can type them in R without having to quote them. For example, combining these three rules, "CURLOPT_URL" becomes url and CURLOPT_NETRC_FILE becomes netrc.file. That is the mapping scheme.

The code that handles options in RCurl automatically maps the user's inputs to lower case. This means that you can use any mixture of upper-case that makes your code more readable to you and others. For example, we might write writeFunction = basicTextGatherer() or HTTPHeader = c(Accept="text/html")

We specify one or more options by using the names. To make interactive use easier, we perform partial matching on the names relative to the set of know names. So, for example, we could specify
getURL("http://www.omegahat.net/RCurl/testPassword",
        verbose = TRUE)

or, more succinctly,
getURL("http://www.omegahat.net/RCurl/testPassword",
        v = TRUE)

Obviously, the first is more readable and less ambiguous. Please use the full form when writing "software". But you might use the abbreviated form when working interactively.

Each option expects a certain type of value from R. For example, the following options expect a number or logical value.
 [1] "autoreferer"             "buffersize"             
 [3] "closepolicy"             "connecttimeout"         
 [5] "cookiesession"           "crlf"                   
 [7] "dns.cache.timeout"       "dns.use.global.cache"   
 [9] "failonerror"             "followlocation"         
[11] "forbid.reuse"            "fresh.connect"          
[13] "ftp.create.missing.dirs" "ftp.response.timeout"   
[15] "ftp.ssl"                 "ftp.use.eprt"           
[17] "ftp.use.epsv"            "ftpappend"              
[19] "ftplistonly"             "header"                 
[21] "http.version"            "httpauth"               
[23] "httpget"                 "httpproxytunnel"        
[25] "infilesize"              "ipresolve"              
[27] "low.speed.limit"         "low.speed.time"         
[29] "maxconnects"             "maxfilesize"            
[31] "maxredirs"               "netrc"                  
[33] "nobody"                  "noprogress"             
[35] "nosignal"                "port"                   
[37] "post"                    "postfieldsize"          
[39] "proxyauth"               "proxyport"              
[41] "proxytype"               "put"                    
[43] "resume.from"             "ssl.verifyhost"         
[45] "ssl.verifypeer"          "sslengine.default"      
[47] "sslversion"              "tcp.nodelay"            
[49] "timecondition"           "timeout"                
[51] "timevalue"               "transfertext"           
[53] "unrestricted.auth"       "upload"                 
[55] "verbose"                
The connecttimeout gives the maximum number of seconds the connection should take before raising an error, so this is a number. The header option, on the other hand, is merely a flag to indicate whether header information from the response should be included. So this can be a logical value (or a number that is 0 to say FALSE or non-zero for TRUE.) At present, all numbers passed from R are converted to long when used in libcurl.

Many options are specified as strings. For example, we can specify the user password for a URI as
getURL("http://www.omegahat.net/RCurl/testPassword/index.html", userpwd = "bob:duncantl", verbose = TRUE)

Note that we also turned on the "verbose" option so that we can see what libcurl is doing. This is extremely convenient when trying to understand why things aren't working (or are working in a particular way!).

Another example of using strings is to specify a referer URI and a user-agent.
getURL("http://www.omegahat.net/RCurl/index.html", useragent="RCurl", referer="http://www.omegahat.net")

(Again, you might want to turn on the "verbose" option to see what libcurl is doing with this information.)

The libcurl facilities allow us to not only set our own values for fields used in the HTTP request header (such as the referer or user-agent), but it also allows us to set an entire collection of new fields or replacements for any existing field. We do this in R using the httpheader option for libcurl and we specify a value which is a named character vector. For example, suppose we want to provide a value for the Accept field and add a new field named, say, Made-up-field. We could do this in the request as
getURL("http://www.omegahat.net/RCurl", httpheader = c(Accept="text/html", 'Made-up-field' = "bob"))

If you turn on the verbose option again for this request, you will see these fields being set.
> getURL("http://www.omegahat.net", httpheader = c(Accept="text/html", 'Made-up-field' = "bob"), verbose = TRUE)
* About to connect() to www.omegahat.net port 80
* Connected to www.omegahat.net (169.237.46.32) port 80
> GET / HTTP/1.1
Host: www.omegahat.net
Pragma: no-cache
Accept: text/html
Made-up-field: bob

(Note that not all servers will tolerate setting header fields arbitrarily and may return an error.)

The key thing to note is that headers are specified as name-value pairs in a character vector. R takes these and pastes the name and value together and passes the resulting character vector to libcurl. So while it is convenient to express the headers as
 c(name = "value", name = "value")

if you already have the data in the form
 c("name: value", "name: value")

you can use that directly.

Some of the libcurl options expect a C routine. For example, when libcurl is receiving the response from the HTTP server, it will call the C routine specified via the option CURLOPT_WRITEFUNCTION each time it has a full buffer of bytes. While it is possible for us to be able to specify a C routine from R (using
getNativeSymbolInfo

), we currently don't support this. Instead, it is more natural to specify an R function which is to be called when appropriate. And this is indeed how we do things in RCurl. One can specify a function for the writefunctionwriteheader and debugfunction options. (We can add support for the others such as readfunction.) To use these is quite simple. We expect an R function that takes a single argument which is the character of bytes to process. The function can do what it wants with this argument. Typically, it will accumulate it in a persistent variable (e.g. using closures) or process it on-the-fly such as adding to a plot, passing it to an HTML parser, ....

The function
basicTextGatherer

is an example of the idea and this mechanism is used in
getURL

. Suppose, for some reason, we wanted to read the header information that was returned by HTTP server in the response to our request. (This has interesting things like cookies, content type, etc. that libcurl uses internally, but we may also want to process.) Then we would firstly use the header option to turn on the libcurl facility to report the response header information. If we just do this, the header information will be included in the text that
getURL

returns. This is fine, but we will have to separate it out by finding the first line, etc. Instead, it is easier to ask libcurl to hand the header information to use separate from the text/body of the response. We can do this by creating a callback function via the
basicTextGatherer

function.
 h = basicTextGatherer()
 txt = getURL("http://www.omegahat.net/RCurl", header = TRUE, headerfunction = h$update)

All we have done is create a collection of functions (stored in h) and passed the update callback to libcurl. Each time libcurl receives more of the headers, it calls this function with the header text. It may call this just once or several times. This depends on how large the header information is, how libcurl buffers the information, etc.

Having called
getURL

, we have the text from the URI. The header information is available from h, specifically its value function element.
 h$value()

The
debugGatherer

is another example of a callback that can be used with libcurl. If we set the "verbose" option to TRUE, libcurl will provide a lot of information about its actions. By default, these will be written on the console (e.g. stderr). In some cases, we would not want these to be on the screen but instead, for example, displayed in a GUI or stored in a variable for closer examination. We can do this by providing a callback function for the debugging output via the debugfunction option for libcurl. The
debugGatherer

is a simple one that merely cumulates its inputs in different categories and makes them available via the value function. The setup is easy:
  d = debugGatherer()
  x = getURL("http://www.omegahat.net/RCurl", debugfunction=d$update, verbose = TRUE)

At the end of the request, again we have the text from the URI in x, but we also have the debugging information. libcurl has called our update function each time it has some information (either from the HTTP server or from its own internal dialog).
(R) names(d$value())
[1] "text"      "headerIn"  "headerOut" "dataIn"    "dataOut"  
The headerIn and headerOut fields report the text of the header for the response from the Web server and for our request respectively. Similarly, the dataIn and dataOut fields give the body of the response and request. And the text is just messages from libcurl.

We should note that not all options are (currently)) meaningful in R. For example, it is not currently possible to redirect standard error for libcurl to a different FILE* via the "stderr" option. (In the future, we may be able to specify an R function for writing errors from libcurl, but we have not put that in yet.)

Forms

The RCurl package provides many additional mechanisms for downloading URIs that R does not currently have built-in. But perhaps the most pressing reason for developing the RCurl package was the need to submit forms. The odbAccess package is a package that can read an HTML page with one or more forms and create an S function for each form that allows S users to submit the form programmatically rather than requiring interactively browsing the page, saving the result to a file and then loading it into R. In order for these functions to work, we need to be able to submit the contents of the form from S as if it came from a regular browser. We use RCurl to do this.

There are two mechanisms used for submitting HTML forms: GET and POST. Both take a set of name-value pairs giving the arguments to parameterize the call. The difference between the mechanisms is how these name-value pairs are delivered to the HTTP server. The GET method puts the name-value pairs of parameters at the end of the URI name, e.g.





http://www.omegahat.net/cgi-bin/form.pl?a=1&b=2



The POST method expects the name-value pairs to be sent as the body of the HTTP request, each put in its own "paragraph" or stanza. This is more complicated but supports sending binary data, etc.

Which of the GET and POST mechanism is appropriate is specified with the HTML form itself via the action attribute of the FORM itself. To the user, however, the browser takes care of figuring out the correct way to deliver the name-value pairs specified by the user when interacting with the components of the form. In RCurl, we don't have access to the original HTML form so we cannot tell what mechanism to use. It is up to the caller to determine whether to use
getForm

or
postForm

depending on the value of the action attribute in the original HTML file.

After determining whether to use POST or GET, the interface to the functions is typically the same to the user. Essentially, she need only specify the name-value pairs for each of the form elements. We do this via a named list or named character vector. (The list simply allows us to have objects of different type other than strings!) We must specify all the fields, including the hidden fields, if the the processor on the HTTP server is to make sense of it. RCurl doesn't try to interpret the name-value pairs, but just transports them.

Let's look at an example of sending a query to Google (via HTTP rather than its API).
  getForm("http://www.google.com/search", hl="en", lr="", ie="ISO-8859-1",  q="RCurl", btnG="Search")

The result is the HTML you would ordinarily see in your browser. You might use
htmlTreeParse

to parse it. What is important in the example is that we are specifying the required fields in the query as named arguments to R.
getForm

takes care of bringing them together and constructing the full URI name. Note that libcurl also handles escaping the special characters, e.g. converting a space to %20. Note that if you wanted to explicitly do this escaping on a string rather than having libcurl implicitly do it, you can use
curlEscape

. Similarly, there is a function
curlUnescape

to reverse the escaping and make a string "human-readable".

postForm

is almost identical. Let's submit a POST form to http://www.speakeasy.org/~cgires/perl_form.cgi
  postForm("http://www.speakeasy.org/~cgires/perl_form.cgi",
            "some_text" = "Duncan",
            "choice" = "Ho",
            "radbut" = "eep",
            "box" = "box1, box2"
          )

Here, the form elements are named some_text, choice, radbut, box. We have simply provided values for them. Again, the result is the regular response from the HTTP server.

Sometimes we already have the arguments in a list. It is slightly more complex then to pass them to the function via the ... argument. The two form submission functions in RCurl (
getForm

and
postForm

) also accept the name-value arguments via the ... parameter. This arises in programmatic access to the functions rather than interactive use.

Since we use ... for the name-value pairs of the form, we cannot specify the libcurl options (unambiguously) in this way and we require than any such options to control the HTTP request at the libcurl-level be passed via the .opts parameter. RCurl and libcurl construct the HTTP request and after that, the request is just like a regular URI download. All of the usual techniques for reading the response, its header, etc. work.

CURL Handles

The functions we have presented above are the high-level entry points that allow R users to make the common-style HTTP requests. The RCurl package is capable of more however. It provides access to the basic libcurl primitives which one can use to compose more complicated and non-standard HTTP requests. For the most part, one merely specifies libcurl options by name to the different functions and these take effect for that call. An alternative model (used more in C code) is that we first create a libcurl object to represent the HTTP request, then we customize it by setting options and then we invoke the request. This is far more involved than we need in R. There is a simplicity about the
getURL

function that removes the need to know about the internal C structure representing the call. However, there are occasions when it is useful to know about this and exploit it. Specifically, one can create an instance of this libcurl "handle" and use it in several requests. This has the advantage that we do not have to set the options in each call, but rather can do this just once. This saves a marginal amount of time in R by reducing the computations, but it will be essentially negligible relative to the network latency involved in the request itself. What is more important is that if the sequence of requests are to the same server, the libcurl engine can maintain the connection to the server and avoid having to reestablish it each time. This handshaking is quite expensive, so reusing the "handle" in such situations can yield non-trivial performance gains. It is also even possible to "pipeline" requests by sending multiple requests before getting the answer back for the first one. This again can improve performance.

Now that we both know about the internal libcurl structures and know why we might be interested in reusing them across requests, the question remains how do we do this. It is quite easy. Each of the "action" functions in the package (i.e. that work with libcurl directly) have a parameter named curl. For each of these functions, the default value is
getCurlHandle

and what this means is that, if no value is given for curl, a new handle is created for the duration of this call. So it is easy for us to create such a handle before calling one of these functions and then pass that as the value for curl. For example, we can make two requests to the www.omegahat.net site using the same handle as follows:
 handle = getCurlHandle()
 a = getURL("http://www.omegahat.net/RCurl", curl = handle)
 b = getURL("http://www.omegahat.net/", curl = handle)

It is important to remember that if we set any options in any of the calls, these will be set in the libcurl handle and these will persist across requests unless they are reset. For example, if we had set the header=TRUE option in the first call above, it would remain set for the second call. This can be sometimes inconvenient. In such cases, either use separate libcurl handles, or reset the options.

The function
dupCurlHandle

allows us to create a new libcurl handle that is an exact copy of the existing one. This allows us to quickly reuse existing settings without having them affect other requests. (The data in the option values are not copied). See curl_easy_duphandle.

By reusing libcurl handles, we avoid reallocating a new one and potentially benefit from improved connectivity. One downside, however, when reusing handles is that the options we set in R need to be copied as C data since they will persist across R function calls in the libcurl handle itself. As a result, there are additional computations needed. Again, this is negligible in almost all cases and will be dominated by the network speed.

libcurl doesn't have any explicit function for fetching a URL. Instead, it uses a powerful but simple interface which involves merely setting the options in the libcurl handle as desired and then invoking the request. So one just prepares the request and forces it to be sent. This is done via the
curlPerform

function in R. This is how
getURL

is actually implemented.

Statistics on the Request

S is a statistical programming language and environment so why not gather data when we can. The function
getCurlInfo

allows us to find out information about the last request made for a given libcurl handle. (Of course, this assumes we have explicitly created the handle rather than used the default value for curl and so lost it.)
h = getCurlHandle()
getURL("http://www.omegahat.net", curl = h)
names(getCurlInfo(h))

The names of the resulting elements are
 [1] "effective.url"           "response.code"          
 [3] "total.time"              "namelookup.time"        
 [5] "connect.time"            "pretransfer.time"       
 [7] "size.upload"             "size.download"          
 [9] "speed.download"          "speed.upload"           
[11] "header.size"             "request.size"           
[13] "ssl.verifyresult"        "filetime"               
[15] "content.length.download" "content.length.upload"  
[17] "starttransfer.time"      "content.type"           
[19] "redirect.time"           "redirect.count"         
[21] "private"                 "http.connectcode"       
[23] "httpauth.avail"          "proxyauth.avail"        
These provide us the actual name of the URI downloaded after redirections, etc.; information about the transfer speed, etc.; etc. See the man page for curl_easy_getinfo.

libcurl Version Information

The RCurl package provides a way to obtain reflectance information about libcurl itself. The function
curlVersion

returns the contents of the curl_version_info_data structure.

For my installation, the return value from
curlVersion

is
$age
[1] 2

$version
[1] "7.12.0"

$vesion_num
[1] 461824

$host
[1] "powerpc-apple-darwin7.4.0"

$features
     ipv6       ssl      libz      ntlm largefile 
        1         4         8        16       512 

$ssl_version
[1] " OpenSSL/0.9.7b"

$ssl_version_num
[1] 9465903

$libz_version
[1] "1.2.1"

$protocols
[1] "ftp"    "gopher" "telnet" "dict"   "ldap"   "http"   "file"   "https" 
[9] "ftps"  

$ares
[1] ""

$ares_num
[1] 0

$libidn
[1] ""
The help page for the R function explains the fields which are hopefully clear from the names. The only ones that might be obscure are ares and libidn. ares refers to asynchronous domain name server (DNS) lookup for resolving the IP address (e.g. 128.41.12.2) corresponding to a machine name (e.g. www.omegahat.net). "GNU Libidn is an implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN)" (taken from http://www.gnu.org/software/libidn/).

Initialization

As with most C libraries, one must typically initialize it to get the basic run-time structure established. Fortunately, when we call any of the R functions, this is taken care of implicitly; libcurl handles this when we create a new handle. However, sometimes it is important to explicitly specify options to control how the library is initialized. RCurl provides a way to do this via the
curlGlobalInit

function. The only argument is a flag that indicates what features to initialize. For the most part, the defaults work best and we can leave libcurl to perform this initialization. However, we may need to be careful that we are not re-initializing a setting that R (or generally the host application) has already set. This may happen on Windows as libcurl initialize the Win32 socket library. We can avoid this, if necessary, but telling libcurl to initialize only the SSL facilities.

The argument to
curlGlobalInit

is typically a character vector of names of features to turn on. The possible names can be obtained from CurlGlobalBits which is a named integer vector:
 none   ssl win32   all 
    0     1     2     3 
attr(,"class")
[1] "CurlGlobalBits" "BitIndicator"  
We would call
curlGlobalInit

as
curlGlobalInit(c("ssl", "win32"))

or
curlGlobalInit(c("ssl"))

to activate both SSL and Win32 sockets, or just SSL respectively.

One can specify integer values directly, but this is less readable to others (or yourself in a few weeks!). The names are converted and combined to a flag using
setBitIndicators

.

Options

It is hopefully clear that it is the libcurl options that make this interface work and allow us to make interesting queries. From specifying the URI to how to read the text, to providing passwords, it is the options that are critical. For the most part, these options are passed by name to functions in RCurl via the ... mechanism in R and the .opts argument. These two collections of arguments are merged, with those in ... overriding corresponding ones in the .opts object.

Why do we have the .opts argument? The reason is similar to the .params in the form functions: often we have the options in a list and it is not as convenient to use the ... approach. Having both allows the caller/programmer to use whichever is most convenient.

One case in which the .opts argument is useful is if we want to prepare a set of options that are to be used in all (or a set of) calls. We can combine these arguments into a list just once and then pass them to each HTTP request easily by simply using that variable. Since we merge the values in ... and .opts, this works nicely.

To create such a list of options, we can use the function
curlOpts

. This creates an S3-style object with class CURLOptions. This function never involves libcurl, but sorts out the names of the options by using partial matching (via the
mapCurlOptNames

function) and returns an R object with the options as name-value pairs in a list. The fact that this is a class means that if we access any elements, the full names are used, even when we set an element. This means that the names are kept resolved as we use it in R and correspond unambiguously to real libcurl options.

We can use this function something like the following.
opts = curlOptions(header = TRUE, userpwd = "bob:duncantl", netrc = TRUE)
getURL("http://www.omegahat.net/RCurl/testPassword/index.html", verbose = TRUE, .opts = opts)

Here we create the options ahead of time and use them in a call while specifying additional options (i.e. "verbose").

Some readers will have noticed that we could achieve the same effect of having a set of fixed options that are used in a collection of calls by reusing a libcurl handle. We could create the handle, set the common options, and then use that handle in the set of calls. This is indeed a natural and often good way to do things. The following code does what we want.
h = getCurlHandle(header = TRUE, userpwd = "bob:duncantl", netrc = TRUE)
getURL("http://www.omegahat.net/RCurl/testPassword/index.html", verbose = TRUE, curl = h)

The first line creates a new handle and fills in the three "persistent" options. These are in the handle itself, not in R at this stage. Now, when we perform the request via
getURL

, we specify this libcurl handle and provide the "verbose" option.

The function
curlSetOpt

is used implicitly in the code above and this actually sets the option-values in a libcurl handle. It can also be used to simply resolve them.

Example Application

In this section, we will outline a more complex use of the RCurl facilities. Specifically, we will use it to send SOAP SOAP requests. SOAP uses HTTP to send XML content that encodes a method invocation. We have to add the appropriate fields to the HTTP header to identify the SOAP call and then insert the XML that defines the method call in the body of the request. Using our favorite client SOAP facility (e.g. SOAP::Lite, SSOAP), we can send the SOAP request that performs the HTTP request. We can find out what the actual HTTP request looks like using facilities in those tools or actually sniffing the packets as they go across the wire using tcpdump or ethereal or some such tool. This is what we see. The HTTP header in the request is





POST/hibye.cgiHTTP/1.1

Connection:close

Accept:text/xml

Accept:multipart/*

Host:services.soaplite.com

User-Agent:SOAP::Lite/Perl/0.55

Content-Length:450

Content-Type:text/xml;charset=utf-8

SOAPAction:"http://www.soaplite.com/Demo#hi"



The body of the request is





<?xmlversion="1.0"encoding="UTF-8"?>

<SOAP-ENV:EnvelopeSOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xsd="http://www.w3.org/1999/XMLSchema"

xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"

xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">

<SOAP-ENV:Body>

<namesp1:hixmlns:namesp1="http://www.soaplite.com/Demo"/>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>



So we need to add fields to the HTTP header. Specifically, we need



Accept:text/xml

Accept:multipart/*

SOAPAction:"http://www.soaplite.com/Demo#hi"

Content-Type:text/xml;charset=utf-8

libcurl should take care of the Content-Length field. The body is specified for the HTTP request using the postfields option. To do this using the RCurl package, we use the following code.

body = '<?xml version="1.0" encoding="UTF-8"?>\
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" \
                   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" \
                   xmlns:xsd="http://www.w3.org/1999/XMLSchema" \
                   xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" \
                   xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">\
  <SOAP-ENV:Body>\
       <namesp1:hi xmlns:namesp1="http://www.soaplite.com/Demo"/>\
  </SOAP-ENV:Body>\
</SOAP-ENV:Envelope>\n'

curlPerform(url="http://services.soaplite.com/hibye.cgi",
            httpheader=c(Accept="text/xml", Accept="multipart/*", SOAPAction='"http://www.soaplite.com/Demo#hi"',
                         'Content-Type' = "text/xml; charset=utf-8"),
            postfields=body,
            verbose = TRUE
           )


Note that this similar to calling
getURL

and we have used it to illustrate how we can use
curlPerform

directly. The only difference is that the result is printed to the console, not returned to us as a character vector. This is a problem when we really want to process the response. So for that, we would simply replace the call to
curlPerform

with
getURL

:
curlPerform(url="http://services.soaplite.com/hibye.cgi",
            httpheader=c(Accept="text/xml", Accept="multipart/*", SOAPAction='"http://www.soaplite.com/Demo#hi"',
                         'Content-Type' = "text/xml; charset=utf-8"),
            postfields=body,
            verbose = TRUE
           )

Additional Notes

These were written before the package was finished. They are left here, but may not be helpful.

Providing Text Handlers

One can provide a different text handler to consume/process the text that is received by the libcurl engine from the HTTP response. We can do this with either an S function or with a C routine. At the lowest level, there is a C routine, but R users will typically be most comfortable with a higher-level function. Functions are more robust, and also provide a more obvious way of maintaining state. We use closures and environments in R to endow a function with its own local variables that persist across calls.

One can envisage a scenario in which the text handler would want to be able to access the CURL handle that was being used in the request. For example, it might use this to find the base URL, to determine the actual host, or identify settings that are in effect, or simply reuse the handle (by duplicating it). Rather than make the curl object explicitly available, one can initialize it separately ahead of the call to
getURL

, and then make it available to the R function as a variable in the function's environment. A more realistic example is the following. Suppose we want to parse HTML files and follow the links within those files to find their links. This is a spider or 'bot. We can fetch the entire document via
getURL

and then parse it (using
htmlTreeParse

). Alternatively, we can use
htmlTreeParse

and provide it with a connection from which the HTML/XML parser requests content as it is needed. We can then setup this connection from which the XML parser reads by having it be supplied by the
getURL

text gatherer. We can parse a document and collect the names of all the links to which it refers and then process each of them. An alternative is to process an individual link when it is discovered. There are trade-offs between the two approaches. However, it is good to be able to do both.

In order to do this, we might want to have access to the CURL handle within the XML parser. When we handle an HREF element (i.e. <a href=>), we would then duplicate the handle and start another HTML parser.

Obviously, this example is also somewhat contrived as the XML/HTML parsing facilities have their own HTTP facilities. However, they do not understand all the finer points of HTTP such as SSL, FTP, passwords, etc.
[Note]Note
This is not a very compelling example anymore!

Alternatives

Using libcurl is by no means the only approach to getting HTTP access in R. Firstly, we have HTTP access in R via the facilities incorporated from libxml (nanohttp and nanoftp). These are, as the names suggest, basic implementations of the protocols and do not provide all the bells and whistles we might need generally. Also, they are not customizable from within R. Specifically, we cannot add header fields, handle binary data, set the body of the request, etc.

We can use R's socket connections and implement the details of HTTP ourselves. There is a great deal of work in this as we have discussed before. Also, we currently don't have secure sockets (i.e. using SSL) in R[1] I initially started using this approach so that I could discover the nuances of HTTP. It quickly gets overwhelming to handle all the details. It is more tedious than technically challenging, especially when others have done it already in C libraries and done it well. The code that I have is in an unreleased package named httpClient. If anyone is interested, please contact me. Using R's sockets is also used in the httpRequest package on CRAN. This allows submitting forms and retrieving URIs. It is useful and, as the authors state, a "basic HTTP request" implementation. It doesn't escape characters, handle chunked responses, do redirects, support SSL, etc. It is flexible but leaves a lot to the user to do to setup the request and process the response. RCurl inherits many, many good features for "free" from libcurl.

libcurl is not the only C-level library that we could have used. Alternative libraries include libwww from the W3 group. We may find that that is more suitable, but libcurl will definitely suffice for the present.

Notes

libcurl can use ares for asynchronous DNS resolution.

Bibliography

[1] Duncan Temple Lang, Sandrine Dudoit, and Sunduz Keles. The RHTMLForms package: creating S functions from HTML forms.. RHTMLForms

[2] James Snell, Doug Tidwell, and Pavel Kulchenko. Programming Web Services with SOAP. O'Reilly




[1] I have a local version (not with SSL) but they are not connections since the connection data structure is not exposed in the R API, yet!

RCurl/inst/doc/withCookies.html0000644000176000001440000002601412665241535016245 0ustar ripleyusers Using Cookies for Connected Requests with RCurl

Using Cookies for Connected Requests with RCurl

Duncan Temple Lang

University of California at Davis

Department of Statistics


The Problem

This is an example of using RCurl with cookies. This comes from a question on the R-help mailing list on Sep 18th, 2012.

In a Web browser, we visit the page http://www.wateroffice.ec.gc.ca/graph/graph_e.html?mode=text&stn=05ND012&prm1=3&syr=2012&smo=09&sday=15&eyr=2012&emo=09&eday=18. Before allowing us access to the data, the Web site presents us with a disclaimer page. We have to click on the I Agree button and then we are forwarded to a page with the actual data. We want to read that using, for example, readHTMLTable() in the XML package.

What happens when we click on the I Agree button? That sets a cookie. After that, we include that cookie in each request to that server and this confirms that we have agreed to the disclaimer. The Web server will process each request containing the cookie knowing we have agreed and so give us the data. So we need to first make a request in R that emulates clicking the I Agree button. We have to arrange for that request to recognize the cookie in the response and then use that cookie in all subsequent requests to that server. We could do this manually, but there is no need to. We simply use the same curl object in all of the requests. In the first request, libcurl will process the response and retrieve the cookie. By using the same curl handle in subsequent requests, libcurl will automatically send the cookie in those requests.

We create the curl handle object with

library(RCurl)
curl = getCurlHandle(cookiefile = "", verbose = TRUE)

This enables cookies in the handle, but does not arrange to write them to a file. We could store the cookie in a file when the curl handle is deleted. We could then use this in subsequent R sessions or other curl handles. However, there is no need to do this. We can just agree to the disclaimer each time. However, if we do want to store the cookie in a file (when the curl handle is deleted), we can do this by specifying a file name as the value for the cookiefile argument.

The disclaimer page is a POST form. We send the request to http://www.wateroffice.ec.gc.ca/include/disclaimer.php with the parameter named disclaimer_action and the value "I Agree". We can get this information by reading the HTML page and looking for the <form> element. Alternatively, we could use the RHTMLForms package.

We can make the request with

postForm("http://www.wateroffice.ec.gc.ca/include/disclaimer.php",
           disclaimer_action = "I Agree", curl = curl)

We can ignore the result as we just want the side-effect of getting the cookie in the curl handle.

We can now access the actual data at the original URL. We cannot use readHTMLTable() directly as that does not use a curl handle, and does not know about the cookie. Instead, we use getURLContent() to get the content of the page. We can then pass this text to readHTMLTable() . So we make the request with

u = "http://www.wateroffice.ec.gc.ca/graph/graph_e.html?mode=text&stn=05ND012&prm1=3&syr=2012&smo=09&sday=15&eyr=2012&emo=09&eday=18"
txt = getURLContent(u, curl = curl, verbose = TRUE)

Personally, I prefer to use

txt = getForm("http://www.wateroffice.ec.gc.ca/graph/graph_e.html",
               mode = "text", stn = "05ND012", prm1 = 3, 
               syr = "2012", smo = "09", sday = "15", eyr = "2012", emo = "09", 
               eday = "18",  curl = curl)

This makes it easier to change individual inputs.

The result should contain the actual data.

library(XML)
tbl = readHTMLTable(txt, asText = TRUE)

We can find the number of rows and columns in each table with

sapply(tbl, dim)
     dataTable hydroTable
[1,]       852          1
[2,]         2          4

We want the first one. The columns are, by default, strings or factors. The numbers have a * on them. We can post-process this to get the values.

tbl = readHTMLTable(txt, asText = TRUE, which = 1, 
                    stringsAsFactors = FALSE)
tbl[[2]] =  as.numeric(gsub("\\*", "", tbl[[2]]))
tbl[[1]] = strptime(tbl[[1]], "%Y-%m-%d %H:%M:%S")

Using RHTMLForms to Find the Disclaimer Form

The RHTMLForms package can both read an HTML page and get a description of all of its forms, and also generate an R function corresponding to each form so that we can invoke the form as if it were a local function in R. We get the descriptions with

library(RHTMLForms)
forms = getHTMLFormDescription(u, FALSE)

We need to keep the buttons in the forms and hence the FALSE as the second argument to getHTMLFormDescription() .

We create the function for this form with

fun = createFunction(forms[[1]])

We can invoke this function using the curl handle we created to capture the cookies:

fun(.curl = curl)

This will agree to the disclaimer on our behalf.

RCurl/inst/doc/RCurl.tex0000644000176000001440000001613512665241535014643 0ustar ripleyusers\documentclass{article} \usepackage{fullpage} \usepackage{times} \author{Duncan Temple Lang\\ Department of Statistics,\\ Universy of California at Davis. } \title{RCurl - an R package for HTTP requests} \begin{document} \maketitle \begin{abstract} The Hyper-Text Transfer Protocol (HTTP) is the communication underlying much of the Web and Web services, allowing Web browsers to download pages, submit HTML forms, and other applications to perform rich distributed computing via Web Services such as SOAP. The RCurl package provides an interface to a well-established, general and flexible C library -- libcurl -- that performs HTTP requests. We describe the primary functions in the R package and the basic computational model exposed via this interface. We describe some of the more advanced and flexible features of the package and provide some examples. We contrast it with other potential HTTP client packages for R and suggest some potential improvements that could be made in the package. \end{abstract} \section{Introduction} In section \ref{HTTPOverview}, we provide an overview of the Hyper-Text Transfer Protocol. This helps to illustrate the large number of facilities one must implement to provide a complete HTTP client facility. In section \section \ref{RCurlBasics}, we present the primary functionality of the RCurl package and illustrate these with some basic examples. In section \ref{AdvancedFeatures}, we describe some of the more advanced features of the package that can be used to provide more controlled access to the HTTP requests and the responses. In the final section, we discuss some alternative approaches to providing client-side HTTP facilities in R and some potential improvements to the RCurl package. The goal of the paper is to provide a flavor for what the RCurl package can do and how to think about it when using it to develop Web-based applications in R. The paper is not intended to be a complete programmers reference guide. One should consult the help pages for both RCurl and libcurl for detailed information about the possible options one can use. \section{The Hyper-Text Transfer Protocol}\label{HTTPOverview} Almost everyone using the Web in some form will be familiar with the term `http' that is the most common prefix for web sites. This stands for the Hyper-Text Transfer Protocol and is represents a language or protocol by which a Web client and server can converse. Defined by a W3 document \cite{HTTPSpec}, it specifies how a client can initiate a conversation with a Web server, how the two can negotiate the settings each will use, how the client can request specific documents or content and how this material is to be transferred. Ths simplest use is the most common and involves downloading a file from a Web server. Let's consider the essentials of what happens when we download the URI (Uniform Resource Identifier) using a Web browser. Redirects Request Body uploads using boundary strings Errors Suppose we were to download the file index.html from the RCurl web page, i.e. \url{http://www.omegahat.net/RCurl/index.html}. Our client would use TCP/IP to connect to the machine www.omegahat.net (having first resolved the IP address of the machine corresponding the name www.omegahat.net). It would attempt to connect on the port 80 which is the default port on which Web servers listen for such requests. If the server were listening on a non-standard port, such as 8080, the request would be \url{http://www.omegahat.net:8080/RCurl/index.html} and the connection would be established using that different port. Assuming the connectin has been made, the client and server then start their HTTP conversation. The client writes the basic command to fetch the file /RCurl/index.html: \begin{verbatim} GET /RCurl/index.html HTTP/1.1 \end{verbatim} The word GET tells the server what operation is being requested, in this case the retrieval of a document. The next part of the command identifies the document. And the final part tells the Web server that the client wishes to communicate using HTTP rather than any other protocol, and specifically version 1.1 of the protocol rather than 1.0. This more recent version of the protocol provides enhanced facilities for the client and server to provide information controlling the connection between them. Because we are using the 1.1 protocol, the client must provide information identifying itself the application in addition to this basic retrieval instruction. Specifically, it must identify the domain of the Web server from which it is requesting the document. This might seem strange; surely the Web server knows the domain of the Web server itself. This is not always the case as a single Web server can act as a virtual server for many domains. And so, in version 1.1 of HTTP, the client should indicate the domain of interest. So the client need only write the following text along the socket connecting the client and Web server: \begin{verbatim} GET / HTTP/1.1 Host: www.omegahat.net \end{verbatim} Both lines are ended with a control-linefeed (\\\\r\\\\n) and the request is completed by sending a terminating blank-line. The Web server is reading the bytes on the socket and then recognizes the end of the request. It then processes the request and provides a response. Each reply has the same basic form. The first line provides information about the request. The last component provides an indication about the status of the request. The numbers indicate success or failure adn identify particular reasons for that response. The next segment of the response is a collection of name--value pairs given as \begin{verbatim} name: value \end{verbatim} These provide information for the client telling it how the information in the response is encoded. This segment is terminated by a blank line and then the data for the response appears is written to the connection. The client can then read this information \begin{figure}[htbp] \begin{center} \leavevmode \caption{The anatomy of an HTTP response} \label{fig:HTTPResponse} \end{center} \end{figure} \section{RCurl and libcurl}\label{RCurlBasics} \subsection{The Basic Computational Model} This describes the basic functions of requesting a URI and submitting a form. It describes how we can have a handle that we can reuse across multiple requests or create one each time. It discusses the use of options via the \ldots mechanism to set libcurl options within a call or persistently within a libcurl handle that apply to all requests using that handle. \subsection{Downloading a URI.} \subsection{Forms} Submitting a form using GET and POST. Google. basic CGI env. wormbase \subssubsection{Discovering the Available Options} \subsection{libcurl and default functionality} \subsubsection{.netrc} \subsubsection{SSL} \section{Advanced Features}\label{AdvancedFeatures} \subsection{Accessing the header information} \subsection{Uploading a File} \section{Alternative Approaches and Future Work} httpRequest not very complete. Other libraries such as libwww. libcurl has many features and is very portable. Event loop. multi-threaded libcurl. \end{document} RCurl/inst/doc/cookies.xml0000644000176000001440000000243112437571707015246 0ustar ripleyusers
Reading Firefox Cookies Firefox stores its cookies in an SQLite database. In the directory ~/Library/Application Support/Firefox/Profiles there is a default profile, e.g. abcd2efg.default. In this directory, there is a file named cookies.sqlite. We can read this in R using the RSQLite package. We install this in the usual manner. Then we load it and create a connection and read the table. drv = SQLite() cookiesDB = sqliteNewConnection(con, "~/Library/Application Support/Firefox/Profiles/abc.default/cookies.sqlite") dbListTables(cookiesDB) cookies = dbReadTable(cookiesDB, "moz_cookies") This gives us a data frame with 9 columns. names(cookies) [1] "id" "name" "value" "host" "path" [2] "expiry" "lastAccessed" "isSecure" "isHttpOnly" Now we can use cookies with RCurl by extracting the values from this data frame and then passing them in RCurl calls. We use the cookie argument in the form "name=expr", i.e. a string. We can specify multiple cookies by separating the name=value pairs by a semi-colon.
RCurl/inst/doc/FAQ.html0000644000176000001440000005104012665241535014361 0ustar ripleyusers FAQ for RCurl

Installation

  • I tried to install the package, but it fails. What's wrong?
    Very hard to tell without more information!
  • Okay, I'll tell you more about how the package failed to install. It said something about not finding curl-config and then gave a line something like
       ERROR: configuration failed for package 'RCurl'
    
    (Mostly for UNIX/Linux/Mac OS X users) So this seems pretty clear. R is telling you that the configuration for RCurl failed. So you need to think about how it is configured. The fact that it couldn't find curl-config should suggest the problem. And what it means is that one or more of the following is true
    • curl-config is not found in your path
    • curl-config and related devlopment libraries (libcurl) are not installed.
    So you need to make certain that libcurl is available. Do something like locate libcurl and see if it returns something like libcurl.so in the lines it emits. Alternatively, do locate curl-config and see if it is present.

    If libcurl is not installed, use your binary package manager to install the curl-dev package. This is different from the curl package which is the command-line tool for using curl to download files. We need the "linkable" library. On Ubuntu, for example, you can use

    sudo apt-get install libcurl4-openssl-dev
    
  • What version of libcurl do I need?
    I have only tested this back to versions of libcurl at 7.11.2. I would use the most recent version of libcurl. You can download the versions from http://curl.haxx.se/download.html.
  • I get errors about CURLOPT_HTTPAUTH not being defined when the C code is being compiled. What's the problem?
    The version of libcurl is important. I have developed this package using curl-7.12. You should download and install that. If this becomes a problem, we can perform tests as to what features are available at installation time and customize to that.
    I get errors about such as
     url.c: In function `RCurlVersionInfoToR':
     curl.c:613: structure has no member named `libidn'
     curl.c:613: structure has no member named `libidn'
    
    Again, this is a version of libcurl problem. We have seen this with curl-7.11.2. Again, we want curl-7.12! However, I have added a test for this in the code so that this problem doesn't arise. The libidn field will be NA if there is no such field in the version structure. If it is present but empty, we return "".
  • I get errors about things not being defined, even basic curl structures, etc. What's the problem?
    Possibly, you are not using GNU make. The Makevars file in the src/ directory uses some GNU make constructs. Please set the environment variable MAKE to gmake.

    Runtime

  • I have to specify followlocation = TRUE for all my requests. Why can't RCurl just do this for me.
    The reason RCurl doesn't set default values for Curl options is because it might be confusing. Instead, we leave it to the R user/programmer to explicitly set any of the options she wants. This can be repetitive. To avoid this repetition, we allow the R user to specify the R option named "RCurlOptions". This is consulted in each request (or specifically when we create a new curl handle) and merged with the values specified explicitly in the call.
      options(RCurlOptions = list(verbose = TRUE, followlocation = TRUE, timeout = 100, useragent = "myApp in R"))
      v = getURLContent("http://www.omegahat.net")
    
    With this, we can see that our useragent appears in the HTTP header of the request. We see this since the verbose = TRUE shows the header of the request and the response.
  • Why doesn't RCurl provide a default value for the useragent that some sites require?
    This is a matter of philosophy. Firstly, libcurl doesn't specify a default value and it is a framework for others to build applications. Similarly, RCurl is a general framework for R programmers to create applications to make "Web" requests. Accordingly, we don't set the user agent either. We expect the R programmer to do this. R programmers using RCurl in an R package to make requests to a site should use the package name (and also the version of R) as the user agent and specify this in all requests.

    Basically, we expect others to specify a meaningful value for useragent so that they identify themselves correctly.

    Note that users (not recommended for programmers) can set the R option named RCurlOptions via R's option() function. The value should be a list of named curl options. This is used in each RCurl request merging these values with those specified in the call. This allows one to provide default values.

  • I try to retrieve a page, but getURLContent() and getURL() both just hang. I have to kill the R session. What is the problem? What can I do?
    First thing to do is to check whether this a problem on the server. You can do this by loading the URL in a Web browser or via a command-line tool such as curl or wget. If this does not succeed, then the problem is most likely with the server.

    There are a couple of things that come to mind. Firstly, specify a value for the curl option "useragent" and give it something meaningful to identify your application. Hopefully adding that resolves the problem. It does in the case

    getURLContent("https://mtgox.com/code/data/ticker.php", ssl.verifypeer = FALSE, useragent = "R")
    

    If that doesn't solve the problem, set a value for the "timeout" option.

    getURLContent("https://mtgox.com/code/data/ticker.php", timeout = 4, ssl.verifypeer = FALSE)
    
    This will at least cure the "hanging" indefinitely and return within that period of time.
  • When I go to a page that is just a directory, I get results about "302 Moved Permanently". My browser shows the list of files. What's the difference?
    Not entirely certain yet! But try putting a / at the end of the URI, e.g. change
          http://www.omegahat.net/RCurl
    
    to
          http://www.omegahat.net/RCurl/
    
    That works for me.
  • Why does https not work for me?
    Probably because when you compiled/installed libcurl, you didn't have support for SSL. You can check this with the command shell
     curl-config  --feature 
    or the R command
    curlVersion()$features
    
    If ssl doesn't appear in either of these, you don't have support for it. You should reinstall curl, having first installed SSL (e.g. openssl).
  • I'm trying to use RCurl to do something in R that works in a Web browser and I can even reproduce using the command line program curl. (That's a big help as we know we are both using libcurl!) But when I do things in R, it fails. What's the problem and how can I fix it?
    Well, there are too many potential reasons and we would need to have more information about what you are attempting to do and what the error messages are. But for one, you might look at authentication and activating Basic authentication, e.g add httpauth = 1L, # "basic" to the curl options.

    But there is a general approach to trying to figure out how to get R to do the same thing as a browser or curl or wget. One approach is to make certain that both R and curl are giving us as much information as possible. So make sure both have verbose switched on. In R, this is a curl option verbose = TRUE and for curl, is is the command line switch -v. Then look at the header information both produce and see if anything is obviously missing or different in the R version.

    A different idea is somewhat advanced, but not very. When the browser or curl makes a request, it is sent across the network via your operating system. What we want to do is look at the contents of the HTTP request and specifically the header information. There are two ways to do this. If we are doing this in a browser, we can examine the headers in that browser using browser-specific tools. Alternatively, if we are doing this via a command line utility or if we want to do this generally, we can capture all the network communication using a tool such as tcpdump or wireshark.

    If we want to do this via the browser, we can use the LiveHTTPHeaders extension for Firefox or the "special" URL chrome://net-internals for Google Chrome.

    For command-line/stand-alone tools, with the appropriate permissions on the computer, we can use a program such as tcpdump or wireshark or ethereal to "sniff" or capture the packets as they go across the network device and then we can look at them. We can do this for the curl or browser and then for R and compare what is being sent. This allows us to see the headers as we can with the verbose options, but it also allows us to see the content of the body of the request. This is only important for POST requests.

    We should also note that if you are using HTTPS, the body will be encrypted and you won't be able to make any sense of it. However, if the data in the post are not sensitive, you can send it via HTTP - not HTTPS - and curl and the Web browser will do the same thing and we will be able to see the contents. The server will likely be confused and upset and give an error, but we are trying to determine the problem on the initial client request so that is not a problem. (It is a problem if we are trying to understand why R is not handling the response correctly, but that's a different problem.)

    How do we use tcpdump and ethereal? First, start tcpdump just before you run the R or curl command

    sudo /usr/sbin/tcpdump -s 1518 -i eth1 -w r_packets.tcp
    
    If you do this and wait too long, you will capture all the background packets that are flying through your network interface that have nothing to do with your problem. This is not a problem, but it makes it harder to find the packets which we want to examine.

    So next, go back to R or curl and run the command. When this has completed, kill the tcpdump process, e.g Ctrl-C in the terminal in which it is running or kill with the relevant process id (see the ps command or the Mac activity monoitor.) Now run ethereal with the name of the file to which tcpdump serialized the packets

    ethereal r_packets.tcp
    
    And then you will get a window that looks something like You navigate the list in the top panel to find the HTTP entry (#64 in our example). Click on that and the details of this TCP interaction are displayed in the lower panel. Then you can expand the elements by clicking on the lines that have an arrow on the left. And then you'll see the details of the header and the body.

    If the connection is via SSL, e.g. HTTPS, things are a little more complicated as the content is encrypted. There are a variety of ways and tools to deal with this. Some are (in no particular order)

    • ssldump
    • Paros Proxy
    • fiddler (Windows)
    • WebScarab (Java)
    • Charles (commercial)
    • HttpWatch (Windows only, Free and commercial)
  • I am trying to use the verbose = TRUE option in curlPerform() or some of the other higher-level functions, but there is no output appearing on the console. What's the problem?
    You're on Windows using the R GUI, aren't you? If so, chose the option in one of the menus that controls whether output is buffered and unselect it, i.e. so the output is not buffered. That should do it.
  • I can't use scp or sftp within RCurl but the documentation for curl seems to suggest that it can. So why does RCurl not support it?
    RCurl does support it, but the likely problem is that the version of libcurl you have installed does not support it. You can check what protocols your libcurl and hence RCurl supports via the command curlVersion. If scp and sftp are not there, reinstall libcurl but with support using libssh2. You will need to have the libssh2 development libraries and headers installed before installing libcurl. On some OSes, you will need to rebuild RCurl from source.
  • I am trying to download a file via FTP, but it takes a very long time. Any suggestions?
    We saw this in a posting to R-help by Zack Holden. There the issue was passive mode. When using R's own download.file() function, an error was raised. When using RCurl's getURL(), the file was correctly downloaded, but it took a long time. There was about 3 minutes of delay. This can be seen with
    getURL('ftp://ftp.wcc.nrcs.usda.gov/data/snow/snow_course/table/history/idaho/13e19.txt', 
            verbose = TRUE)
    
    One can see the request just waits for a long period of time and then eventually the contents of the file are displayed in the R session.

    The fix for this is to avoid extended passive mode and use the regular passive mode. This is controlled via the ftp.use.epsv option in calls to curlPerform() and we set this to FALSE so that PASV is used rather than EPSV.

    getURL('ftp://ftp.wcc.nrcs.usda.gov/data/snow/snow_course/table/history/idaho/13e19.txt', 
            ftp.use.epsv = FALSE)
    
  • I want to download all the files in an FTP directory. How do I do it?
    First, we can get a list of all the file names with
    url = 'ftp://ftp.wcc.nrcs.usda.gov/data/snow/snow_course/table/history/idaho/'
    filenames = getURL(url, ftp.use.epsv = FALSE, ftplistonly = TRUE)
    filenames = paste(url, strsplit(filenames, "\n")[[1]], sep = "")
    
    Now we can download each of these in turn. It is advisable to create a curl handle just once and to set any options before downloading any of the files.
    con = getCurlHandle( ftp.use.epsv = FALSE)
    sapply(filenames, getURL, curl = con)
    
  • When I try to interact with a URL via https, I get an error of the form
    Error in curlPerform(url = url, headerfunction = header$update, curl = curl,  : 
      SSL certificate problem, verify that the CA cert is OK. Details:
    error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed    
    
    What can I do?

    Information about this came from http://ademar.name/blog/2006/04/curl-ssl-certificate-problem-v.html

    Basically, the remote server is sending us a certificate to say it is who it says it is. However, we have to trust that certificate. We do this by providing information about a collection of trusted signing authorites, e.g. Verisign, Entrust, Thawte We can use the certificates from these agents from the Netscape collection, available via http://curl.netmirror.org/docs/caextract.html, but you can find other collections. We download this file or its equivalent. Next we need to tell libcurl to use that file and where to find it. We do this with the cainfo option.

    x = getURLContent("https://www.google.com",
                      cainfo = "/Users/duncan/cacert.pem")    
    
    Note that we cannot use a ~ in the file path; we have to expand it ourselves.
    x = getURLContent("https://www.google.com",
                      cainfo = path.expand("~/cacert.pem"))
    

    To avoid having to specify the location of the bundle in each call, you can place the file in a place that libcurl looks. This is usually the file /usr/local/share/curl/curl-ca-bundle.crt If you have write permission for this directory, you can place the files. (The file must be present before libcurl is configured and compiled.)

    On some versions of UNIX, the certificates will also be found in /usr/share/ssl/certs/ca-bundle.crt

    If you don't have a certificate from an appropriate signing agent, you can suppress verifying the certificate with the ssl.verifypeer option:

    x = getURLContent("https://www.google.com",
                       ssl.verifypeer = FALSE)
    
    This does risk a 'man in the middle' attack.

  • I'm trying to POST a request but this fails. Does it have anything to do with the %'s in my parameter values?
    (Taken from a query from Olivier Merle. )
    x = postForm("http://www.fas.usda.gov/psdonline/psdResult.aspx",
                 style = "post",
                .params = list(visited="1",
                              lstGroup = "all",
                              lstCommodity="2631000",
                              lstAttribute="88",
                              lstCountry="**",
                              lstDate="2011",
                              lstColumn="Year",
                              lstOrder="Commodity%2FAttribute%2FCountry"))    
    
    This fails with a simple message from the server that the "Custom Query results" cannot be displayed. Note the lstOrder parameter. It has %2F in two places. This is the "percent encoding" for the character /. postForm does the percent encoding on the inputs and so ends up encoding %2F, ending up with "%252F" in place of each "%2F".

    So, don't pass percent encoded strings, but rather use human-readable versions, e.g. lstOrder="Commodity/Attribute/Country" and leave postForm to handle the encoding. Alternatively, you can tell postForm not to percent-encode specific parameters by passing them As-Is, e.g.

     lstOrder = I("Commodity%2FAttribute%2FCountry")
    
  • Okay, how do I perform a PUT operation in RCurl?
    Well here is the lowest-level version:
     val = rawToChar(textToSend)
     curlPerform(url = "http://localhost:9200/a/b/axyz", customrequest = "PUT",
                  readfunction = val, infilesize = length(val), upload = TRUE)
    
    textToSend is the content we want to send. We convert it to raw. Then we specify the URL, that we want a PUT request, and we specify the raw object as the value for readfunction and also the number of elements in val as the value of infilesize. The last option - upload - is vital. What happens here is that RCurl reads bytes from val as it needs to send them to the server.

    A slightly shorter way to do this is

     httpPUT("http://localhost:9200/a/b/axyz", 
              readfunction = val, infilesize = length(val), upload = TRUE)
    
    From version 1.91-0, you can simply use
    httpPUT(url, textToSend)
    
    and the function will fill in the other curl options
  • When using authentication in an HTTP request, libcurl makes multiple requests. How can we make this more efficient?
    Basically, when we specify a username and password (e.g. via userpwd) libcurl doesn't know which authentication mechanism to use. So it tries several in order until one is successful. So it is best to specify the authentication mechanism explicitly via httpauth. Specify one of the values CURLAUTH_

  • Duncan Temple Lang <duncan@wald.ucdavis.edu>
    Last modified: Thu May 31 21:08:44 PDT 2012 RCurl/inst/doc/fileUploads.xml0000644000176000001440000000243112437571707016061 0ustar ripleyusers
    Here we discuss different approaches to providing the ability to include uploaded files in multipart POST'ed forms via RCurl. At present, the postForm function in RCurl assumes that all the name = value pairs passed to it are simple string values. My original notion for handling the upload of forms was that the R code would know to read the contents of the specified file into an R string and pass it to postForm() directly. This is, in many ways, desirable as the "application" calling postForm knows when it is talking about a file rather than a simple piece of text. Unfortunately, however, this won't work particularly well with binary files unless we read them into R and pass the contents directly to the RCurl C code. We can use the raw type to do this. We also need to allow the caller specify the name of the file rather than just its contents. And we also need to allow the specification of the content-type. libcurl can also support The following is one interface. We create a new function named fileUpload which can be told about a filename or given the contents, the content type and the file from which it came. This puts a class on the object and when we receive one of these in the C code, we process it "approrpiately".
    RCurl/inst/doc/philosophy.xml0000644000176000001440000014210312665241535016005 0ustar ripleyusers
    Duncan Temple Lang Department of Statistics, UC Davis The <ulink url="http://www.omegahat.net/RCurl">RCurl package</ulink> HTTP RCurl R
    Overview The RCurl package provides high-level facilities in R to communicate with HTTP servers. Simply, it allows us to download URLs, submit forms in different ways, and generally compose HTTP requests. It supports HTTPS, the secure HTTP; handles authentication using passwords; and can use FTP to download files. It also handles escaping characters in requests, binary data, and file uploads. Users can override or provide additional headers in the HTTP request in order to customize the communication. The response from the HTTP server is processed as a stream and chunk encoding automatically handled. While the default mechanism simply returns the text from a request, one can specify S functions to process the response as it is received, redirecting it or processing in an application specific manner. All of this could be written in R. We could use socket connections to write requests to HTTP servers and receive the response. To support HTTPS, we would have to add SSL connections. To get the same behavior as RCurl, we would have to implement the HTTP protocol. This involves writing the HTTP headers correctly and flexibly, escaping characters, providing authentication, following redirection commands, handling responses by decomposing "chunked" content, binary files, etc. To submit forms, we have to compose the body of the request by computing boundary strings and creating the "Content-Disposition" elements. In short, there is a lot of work to do and significant potential for error. Rather than doing this in R, RCurl uses an existing implementation that is provided in a widely used C library - libcurl. This has several benefits: libcurl is well tested and very portable. As a result it is available on many platforms and bugs have been identified and fixed. Many people and applications use libcurl which means that it has support for common features that are used in various contexts. libcurl is in C and so is fast. On the negative side, it is hard to extend libcurl. We can only hope that the hooks to customize requests are adequate for our needs. We can expect that others have run into these extensibility issues and these needs have been fed back to the designers of libcurl. R already provides its own way to download URIs. Functions like download.url and connection constructors such as url. Since the libcurl library provides opaque data structures for implementing requests and connections, we cannot easily adapt it to fit our special needs in R. Specifically, it is harder to merge it with our view of connections in S (R and S-Plus). Similarly, it is harder to integrate it with the event-loop in R so that we can listen for input pending and essentially put the connection in the background. The support for threads in libcurl might make this easier if/when we support threads in R.
    A Quick Tour This document aims to provide a basic overview of the RCurl package. It doesn't try to provide all the details. The R function help files and the libcurl documentation have all the relevant information. Since the package is an interface to libcurl, it is important to use the documentation for it regarding features, options, etc. You can consult the libcurl documentation and libcurl examples (in C code). The RCurl package provides three primary high-level entry points. These allow us to fetch a URL and submit forms. The functions are getURL, getForm and postForm. The first is relatively straightforward, given the name; it allows us to fetch the contents of a URI. The other two functions provide ways to submit a form using the GET or POST methods. These are quite different internally, but for users, both require a set of name-value pairs giving the parameters for the form submission. The difference is in how the form is submitted and the POST method allows us to submit/upload files, binary content, etc. Let us look at the getURL function. At it simplest, this is just like the download.url function in the standard R. We can fetch a URI with the command something like getURL("http://www.omegahat.net/RCurl/index.html") The idea is that we specify the URI. There are several other arguments to this function, but for the most part we don't need them. We can use HTTPS to fetch URIs securely. For example, getURL("https://sourceforge.net") This is already more than we can do with the regular connections or built-in download.url in R. (Using an external program allows HTTPS access.) There are three different sets of arguments for the getURL function. One is named curl and we will cover this in section . This is merely a way to cumulate requests on a single connection with shared options. The write function is again rather specialized. It allows us to specify an R function that is called each time libcurl has some text as part of the HTTP response. It hands this text (as a sequence of bytes) to the function so that it can process it in whatever way it deems fit. This corresponds to the writefunction option for the libcurl operation described next. We have it as an explicit argument simply because we need to use it to get the return value in a single action as the default behavior. The third set of arguments is the most general and is handled by the ... in the getURL function. With this, one can specify name-value pairs governing the actual request. There are numerous possible settings that one can specify. The basic idea is that one can set options provided by the curl_easy_setopt routine. These allow us to set parameters for many different aspects of the request. For example, we can specify additional headers for the HTTP request, or include a password for the Web site. The set of possible options can be determined via the function getCurlOptionConstants. and the set of names for the different options can be found via the command names(getCurlOptionsConstants()) This is a collection of names of options that are understood by many of the functions in the RCurl package. At present, there are 113 possible options. sort(names(getCurlOptionsConstants())) [1] "autoreferer" "buffersize" [3] "cainfo" "capath" [5] "closepolicy" "connecttimeout" [7] "cookie" "cookiefile" [9] "cookiejar" "cookiesession" [11] "crlf" "customrequest" [13] "debugdata" "debugfunction" [15] "dns.cache.timeout" "dns.use.global.cache" [17] "egdsocket" "encoding" [19] "errorbuffer" "failonerror" [21] "file" "filetime" [23] "followlocation" "forbid.reuse" [25] "fresh.connect" "ftp.create.missing.dirs" [27] "ftp.response.timeout" "ftp.ssl" [29] "ftp.use.eprt" "ftp.use.epsv" [31] "ftpappend" "ftplistonly" [33] "ftpport" "header" [35] "headerfunction" "http.version" [37] "http200aliases" "httpauth" [39] "httpget" "httpheader" [41] "httppost" "httpproxytunnel" [43] "infile" "infilesize" [45] "infilesize.large" "interface" [47] "ipresolve" "krb4level" [49] "low.speed.limit" "low.speed.time" [51] "maxconnects" "maxfilesize" [53] "maxfilesize.large" "maxredirs" [55] "netrc" "netrc.file" [57] "nobody" "noprogress" [59] "nosignal" "port" [61] "post" "postfields" [63] "postfieldsize" "postfieldsize.large" [65] "postquote" "prequote" [67] "private" "progressdata" [69] "progressfunction" "proxy" [71] "proxyauth" "proxyport" [73] "proxytype" "proxyuserpwd" [75] "put" "quote" [77] "random.file" "range" [79] "readfunction" "referer" [81] "resume.from" "resume.from.large" [83] "share" "ssl.cipher.list" [85] "ssl.ctx.data" "ssl.ctx.function" [87] "ssl.verifyhost" "ssl.verifypeer" [89] "sslcert" "sslcertpasswd" [91] "sslcerttype" "sslengine" [93] "sslengine.default" "sslkey" [95] "sslkeypasswd" "sslkeytype" [97] "sslversion" "stderr" [99] "tcp.nodelay" "telnetoptions" [101] "timecondition" "timeout" [103] "timevalue" "transfertext" [105] "unrestricted.auth" "upload" [107] "url" "useragent" [109] "userpwd" "verbose" [111] "writefunction" "writeheader" [113] "writeinfo" Each of these and what it controls is described in the libcurl man(ual) page for curl_easy_setopt and that is the authoritative documentation. Anything we provide here is merely repetition or additional explanation. The names of the options require a slight explanation. These correspond to symbolic names in the C code of libcurl. For example, the option url in R corresponds to CURLOPT_URL in C. Firstly, uppercase letters are annoying to type and read, so we have mapped them to lower case letters in R. We have also removed the prefix "CURLOPT_" since we know the context in which they option names are being used. And lastly, any option names that have a _ (after we have removed the CURLOPT_ prefix) are changed to replace the '_' with a '.' so we can type them in R without having to quote them. For example, combining these three rules, "CURLOPT_URL" becomes url and CURLOPT_NETRC_FILE becomes netrc.file. That is the mapping scheme. The code that handles options in RCurl automatically maps the user's inputs to lower case. This means that you can use any mixture of upper-case that makes your code more readable to you and others. For example, we might write writeFunction = basicTextGatherer() or HTTPHeader = c(Accept="text/html") We specify one or more options by using the names. To make interactive use easier, we perform partial matching on the names relative to the set of know names. So, for example, we could specify getURL("http://www.omegahat.net/RCurl/testPassword", verbose = TRUE) or, more succinctly, getURL("http://www.omegahat.net/RCurl/testPassword", v = TRUE) Obviously, the first is more readable and less ambiguous. Please use the full form when writing "software". But you might use the abbreviated form when working interactively. Each option expects a certain type of value from R. For example, the following options expect a number or logical value. [1] "autoreferer" "buffersize" [3] "closepolicy" "connecttimeout" [5] "cookiesession" "crlf" [7] "dns.cache.timeout" "dns.use.global.cache" [9] "failonerror" "followlocation" [11] "forbid.reuse" "fresh.connect" [13] "ftp.create.missing.dirs" "ftp.response.timeout" [15] "ftp.ssl" "ftp.use.eprt" [17] "ftp.use.epsv" "ftpappend" [19] "ftplistonly" "header" [21] "http.version" "httpauth" [23] "httpget" "httpproxytunnel" [25] "infilesize" "ipresolve" [27] "low.speed.limit" "low.speed.time" [29] "maxconnects" "maxfilesize" [31] "maxredirs" "netrc" [33] "nobody" "noprogress" [35] "nosignal" "port" [37] "post" "postfieldsize" [39] "proxyauth" "proxyport" [41] "proxytype" "put" [43] "resume.from" "ssl.verifyhost" [45] "ssl.verifypeer" "sslengine.default" [47] "sslversion" "tcp.nodelay" [49] "timecondition" "timeout" [51] "timevalue" "transfertext" [53] "unrestricted.auth" "upload" [55] "verbose" The connecttimeout gives the maximum number of seconds the connection should take before raising an error, so this is a number. The header option, on the other hand, is merely a flag to indicate whether header information from the response should be included. So this can be a logical value (or a number that is 0 to say FALSE or non-zero for TRUE.) At present, all numbers passed from R are converted to long when used in libcurl. Many options are specified as strings. For example, we can specify the user password for a URI as getURL("http://www.omegahat.net/RCurl/testPassword/index.html", userpwd = "bob:duncantl", verbose = TRUE) Note that we also turned on the "verbose" option so that we can see what libcurl is doing. This is extremely convenient when trying to understand why things aren't working (or are working in a particular way!). Another example of using strings is to specify a referer URI and a user-agent. getURL("http://www.omegahat.net/RCurl/index.html", useragent="RCurl", referer="http://www.omegahat.net") (Again, you might want to turn on the "verbose" option to see what libcurl is doing with this information.) The libcurl facilities allow us to not only set our own values for fields used in the HTTP request header (such as the referer or user-agent), but it also allows us to set an entire collection of new fields or replacements for any existing field. We do this in R using the httpheader option for libcurl and we specify a value which is a named character vector. For example, suppose we want to provide a value for the Accept field and add a new field named, say, Made-up-field. We could do this in the request as getURL("http://www.omegahat.net/RCurl", httpheader = c(Accept="text/html", 'Made-up-field' = "bob")) If you turn on the verbose option again for this request, you will see these fields being set. > getURL("http://www.omegahat.net", httpheader = c(Accept="text/html", 'Made-up-field' = "bob"), verbose = TRUE) * About to connect() to www.omegahat.net port 80 * Connected to www.omegahat.net (169.237.46.32) port 80 > GET / HTTP/1.1 Host: www.omegahat.net Pragma: no-cache Accept: text/html Made-up-field: bob (Note that not all servers will tolerate setting header fields arbitrarily and may return an error.) The key thing to note is that headers are specified as name-value pairs in a character vector. R takes these and pastes the name and value together and passes the resulting character vector to libcurl. So while it is convenient to express the headers as c(name = "value", name = "value") if you already have the data in the form c("name: value", "name: value") you can use that directly. Some of the libcurl options expect a C routine. For example, when libcurl is receiving the response from the HTTP server, it will call the C routine specified via the option CURLOPT_WRITEFUNCTION each time it has a full buffer of bytes. While it is possible for us to be able to specify a C routine from R (using getNativeSymbolInfo), we currently don't support this. Instead, it is more natural to specify an R function which is to be called when appropriate. And this is indeed how we do things in RCurl. One can specify a function for the writefunction writeheader and debugfunction options. (We can add support for the others such as readfunction.) To use these is quite simple. We expect an R function that takes a single argument which is the character of bytes to process. The function can do what it wants with this argument. Typically, it will accumulate it in a persistent variable (e.g. using closures) or process it on-the-fly such as adding to a plot, passing it to an HTML parser, .... The function basicTextGatherer is an example of the idea and this mechanism is used in getURL. Suppose, for some reason, we wanted to read the header information that was returned by HTTP server in the response to our request. (This has interesting things like cookies, content type, etc. that libcurl uses internally, but we may also want to process.) Then we would firstly use the header option to turn on the libcurl facility to report the response header information. If we just do this, the header information will be included in the text that getURL returns. This is fine, but we will have to separate it out by finding the first line, etc. Instead, it is easier to ask libcurl to hand the header information to use separate from the text/body of the response. We can do this by creating a callback function via the basicTextGatherer function. h = basicTextGatherer() txt = getURL("http://www.omegahat.net/RCurl", header = TRUE, headerfunction = h$update) All we have done is create a collection of functions (stored in h) and passed the update callback to libcurl. Each time libcurl receives more of the headers, it calls this function with the header text. It may call this just once or several times. This depends on how large the header information is, how libcurl buffers the information, etc. Having called getURL, we have the text from the URI. The header information is available from h, specifically its value function element. h$value() The debugGatherer is another example of a callback that can be used with libcurl. If we set the "verbose" option to , libcurl will provide a lot of information about its actions. By default, these will be written on the console (e.g. stderr). In some cases, we would not want these to be on the screen but instead, for example, displayed in a GUI or stored in a variable for closer examination. We can do this by providing a callback function for the debugging output via the debugfunction option for libcurl. The debugGatherer is a simple one that merely cumulates its inputs in different categories and makes them available via the value function. The setup is easy: d = debugGatherer() x = getURL("http://www.omegahat.net/RCurl", debugfunction=d$update, verbose = TRUE) At the end of the request, again we have the text from the URI in x, but we also have the debugging information. libcurl has called our update function each time it has some information (either from the HTTP server or from its own internal dialog). (R) names(d$value()) [1] "text" "headerIn" "headerOut" "dataIn" "dataOut" The headerIn and headerOut fields report the text of the header for the response from the Web server and for our request respectively. Similarly, the dataIn and dataOut fields give the body of the response and request. And the text is just messages from libcurl. We should note that not all options are (currently)) meaningful in R. For example, it is not currently possible to redirect standard error for libcurl to a different FILE* via the "stderr" option. (In the future, we may be able to specify an R function for writing errors from libcurl, but we have not put that in yet.)
    Forms The RCurl package provides many additional mechanisms for downloading URIs that R does not currently have built-in. But perhaps the most pressing reason for developing the RCurl package was the need to submit forms. The package is a package that can read an HTML page with one or more forms and create an S function for each form that allows S users to submit the form programmatically rather than requiring interactively browsing the page, saving the result to a file and then loading it into R. In order for these functions to work, we need to be able to submit the contents of the form from S as if it came from a regular browser. We use RCurl to do this. There are two mechanisms used for submitting HTML forms: GET and POST. Both take a set of name-value pairs giving the arguments to parameterize the call. The difference between the mechanisms is how these name-value pairs are delivered to the HTTP server. The GET method puts the name-value pairs of parameters at the end of the URI name, e.g. The POST method expects the name-value pairs to be sent as the body of the HTTP request, each put in its own "paragraph" or stanza. This is more complicated but supports sending binary data, etc. Which of the GET and POST mechanism is appropriate is specified with the HTML form itself via the action attribute of the FORM itself. To the user, however, the browser takes care of figuring out the correct way to deliver the name-value pairs specified by the user when interacting with the components of the form. In RCurl, we don't have access to the original HTML form so we cannot tell what mechanism to use. It is up to the caller to determine whether to use getForm or postForm depending on the value of the action attribute in the original HTML file. After determining whether to use POST or GET, the interface to the functions is typically the same to the user. Essentially, she need only specify the name-value pairs for each of the form elements. We do this via a named list or named character vector. (The list simply allows us to have objects of different type other than strings!) We must specify all the fields, including the hidden fields, if the the processor on the HTTP server is to make sense of it. RCurl doesn't try to interpret the name-value pairs, but just transports them. Let's look at an example of sending a query to Google (via HTTP rather than its API). getForm("http://www.google.com/search", hl="en", lr="", ie="ISO-8859-1", q="RCurl", btnG="Search") The result is the HTML you would ordinarily see in your browser. You might use htmlTreeParse to parse it. What is important in the example is that we are specifying the required fields in the query as named arguments to R. getForm takes care of bringing them together and constructing the full URI name. Note that libcurl also handles escaping the special characters, e.g. converting a space to %20. Note that if you wanted to explicitly do this escaping on a string rather than having libcurl implicitly do it, you can use curlEscape. Similarly, there is a function curlUnescape to reverse the escaping and make a string "human-readable". postForm is almost identical. Let's submit a POST form to http://www.speakeasy.org/~cgires/perl_form.cgi postForm("http://www.speakeasy.org/~cgires/perl_form.cgi", "some_text" = "Duncan", "choice" = "Ho", "radbut" = "eep", "box" = "box1, box2" ) Here, the form elements are named some_text, choice, radbut, box. We have simply provided values for them. Again, the result is the regular response from the HTTP server. Sometimes we already have the arguments in a list. It is slightly more complex then to pass them to the function via the argument. The two form submission functions in RCurl (getForm and postForm) also accept the name-value arguments via the parameter. This arises in programmatic access to the functions rather than interactive use. Since we use for the name-value pairs of the form, we cannot specify the libcurl options (unambiguously) in this way and we require than any such options to control the HTTP request at the libcurl-level be passed via the .opts parameter. RCurl and libcurl construct the HTTP request and after that, the request is just like a regular URI download. All of the usual techniques for reading the response, its header, etc. work.
    CURL Handles The functions we have presented above are the high-level entry points that allow R users to make the common-style HTTP requests. The RCurl package is capable of more however. It provides access to the basic libcurl primitives which one can use to compose more complicated and non-standard HTTP requests. For the most part, one merely specifies libcurl options by name to the different functions and these take effect for that call. An alternative model (used more in C code) is that we first create a libcurl object to represent the HTTP request, then we customize it by setting options and then we invoke the request. This is far more involved than we need in R. There is a simplicity about the getURL function that removes the need to know about the internal C structure representing the call. However, there are occasions when it is useful to know about this and exploit it. Specifically, one can create an instance of this libcurl "handle" and use it in several requests. This has the advantage that we do not have to set the options in each call, but rather can do this just once. This saves a marginal amount of time in R by reducing the computations, but it will be essentially negligible relative to the network latency involved in the request itself. What is more important is that if the sequence of requests are to the same server, the libcurl engine can maintain the connection to the server and avoid having to reestablish it each time. This handshaking is quite expensive, so reusing the "handle" in such situations can yield non-trivial performance gains. It is also even possible to "pipeline" requests by sending multiple requests before getting the answer back for the first one. This again can improve performance. Now that we both know about the internal libcurl structures and know why we might be interested in reusing them across requests, the question remains how do we do this. It is quite easy. Each of the "action" functions in the package (i.e. that work with libcurl directly) have a parameter named curl. For each of these functions, the default value is getCurlHandle and what this means is that, if no value is given for curl, a new handle is created for the duration of this call. So it is easy for us to create such a handle before calling one of these functions and then pass that as the value for curl. For example, we can make two requests to the www.omegahat.net site using the same handle as follows: handle = getCurlHandle() a = getURL("http://www.omegahat.net/RCurl", curl = handle) b = getURL("http://www.omegahat.net/", curl = handle) It is important to remember that if we set any options in any of the calls, these will be set in the libcurl handle and these will persist across requests unless they are reset. For example, if we had set the header=TRUE option in the first call above, it would remain set for the second call. This can be sometimes inconvenient. In such cases, either use separate libcurl handles, or reset the options. The function dupCurlHandle allows us to create a new libcurl handle that is an exact copy of the existing one. This allows us to quickly reuse existing settings without having them affect other requests. (The data in the option values are not copied). See curl_easy_duphandle. By reusing libcurl handles, we avoid reallocating a new one and potentially benefit from improved connectivity. One downside, however, when reusing handles is that the options we set in R need to be copied as C data since they will persist across R function calls in the libcurl handle itself. As a result, there are additional computations needed. Again, this is negligible in almost all cases and will be dominated by the network speed. libcurl doesn't have any explicit function for fetching a URL. Instead, it uses a powerful but simple interface which involves merely setting the options in the libcurl handle as desired and then invoking the request. So one just prepares the request and forces it to be sent. This is done via the curlPerform function in R. This is how getURL is actually implemented.
    Statistics on the Request S is a statistical programming language and environment so why not gather data when we can. The function getCurlInfo allows us to find out information about the last request made for a given libcurl handle. (Of course, this assumes we have explicitly created the handle rather than used the default value for curl and so lost it.) h = getCurlHandle() getURL("http://www.omegahat.net", curl = h) names(getCurlInfo(h)) The names of the resulting elements are [1] "effective.url" "response.code" [3] "total.time" "namelookup.time" [5] "connect.time" "pretransfer.time" [7] "size.upload" "size.download" [9] "speed.download" "speed.upload" [11] "header.size" "request.size" [13] "ssl.verifyresult" "filetime" [15] "content.length.download" "content.length.upload" [17] "starttransfer.time" "content.type" [19] "redirect.time" "redirect.count" [21] "private" "http.connectcode" [23] "httpauth.avail" "proxyauth.avail" These provide us the actual name of the URI downloaded after redirections, etc.; information about the transfer speed, etc.; etc. See the man page for curl_easy_getinfo.
    libcurl Version Information The RCurl package provides a way to obtain reflectance information about libcurl itself. The function curlVersion returns the contents of the curl_version_info_data structure. For my installation, the return value from curlVersion is $age [1] 2 $version [1] "7.12.0" $vesion_num [1] 461824 $host [1] "powerpc-apple-darwin7.4.0" $features ipv6 ssl libz ntlm largefile 1 4 8 16 512 $ssl_version [1] " OpenSSL/0.9.7b" $ssl_version_num [1] 9465903 $libz_version [1] "1.2.1" $protocols [1] "ftp" "gopher" "telnet" "dict" "ldap" "http" "file" "https" [9] "ftps" $ares [1] "" $ares_num [1] 0 $libidn [1] "" The help page for the R function explains the fields which are hopefully clear from the names. The only ones that might be obscure are ares and libidn. ares refers to asynchronous domain name server (DNS) lookup for resolving the IP address (e.g. 128.41.12.2) corresponding to a machine name (e.g. www.omegahat.net). "GNU Libidn is an implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN)" (taken from http://www.gnu.org/software/libidn/).
    Initialization As with most C libraries, one must typically initialize it to get the basic run-time structure established. Fortunately, when we call any of the R functions, this is taken care of implicitly; libcurl handles this when we create a new handle. However, sometimes it is important to explicitly specify options to control how the library is initialized. RCurl provides a way to do this via the curlGlobalInit function. The only argument is a flag that indicates what features to initialize. For the most part, the defaults work best and we can leave libcurl to perform this initialization. However, we may need to be careful that we are not re-initializing a setting that R (or generally the host application) has already set. This may happen on Windows as libcurl initialize the Win32 socket library. We can avoid this, if necessary, but telling libcurl to initialize only the SSL facilities. The argument to curlGlobalInit is typically a character vector of names of features to turn on. The possible names can be obtained from CurlGlobalBits which is a named integer vector: none ssl win32 all 0 1 2 3 attr(,"class") [1] "CurlGlobalBits" "BitIndicator" We would call curlGlobalInit as curlGlobalInit(c("ssl", "win32")) or curlGlobalInit(c("ssl")) to activate both SSL and Win32 sockets, or just SSL respectively. One can specify integer values directly, but this is less readable to others (or yourself in a few weeks!). The names are converted and combined to a flag using setBitIndicators.
    Options It is hopefully clear that it is the libcurl options that make this interface work and allow us to make interesting queries. From specifying the URI to how to read the text, to providing passwords, it is the options that are critical. For the most part, these options are passed by name to functions in RCurl via the mechanism in R and the .opts argument. These two collections of arguments are merged, with those in overriding corresponding ones in the .opts object. Why do we have the .opts argument? The reason is similar to the .params in the form functions: often we have the options in a list and it is not as convenient to use the approach. Having both allows the caller/programmer to use whichever is most convenient. One case in which the .opts argument is useful is if we want to prepare a set of options that are to be used in all (or a set of) calls. We can combine these arguments into a list just once and then pass them to each HTTP request easily by simply using that variable. Since we merge the values in and .opts, this works nicely. To create such a list of options, we can use the function curlOpts. This creates an S3-style object with class CURLOptions. This function never involves libcurl, but sorts out the names of the options by using partial matching (via the mapCurlOptNames function) and returns an R object with the options as name-value pairs in a list. The fact that this is a class means that if we access any elements, the full names are used, even when we set an element. This means that the names are kept resolved as we use it in R and correspond unambiguously to real libcurl options. We can use this function something like the following. opts = curlOptions(header = TRUE, userpwd = "bob:duncantl", netrc = TRUE) getURL("http://www.omegahat.net/RCurl/testPassword/index.html", verbose = TRUE, .opts = opts) Here we create the options ahead of time and use them in a call while specifying additional options (i.e. "verbose"). Some readers will have noticed that we could achieve the same effect of having a set of fixed options that are used in a collection of calls by reusing a libcurl handle. We could create the handle, set the common options, and then use that handle in the set of calls. This is indeed a natural and often good way to do things. The following code does what we want. h = getCurlHandle(header = TRUE, userpwd = "bob:duncantl", netrc = TRUE) getURL("http://www.omegahat.net/RCurl/testPassword/index.html", verbose = TRUE, curl = h) The first line creates a new handle and fills in the three "persistent" options. These are in the handle itself, not in R at this stage. Now, when we perform the request via getURL, we specify this libcurl handle and provide the "verbose" option. The function curlSetOpt is used implicitly in the code above and this actually sets the option-values in a libcurl handle. It can also be used to simply resolve them.
    Example Application In this section, we will outline a more complex use of the RCurl facilities. Specifically, we will use it to send SOAP requests. SOAP uses HTTP to send XML content that encodes a method invocation. We have to add the appropriate fields to the HTTP header to identify the SOAP call and then insert the XML that defines the method call in the body of the request. Using our favorite client SOAP facility (e.g. SOAP::Lite, SSOAP), we can send the SOAP request that performs the HTTP request. We can find out what the actual HTTP request looks like using facilities in those tools or actually sniffing the packets as they go across the wire using tcpdump or ethereal or some such tool. This is what we see. The HTTP header in the request is The body of the request is ]]> So we need to add fields to the HTTP header. Specifically, we need Accept: text/xml Accept: multipart/* SOAPAction: "http://www.soaplite.com/Demo#hi" Content-Type: text/xml; charset=utf-8 libcurl should take care of the Content-Length field. The body is specified for the HTTP request using the postfields option. To do this using the RCurl package, we use the following code. \ \ \ \ \ \n' curlPerform(url="http://services.soaplite.com/hibye.cgi", httpheader=c(Accept="text/xml", Accept="multipart/*", SOAPAction='"http://www.soaplite.com/Demo#hi"', 'Content-Type' = "text/xml; charset=utf-8"), postfields=body, verbose = TRUE ) ]]> Note that this similar to calling getURL and we have used it to illustrate how we can use curlPerform directly. The only difference is that the result is printed to the console, not returned to us as a character vector. This is a problem when we really want to process the response. So for that, we would simply replace the call to curlPerform with getURL: curlPerform(url="http://services.soaplite.com/hibye.cgi", httpheader=c(Accept="text/xml", Accept="multipart/*", SOAPAction='"http://www.soaplite.com/Demo#hi"', 'Content-Type' = "text/xml; charset=utf-8"), postfields=body, verbose = TRUE )
    Additional Notes These were written before the package was finished. They are left here, but may not be helpful.
    Providing Text Handlers One can provide a different text handler to consume/process the text that is received by the libcurl engine from the HTTP response. We can do this with either an S function or with a C routine. At the lowest level, there is a C routine, but R users will typically be most comfortable with a higher-level function. Functions are more robust, and also provide a more obvious way of maintaining state. We use closures and environments in R to endow a function with its own local variables that persist across calls. One can envisage a scenario in which the text handler would want to be able to access the CURL handle that was being used in the request. For example, it might use this to find the base URL, to determine the actual host, or identify settings that are in effect, or simply reuse the handle (by duplicating it). Rather than make the curl object explicitly available, one can initialize it separately ahead of the call to getURL, and then make it available to the R function as a variable in the function's environment. A more realistic example is the following. Suppose we want to parse HTML files and follow the links within those files to find their links. This is a spider or 'bot. We can fetch the entire document via getURL and then parse it (using htmlTreeParse). Alternatively, we can use htmlTreeParse and provide it with a connection from which the HTML/XML parser requests content as it is needed. We can then setup this connection from which the XML parser reads by having it be supplied by the getURL text gatherer. We can parse a document and collect the names of all the links to which it refers and then process each of them. An alternative is to process an individual link when it is discovered. There are trade-offs between the two approaches. However, it is good to be able to do both. In order to do this, we might want to have access to the CURL handle within the XML parser. When we handle an HREF element (i.e. <a href=>), we would then duplicate the handle and start another HTML parser. Obviously, this example is also somewhat contrived as the XML/HTML parsing facilities have their own HTTP facilities. However, they do not understand all the finer points of HTTP such as SSL, FTP, passwords, etc. This is not a very compelling example anymore!
    Alternatives Using libcurl is by no means the only approach to getting HTTP access in R. Firstly, we have HTTP access in R via the facilities incorporated from libxml (nanohttp and nanoftp). These are, as the names suggest, basic implementations of the protocols and do not provide all the bells and whistles we might need generally. Also, they are not customizable from within R. Specifically, we cannot add header fields, handle binary data, set the body of the request, etc. We can use R's socket connections and implement the details of HTTP ourselves. There is a great deal of work in this as we have discussed before. Also, we currently don't have secure sockets (i.e. using SSL) in RI have a local version (not with SSL) but they are not connections since the connection data structure is not exposed in the R API, yet! I initially started using this approach so that I could discover the nuances of HTTP. It quickly gets overwhelming to handle all the details. It is more tedious than technically challenging, especially when others have done it already in C libraries and done it well. The code that I have is in an unreleased package named httpClient. If anyone is interested, please contact me. Using R's sockets is also used in the httpRequest package on CRAN. This allows submitting forms and retrieving URIs. It is useful and, as the authors state, a "basic HTTP request" implementation. It doesn't escape characters, handle chunked responses, do redirects, support SSL, etc. It is flexible but leaves a lot to the user to do to setup the request and process the response. RCurl inherits many, many good features for "free" from libcurl. libcurl is not the only C-level library that we could have used. Alternative libraries include libwww from the W3 group. We may find that that is more suitable, but libcurl will definitely suffice for the present.
    Notes libcurl can use ares for asynchronous DNS resolution.
    odbAccess DuncanTemple Lang SandrineDudoit SunduzKeles The RHTMLForms package: creating S functions from HTML forms. RHTMLForms SOAP JamesSnell DougTidwell PavelKulchenko Programming Web Services with SOAP O'Reilly
    RCurl/inst/etc/0000755000176000001440000000000012665241523013067 5ustar ripleyusersRCurl/inst/etc/ca-bundle.crt0000644000176000001440000077057012541100225015435 0ustar ripleyusers## ## Bundle of CA Root Certificates ## ## Certificate data from Mozilla as of: Mon Apr 27 08:58:04 2015 ## ## This is a bundle of X.509 certificates of public Certificate Authorities ## (CA). These were automatically extracted from Mozilla's root certificates ## file (certdata.txt). This file can be found in the mozilla source tree: ## http://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt ## ## It contains the certificates in PEM format and therefore ## can be directly used with curl / libcurl / php_curl, or with ## an Apache+mod_ssl webserver for SSL client authentication. ## Just configure this file as the SSLCACertificateFile. ## ## Conversion done with mk-ca-bundle.pl version 1.25. ## SHA1: ed3c0bbfb7912bcc00cd2033b0cb85c98d10559c ## Equifax Secure CA ================= -----BEGIN CERTIFICATE----- MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW 8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961 zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95 70+sB3c4 -----END CERTIFICATE----- GlobalSign Root CA ================== -----BEGIN CERTIFICATE----- MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== -----END CERTIFICATE----- GlobalSign Root CA - R2 ======================= -----BEGIN CERTIFICATE----- MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6 ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp 9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu 01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7 9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== -----END CERTIFICATE----- Verisign Class 3 Public Primary Certification Authority - G3 ============================================================ -----BEGIN CERTIFICATE----- MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1 EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj 055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC /Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0 xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== -----END CERTIFICATE----- Verisign Class 4 Public Primary Certification Authority - G3 ============================================================ -----BEGIN CERTIFICATE----- MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM 8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg== -----END CERTIFICATE----- Entrust.net Premium 2048 Secure Server CA ========================================= -----BEGIN CERTIFICATE----- MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3 d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE= -----END CERTIFICATE----- Baltimore CyberTrust Root ========================= -----BEGIN CERTIFICATE----- MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9 XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5 hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp -----END CERTIFICATE----- AddTrust Low-Value Services Root ================================ -----BEGIN CERTIFICATE----- MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6 54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1 Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk= -----END CERTIFICATE----- AddTrust External Root ====================== -----BEGIN CERTIFICATE----- MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821 +iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy 2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7 7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355 e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= -----END CERTIFICATE----- AddTrust Public Services Root ============================= -----BEGIN CERTIFICATE----- MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB /zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4 JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL +YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9 Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H EufOX1362KqxMy3ZdvJOOjMMK7MtkAY= -----END CERTIFICATE----- AddTrust Qualified Certificates Root ==================================== -----BEGIN CERTIFICATE----- MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx 64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3 KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/ BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE= -----END CERTIFICATE----- Entrust Root Certification Authority ==================================== -----BEGIN CERTIFICATE----- MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 -----END CERTIFICATE----- RSA Security 2048 v3 ==================== -----BEGIN CERTIFICATE----- MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7 Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP +Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/ MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj 0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395 nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA pKnXwiJPZ9d37CAFYd4= -----END CERTIFICATE----- GeoTrust Global CA ================== -----BEGIN CERTIFICATE----- MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet 8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4 d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2 mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm Mw== -----END CERTIFICATE----- GeoTrust Global CA 2 ==================== -----BEGIN CERTIFICATE----- MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/ NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7 srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF H4z1Ir+rzoPz4iIprn2DQKi6bA== -----END CERTIFICATE----- GeoTrust Universal CA ===================== -----BEGIN CERTIFICATE----- MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1 MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs 7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d 8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08 ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0 XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2 qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2 DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI P/rmMuGNG2+k5o7Y+SlIis5z/iw= -----END CERTIFICATE----- GeoTrust Universal CA 2 ======================= -----BEGIN CERTIFICATE----- MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0 MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0 DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17 j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2 WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP 20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG 8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2 +/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ 4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+ mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS -----END CERTIFICATE----- Visa eCommerce Root =================== -----BEGIN CERTIFICATE----- MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2 WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0 TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI /k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt 398znM/jra6O1I7mT1GvFpLgXPYHDw== -----END CERTIFICATE----- Certum Root CA ============== -----BEGIN CERTIFICATE----- MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ 89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+ GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/ 0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw== -----END CERTIFICATE----- Comodo AAA Services root ======================== -----BEGIN CERTIFICATE----- MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm 7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z 8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C 12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== -----END CERTIFICATE----- Comodo Secure Services root =========================== -----BEGIN CERTIFICATE----- MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP 9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm 4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H RR3B7Hzs/Sk= -----END CERTIFICATE----- Comodo Trusted Services root ============================ -----BEGIN CERTIFICATE----- MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7 3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y /9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6 juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB /zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32 pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O 9y5Xt5hwXsjEeLBi -----END CERTIFICATE----- QuoVadis Root CA ================ -----BEGIN CERTIFICATE----- MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7 MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0 aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6 tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi 5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi 5nrQNiOKSnQ2+Q== -----END CERTIFICATE----- QuoVadis Root CA 2 ================== -----BEGIN CERTIFICATE----- MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6 XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt 66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3 UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK +JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1 WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II 4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8 VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u -----END CERTIFICATE----- QuoVadis Root CA 3 ================== -----BEGIN CERTIFICATE----- MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8 nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4 ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2 Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp 8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto= -----END CERTIFICATE----- Security Communication Root CA ============================== -----BEGIN CERTIFICATE----- MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw 8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX 5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2 JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g 0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ 6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi FL39vmwLAw== -----END CERTIFICATE----- Sonera Class 2 Root CA ====================== -----BEGIN CERTIFICATE----- MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3 /Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt 0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH llpwrN9M -----END CERTIFICATE----- Staat der Nederlanden Root CA ============================= -----BEGIN CERTIFICATE----- MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6 22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw== -----END CERTIFICATE----- UTN DATACorp SGC Root CA ======================== -----BEGIN CERTIFICATE----- MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA 9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv 33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9 BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3 DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0 I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI -----END CERTIFICATE----- UTN USERFirst Hardware Root CA ============================== -----BEGIN CERTIFICATE----- MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0 eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8 i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM //bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2 lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67 nfhmqA== -----END CERTIFICATE----- Camerfirma Chambers of Commerce Root ==================================== -----BEGIN CERTIFICATE----- MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1 erfutGWaIZDgqtCYvDi1czyL+Nw= -----END CERTIFICATE----- Camerfirma Global Chambersign Root ================================== -----BEGIN CERTIFICATE----- MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J 1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl 6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c 8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/ BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4 IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A== -----END CERTIFICATE----- NetLock Notary (Class A) Root ============================= -----BEGIN CERTIFICATE----- MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6 dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC /tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7 tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6 4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0 ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5 ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM 8CgHrTwXZoi1/baI -----END CERTIFICATE----- XRamp Global CA Root ==================== -----BEGIN CERTIFICATE----- MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc /Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz 8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw= -----END CERTIFICATE----- Go Daddy Class 2 CA =================== -----BEGIN CERTIFICATE----- MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv 2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32 qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b vZ8= -----END CERTIFICATE----- Starfield Class 2 CA ==================== -----BEGIN CERTIFICATE----- MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3 QBFGmh95DmK/D5fs4C8fF5Q= -----END CERTIFICATE----- StartCom Certification Authority ================================ -----BEGIN CERTIFICATE----- MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt 2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z 6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT 37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0 Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5 LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh 3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3 fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl 1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/ lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro g14= -----END CERTIFICATE----- Taiwan GRCA =========== -----BEGIN CERTIFICATE----- MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5 BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O 1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7 Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8 lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2 09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2 Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk 7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy +fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS -----END CERTIFICATE----- Swisscom Root CA 1 ================== -----BEGIN CERTIFICATE----- MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4 MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIIC IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9m2BtRsiM MW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdihFvkcxC7mlSpnzNApbjyF NDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/TilftKaNXXsLmREDA/7n29uj/x2lzZAe AR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkC b6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn 7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbN cA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUp WyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5 haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNY MUJDLXT5xp6mig/p/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw HQYDVR0hBBYwFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9 MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn jgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQ MbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4H VtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtl vrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ipmXeascCl OS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HHb6D0jqTsNFFbjCYDcKF3 1QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBaZmBwXarNeNQk7shBoJMBkpxq nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW NY6E0F/6MBr1mmz0DlP5OlvRHA== -----END CERTIFICATE----- DigiCert Assured ID Root CA =========================== -----BEGIN CERTIFICATE----- MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO 9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW /lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF 66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i 8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== -----END CERTIFICATE----- DigiCert Global Root CA ======================= -----BEGIN CERTIFICATE----- MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H 4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y 7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm 8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= -----END CERTIFICATE----- DigiCert High Assurance EV Root CA ================================== -----BEGIN CERTIFICATE----- MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K -----END CERTIFICATE----- Certplus Class 2 Primary CA =========================== -----BEGIN CERTIFICATE----- MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR 5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+ 7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW //1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 l7+ijrRU -----END CERTIFICATE----- DST Root CA X3 ============== -----BEGIN CERTIFICATE----- MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1 cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9 UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ -----END CERTIFICATE----- DST ACES CA X6 ============== -----BEGIN CERTIFICATE----- MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2 5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3 oKfN5XozNmr6mis= -----END CERTIFICATE----- TURKTRUST Certificate Services Provider Root 1 ============================================== -----BEGIN CERTIFICATE----- MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0 acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ 8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4 W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46 sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H -----END CERTIFICATE----- TURKTRUST Certificate Services Provider Root 2 ============================================== -----BEGIN CERTIFICATE----- MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr 5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4 Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+ hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P 9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5 UrbnBEI= -----END CERTIFICATE----- SwissSign Gold CA - G2 ====================== -----BEGIN CERTIFICATE----- MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR 7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64 OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm 5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr 44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ -----END CERTIFICATE----- SwissSign Silver CA - G2 ======================== -----BEGIN CERTIFICATE----- MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3 aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG 9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644 N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm +/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH 6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5 FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P 4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L 3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx /uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u -----END CERTIFICATE----- GeoTrust Primary Certification Authority ======================================== -----BEGIN CERTIFICATE----- MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9 nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG 1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= -----END CERTIFICATE----- thawte Primary Root CA ====================== -----BEGIN CERTIFICATE----- MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3 MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ 1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89 jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA== -----END CERTIFICATE----- VeriSign Class 3 Public Primary Certification Authority - G5 ============================================================ -----BEGIN CERTIFICATE----- MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/ BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+ X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq -----END CERTIFICATE----- SecureTrust CA ============== -----BEGIN CERTIFICATE----- MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b 01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR 3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= -----END CERTIFICATE----- Secure Global CA ================ -----BEGIN CERTIFICATE----- MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g 8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi 0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW -----END CERTIFICATE----- COMODO Certification Authority ============================== -----BEGIN CERTIFICATE----- MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH +7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV 4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA 1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN +8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== -----END CERTIFICATE----- Network Solutions Certificate Authority ======================================= -----BEGIN CERTIFICATE----- MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc /Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q 4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/ GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey -----END CERTIFICATE----- WellsSecure Public Root Certificate Authority ============================================= -----BEGIN CERTIFICATE----- MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1 iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13 i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8 bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0 bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ tylv2G0xffX8oRAHh84vWdw+WNs= -----END CERTIFICATE----- COMODO ECC Certification Authority ================================== -----BEGIN CERTIFICATE----- MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X 4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= -----END CERTIFICATE----- IGC/A ===== -----BEGIN CERTIFICATE----- MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2 TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF 0mBWWg== -----END CERTIFICATE----- Security Communication EV RootCA1 ================================= -----BEGIN CERTIFICATE----- MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO /VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4 bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK 9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490 -----END CERTIFICATE----- OISTE WISeKey Global Root GA CA =============================== -----BEGIN CERTIFICATE----- MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5 IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9 Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ /yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4 +vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0= -----END CERTIFICATE----- Microsec e-Szigno Root CA ========================= -----BEGIN CERTIFICATE----- MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL EwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9zZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0 MDYxMjI4NDRaFw0xNzA0MDYxMjI4NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVz dDEWMBQGA1UEChMNTWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMT GU1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB AQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2uuO/TEdyB5s87lozWbxXG d36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/N oqdNAoI/gqyFxuEPkEeZlApxcpMqyabAvjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjc QR/Ji3HWVBTji1R4P770Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJ PqW+jqpx62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcBAQRb MFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3AwLQYIKwYBBQUHMAKG IWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAPBgNVHRMBAf8EBTADAQH/MIIBcwYD VR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIBAQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3 LmUtc3ppZ25vLmh1L1NaU1ovMIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0A dAB2AOEAbgB5ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABTAHoAbwBsAGcA 4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABhACAAcwB6AGUAcgBpAG4AdAAg AGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABoAHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMA egBpAGcAbgBvAC4AaAB1AC8AUwBaAFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6 Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NO PU1pY3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxPPU1pY3Jv c2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5h cnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuBEGluZm9AZS1zemlnbm8uaHWkdzB1MSMw IQYDVQQDDBpNaWNyb3NlYyBlLVN6aWduw7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhT WjEWMBQGA1UEChMNTWljcm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhV MIGsBgNVHSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJIVTER MA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDASBgNVBAsTC2UtU3pp Z25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBSb290IENBghEAzLjnv04pGv2i3Gal HCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMT nGZjWS7KXHAM/IO8VbH0jgdsZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FE aGAHQzAxQmHl7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a 86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfRhUZLphK3dehK yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU= -----END CERTIFICATE----- Certigna ======== -----BEGIN CERTIFICATE----- MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY 1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== -----END CERTIFICATE----- TC TrustCenter Class 2 CA II ============================ -----BEGIN CERTIFICATE----- MIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy IENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYw MTEyMTQzODQzWhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1 c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UE AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jftMjWQ+nEdVl//OEd+DFw IxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKguNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2 xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2JXjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQ Xa7pIXSSTYtZgo+U4+lK8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7u SNQZu+995OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1UdEwEB /wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3kUrL84J6E1wIqzCB 7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90 Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU cnVzdENlbnRlciUyMENsYXNzJTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iSGNn3Bzn1LL4G dXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprtZjluS5TmVfwLG4t3wVMTZonZ KNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8au0WOB9/WIFaGusyiC2y8zl3gK9etmF1Kdsj TYjKUCjLhdLTEKJZbtOTVAB6okaVhgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kP JOzHdiEoZa5X6AeIdUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfk vQ== -----END CERTIFICATE----- TC TrustCenter Universal CA I ============================= -----BEGIN CERTIFICATE----- MIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UEBhMC REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy IFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcN MDYwMzIyMTU1NDI4WhcNMjUxMjMxMjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMg VHJ1c3RDZW50ZXIgR21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYw JAYDVQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcNAQEBBQAD ggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSRJJZ4Hgmgm5qVSkr1YnwC qMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3TfCZdzHd55yx4Oagmcw6iXSVphU9VDprv xrlE4Vc93x9UIuVvZaozhDrzznq+VZeujRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtw ag+1m7Z3W0hZneTvWq3zwZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9O gdwZu5GQfezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYDVR0j BBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0GCSqGSIb3DQEBBQUAA4IBAQAo0uCG 1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X17caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/Cy vwbZ71q+s2IhtNerNXxTPqYn8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3 ghUJGooWMNjsydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT ujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/2TYcuiUaUj0a 7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY -----END CERTIFICATE----- Deutsche Telekom Root CA 2 ========================== -----BEGIN CERTIFICATE----- MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5 MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5 bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8 rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU Cm26OWMohpLzGITY+9HPBVZkVw== -----END CERTIFICATE----- ComSign Secured CA ================== -----BEGIN CERTIFICATE----- MIIDqzCCApOgAwIBAgIRAMcoRwmzuGxFjB36JPU2TukwDQYJKoZIhvcNAQEFBQAwPDEbMBkGA1UE AxMSQ29tU2lnbiBTZWN1cmVkIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0w NDAzMjQxMTM3MjBaFw0yOTAzMTYxNTA0NTZaMDwxGzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBD QTEQMA4GA1UEChMHQ29tU2lnbjELMAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQDGtWhfHZQVw6QIVS3joFd67+l0Kru5fFdJGhFeTymHDEjWaueP1H5XJLkGieQcPOqs 49ohgHMhCu95mGwfCP+hUH3ymBvJVG8+pSjsIQQPRbsHPaHA+iqYHU4Gk/v1iDurX8sWv+bznkqH 7Rnqwp9D5PGBpX8QTz7RSmKtUxvLg/8HZaWSLWapW7ha9B20IZFKF3ueMv5WJDmyVIRD9YTC2LxB kMyd1mja6YJQqTtoz7VdApRgFrFD2UNd3V2Hbuq7s8lr9gOUCXDeFhF6K+h2j0kQmHe5Y1yLM5d1 9guMsqtb3nQgJT/j8xH5h2iGNXHDHYwt6+UarA9z1YJZQIDTAgMBAAGjgacwgaQwDAYDVR0TBAUw AwEB/zBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vZmVkaXIuY29tc2lnbi5jby5pbC9jcmwvQ29t U2lnblNlY3VyZWRDQS5jcmwwDgYDVR0PAQH/BAQDAgGGMB8GA1UdIwQYMBaAFMFL7XC29z58ADsA j8c+DkWfHl3sMB0GA1UdDgQWBBTBS+1wtvc+fAA7AI/HPg5Fnx5d7DANBgkqhkiG9w0BAQUFAAOC AQEAFs/ukhNQq3sUnjO2QiBq1BW9Cav8cujvR3qQrFHBZE7piL1DRYHjZiM/EoZNGeQFsOY3wo3a BijJD4mkU6l1P7CW+6tMM1X5eCZGbxs2mPtCdsGCuY7e+0X5YxtiOzkGynd6qDwJz2w2PQ8KRUtp FhpFfTMDZflScZAmlaxMDPWLkz/MdXSFmLr/YnpNH4n+rr2UAJm/EaXc4HnFFgt9AmEd6oX5AhVP 51qJThRv4zdLhfXBPGHg/QVBspJ/wx2g0K5SZGBrGMYmnNj1ZOQ2GmKfig8+/21OGVZOIJFsnzQz OjRXUDpvgV4GxvU+fE6OK85lBi5d0ipTdF7Tbieejw== -----END CERTIFICATE----- Cybertrust Global Root ====================== -----BEGIN CERTIFICATE----- MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4 MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA +Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW 0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin 89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT 8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2 MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi 5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2 hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW WL1WMRJOEcgh4LMRkWXbtKaIOM5V -----END CERTIFICATE----- ePKI Root Certification Authority ================================= -----BEGIN CERTIFICATE----- MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX 12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+ ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/ vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0 1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= -----END CERTIFICATE----- T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3 ============================================================================================================================= -----BEGIN CERTIFICATE----- MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4 MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1 xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR 6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4 N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI= -----END CERTIFICATE----- Buypass Class 2 CA 1 ==================== -----BEGIN CERTIFICATE----- MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2 MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83 0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4 0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV 1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt 7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2 fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho -----END CERTIFICATE----- Buypass Class 3 CA 1 ==================== -----BEGIN CERTIFICATE----- MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMyBDQSAxMB4XDTA1 MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKx ifZgisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//zNIqeKNc0 n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI+MkcVyzwPX6UvCWThOia AJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2RhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c 1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+mbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNC MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0P AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFPBdy7 pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27sEzNxZy5p+qksP2bA EllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2mSlf56oBzKwzqBwKu5HEA6BvtjT5 htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yCe/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQj el/wroQk5PMr+4okoyeYZdowdXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915 -----END CERTIFICATE----- EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 ========================================================================== -----BEGIN CERTIFICATE----- MIIF5zCCA8+gAwIBAgIITK9zQhyOdAIwDQYJKoZIhvcNAQEFBQAwgYAxODA2BgNVBAMML0VCRyBF bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMTcwNQYDVQQKDC5FQkcg QmlsacWfaW0gVGVrbm9sb2ppbGVyaSB2ZSBIaXptZXRsZXJpIEEuxZ4uMQswCQYDVQQGEwJUUjAe Fw0wNjA4MTcwMDIxMDlaFw0xNjA4MTQwMDMxMDlaMIGAMTgwNgYDVQQDDC9FQkcgRWxla3Ryb25p ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTE3MDUGA1UECgwuRUJHIEJpbGnFn2lt IFRla25vbG9qaWxlcmkgdmUgSGl6bWV0bGVyaSBBLsWeLjELMAkGA1UEBhMCVFIwggIiMA0GCSqG SIb3DQEBAQUAA4ICDwAwggIKAoICAQDuoIRh0DpqZhAy2DE4f6en5f2h4fuXd7hxlugTlkaDT7by X3JWbhNgpQGR4lvFzVcfd2NR/y8927k/qqk153nQ9dAktiHq6yOU/im/+4mRDGSaBUorzAzu8T2b gmmkTPiab+ci2hC6X5L8GCcKqKpE+i4stPtGmggDg3KriORqcsnlZR9uKg+ds+g75AxuetpX/dfr eYteIAbTdgtsApWjluTLdlHRKJ2hGvxEok3MenaoDT2/F08iiFD9rrbskFBKW5+VQarKD7JK/oCZ TqNGFav4c0JqwmZ2sQomFd2TkuzbqV9UIlKRcF0T6kjsbgNs2d1s/OsNA/+mgxKb8amTD8UmTDGy Y5lhcucqZJnSuOl14nypqZoaqsNW2xCaPINStnuWt6yHd6i58mcLlEOzrz5z+kI2sSXFCjEmN1Zn uqMLfdb3ic1nobc6HmZP9qBVFCVMLDMNpkGMvQQxahByCp0OLna9XvNRiYuoP1Vzv9s6xiQFlpJI qkuNKgPlV5EQ9GooFW5Hd4RcUXSfGenmHmMWOeMRFeNYGkS9y8RsZteEBt8w9DeiQyJ50hBs37vm ExH8nYQKE3vwO9D8owrXieqWfo1IhR5kX9tUoqzVegJ5a9KK8GfaZXINFHDk6Y54jzJ0fFfy1tb0 Nokb+Clsi7n2l9GkLqq+CxnCRelwXQIDAJ3Zo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB /wQEAwIBBjAdBgNVHQ4EFgQU587GT/wWZ5b6SqMHwQSny2re2kcwHwYDVR0jBBgwFoAU587GT/wW Z5b6SqMHwQSny2re2kcwDQYJKoZIhvcNAQEFBQADggIBAJuYml2+8ygjdsZs93/mQJ7ANtyVDR2t FcU22NU57/IeIl6zgrRdu0waypIN30ckHrMk2pGI6YNw3ZPX6bqz3xZaPt7gyPvT/Wwp+BVGoGgm zJNSroIBk5DKd8pNSe/iWtkqvTDOTLKBtjDOWU/aWR1qeqRFsIImgYZ29fUQALjuswnoT4cCB64k XPBfrAowzIpAoHMEwfuJJPaaHFy3PApnNgUIMbOv2AFoKuB4j3TeuFGkjGwgPaL7s9QJ/XvCgKqT bCmYIai7FvOpEl90tYeY8pUm3zTvilORiF0alKM/fCL414i6poyWqD1SNGKfAB5UVUJnxk1Gj7sU RT0KlhaOEKGXmdXTMIXM3rRyt7yKPBgpaP3ccQfuJDlq+u2lrDgv+R4QDgZxGhBM/nV+/x5XOULK 1+EVoVZVWRvRo68R2E7DpSvvkL/A7IITW43WciyTTo9qKd+FPNMN4KIYEsxVL0e3p5sC/kH2iExt 2qkBR4NkJ2IQgtYSe14DHzSpyZH+r11thie3I6p1GMog57AP14kOpmciY/SDQSsGS7tY1dHXt7kQ Y9iJSrSq3RZj9W6+YKH47ejWkE8axsWgKdOnIaj1Wjz3x0miIZpKlVIglnKaZsv30oZDfCK+lvm9 AahH3eU7QPl1K5srRmSGjR70j/sHd9DqSaIcjVIUpgqT -----END CERTIFICATE----- certSIGN ROOT CA ================ -----BEGIN CERTIFICATE----- MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD 0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD -----END CERTIFICATE----- CNNIC ROOT ========== -----BEGIN CERTIFICATE----- MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5 Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8 BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2 G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m mxE= -----END CERTIFICATE----- ApplicationCA - Japanese Government =================================== -----BEGIN CERTIFICATE----- MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw MDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYTAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zl cm5tZW50MRYwFAYDVQQLEw1BcHBsaWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB CgKCAQEAp23gdE6Hj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4 fl+Kf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55IrmTwcrN wVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cwFO5cjFW6WY2H/CPek9AE jP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDihtQWEjdnjDuGWk81quzMKq2edY3rZ+nYVu nyoKb58DKTCXKB28t89UKU5RMfkntigm/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRU WssmP3HMlEYNllPqa0jQk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNV BAYTAkpQMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOCseOD vOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADlqRHZ3ODrs o2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJhyzjVOGjprIIC8CFqMjSnHH2HZ9g /DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYD io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL rosot4LKGAfmt1t06SAZf7IbiVQ= -----END CERTIFICATE----- GeoTrust Primary Certification Authority - G3 ============================================= -----BEGIN CERTIFICATE----- MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0 IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr 2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9 cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt -----END CERTIFICATE----- thawte Primary Root CA - G2 =========================== -----BEGIN CERTIFICATE----- MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5 8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== -----END CERTIFICATE----- thawte Primary Root CA - G3 =========================== -----BEGIN CERTIFICATE----- MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC +BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY 7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC 8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A= -----END CERTIFICATE----- GeoTrust Primary Certification Authority - G2 ============================================= -----BEGIN CERTIFICATE----- MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1 OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+ EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2 npaqBA+K -----END CERTIFICATE----- VeriSign Universal Root Certification Authority =============================================== -----BEGIN CERTIFICATE----- MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0 aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj 1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72 9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3 Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4 mJO37M2CYfE45k+XmCpajQ== -----END CERTIFICATE----- VeriSign Class 3 Public Primary Certification Authority - G4 ============================================================ -----BEGIN CERTIFICATE----- MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3 b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5 IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8 Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB /zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== -----END CERTIFICATE----- NetLock Arany (Class Gold) Főtanúsítvány ============================================ -----BEGIN CERTIFICATE----- MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610 dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6 c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu 0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw /HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1 neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= -----END CERTIFICATE----- Staat der Nederlanden Root CA - G2 ================================== -----BEGIN CERTIFICATE----- MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ 5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65 48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737 qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz +51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm 66+KAQ== -----END CERTIFICATE----- CA Disig ======== -----BEGIN CERTIFICATE----- MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3 mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/ CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA 4Z7CRneC9VkGjCFMhwnN5ag= -----END CERTIFICATE----- Juur-SK ======= -----BEGIN CERTIFICATE----- MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC +Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678 IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2 yyqcjg== -----END CERTIFICATE----- Hongkong Post Root CA 1 ======================= -----BEGIN CERTIFICATE----- MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1 ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT c4afU9hDDl3WY4JxHYB0yvbiAmvZWg== -----END CERTIFICATE----- SecureSign RootCA11 =================== -----BEGIN CERTIFICATE----- MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1 cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01 y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061 lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I= -----END CERTIFICATE----- ACEDICOM Root ============= -----BEGIN CERTIFICATE----- MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4 MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEWMBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoG A1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEF AAOCAg8AMIICCgKCAgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHk WLn709gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7XBZXehuD YAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5PGrjm6gSSrj0RuVFCPYew MYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAKt0SdE3QrwqXrIhWYENiLxQSfHY9g5QYb m8+5eaA9oiM/Qj9r+hwDezCNzmzAv+YbX79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbk HQl/Sog4P75n/TSW9R28MHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTT xKJxqvQUfecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI2Sf2 3EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyHK9caUPgn6C9D4zq9 2Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEaeZAwUswdbxcJzbPEHXEUkFDWug/Fq TYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz 4SsrSbbXc6GqlPUB53NlTKxQMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU 9QHnc2VMrFAwRAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv bS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWImfQwng4/F9tqg aHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3gvoFNTPhNahXwOf9jU8/kzJP eGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKeI6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1Pwk zQSulgUV1qzOMPPKC8W64iLgpq0i5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1 ThCojz2GuHURwCRiipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oI KiMnMCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZo5NjEFIq nxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6zqylfDJKZ0DcMDQj3dcE I2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacNGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOp MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA== -----END CERTIFICATE----- Microsec e-Szigno Root CA 2009 ============================== -----BEGIN CERTIFICATE----- MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG 0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm 1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02 yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi LXpUq3DDfSJlgnCW -----END CERTIFICATE----- GlobalSign Root CA - R3 ======================= -----BEGIN CERTIFICATE----- MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ 0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3 rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2 xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7 lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8 EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18 YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r kpeDMdmztcpHWD9f -----END CERTIFICATE----- Autoridad de Certificacion Firmaprofesional CIF A62634068 ========================================================= -----BEGIN CERTIFICATE----- MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY 7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx 51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi 6Et8Vcad+qMUu2WFbm5PEn4KPJ2V -----END CERTIFICATE----- Izenpe.com ========== -----BEGIN CERTIFICATE----- MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ 03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU +zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK 0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+ 0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+ SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5 aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5 nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== -----END CERTIFICATE----- Chambers of Commerce Root - 2008 ================================ -----BEGIN CERTIFICATE----- MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/ ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331 lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ 0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2 EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1 wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH 3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6 M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1 YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF 9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ -----END CERTIFICATE----- Global Chambersign Root - 2008 ============================== -----BEGIN CERTIFICATE----- MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0 ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB /gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp 1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0 dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG /5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6 ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg 9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z 09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B -----END CERTIFICATE----- Go Daddy Root Certificate Authority - G2 ======================================== -----BEGIN CERTIFICATE----- MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq 9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD +qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9 BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r 5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1 -----END CERTIFICATE----- Starfield Root Certificate Authority - G2 ========================================= -----BEGIN CERTIFICATE----- MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx 4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 -----END CERTIFICATE----- Starfield Services Root Certificate Authority - G2 ================================================== -----BEGIN CERTIFICATE----- MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2 h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 -----END CERTIFICATE----- AffirmTrust Commercial ====================== -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv 0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= -----END CERTIFICATE----- AffirmTrust Networking ====================== -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 /PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 /ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= -----END CERTIFICATE----- AffirmTrust Premium =================== -----BEGIN CERTIFICATE----- MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV 5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs +7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 /bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo +Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB /wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC 6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK +4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== -----END CERTIFICATE----- AffirmTrust Premium ECC ======================= -----BEGIN CERTIFICATE----- MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X 57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM eQ== -----END CERTIFICATE----- Certum Trusted Network CA ========================= -----BEGIN CERTIFICATE----- MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4 fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0 cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1 mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI 03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= -----END CERTIFICATE----- Certinomis - Autorité Racine ============================= -----BEGIN CERTIFICATE----- MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw 2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g 530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna 4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40 nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/ vgt2Fl43N+bYdJeimUV5 -----END CERTIFICATE----- Root CA Generalitat Valenciana ============================== -----BEGIN CERTIFICATE----- MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290 IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3 WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2 F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0 dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63 NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt +GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM= -----END CERTIFICATE----- A-Trust-nQual-03 ================ -----BEGIN CERTIFICATE----- MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJBVDFIMEYGA1UE Cgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy a2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5RdWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5R dWFsLTAzMB4XDTA1MDgxNzIyMDAwMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgw RgYDVQQKDD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0 ZW52ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMMEEEtVHJ1 c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtPWFuA/OQO8BBC4SA zewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUjlUC5B3ilJfYKvUWG6Nm9wASOhURh73+n yfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPE SU7l0+m0iKsMrmKS1GWH2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4 iHQF63n1k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs2e3V cuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECERqlWdV eRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAVdRU0VlIXLOThaq/Yy/kgM40 ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fGKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmr sQd7TZjTXLDR8KdCoLXEjq/+8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZd JXDRZslo+S4RFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmEDNuxUCAKGkq6 ahq97BvIxYSazQ== -----END CERTIFICATE----- TWCA Root Certification Authority ================================= -----BEGIN CERTIFICATE----- MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP 4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG 9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== -----END CERTIFICATE----- Security Communication RootCA2 ============================== -----BEGIN CERTIFICATE----- MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++ +T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R 3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8 QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk 3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29 mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 -----END CERTIFICATE----- EC-ACC ====== -----BEGIN CERTIFICATE----- MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7 MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4 HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw 0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0 Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2 E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D 5EI= -----END CERTIFICATE----- Hellenic Academic and Research Institutions RootCA 2011 ======================================================= -----BEGIN CERTIFICATE----- MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI 1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa 71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u 8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH 3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/ MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8 MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD /md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N 7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4 -----END CERTIFICATE----- Actalis Authentication Root CA ============================== -----BEGIN CERTIFICATE----- MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6 zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2 oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7 hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8 EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5 jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0 JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+ Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC 4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo 2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9 vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== -----END CERTIFICATE----- Trustis FPS Root CA =================== -----BEGIN CERTIFICATE----- MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290 IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P 8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl iB6XzCGcKQENZetX2fNXlrtIzYE= -----END CERTIFICATE----- StartCom Certification Authority ================================ -----BEGIN CERTIFICATE----- MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt 2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z 6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT 37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0 dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0 aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0 aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5 fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA 2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8= -----END CERTIFICATE----- StartCom Certification Authority G2 =================================== -----BEGIN CERTIFICATE----- MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG 4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K 2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+ JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG /+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm 7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm obp573PYtlNXLfbQ4ddI -----END CERTIFICATE----- Buypass Class 2 Root CA ======================= -----BEGIN CERTIFICATE----- MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1 g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn 9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b /+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0 oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN rJgWVqA= -----END CERTIFICATE----- Buypass Class 3 Root CA ======================= -----BEGIN CERTIFICATE----- MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR 5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh 7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH 2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV /afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8 ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2 KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz 6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi Cp/HuZc= -----END CERTIFICATE----- T-TeleSec GlobalRoot Class 3 ============================ -----BEGIN CERTIFICATE----- MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK 9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W 0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw== -----END CERTIFICATE----- EE Certification Centre Root CA =============================== -----BEGIN CERTIFICATE----- MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2 rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw 93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU 3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM dcGWxZ0= -----END CERTIFICATE----- TURKTRUST Certificate Services Provider Root 2007 ================================================= -----BEGIN CERTIFICATE----- MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP MA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4X DTA3MTIyNTE4MzcxOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxl a3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMCVFIxDzAN BgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4gKGMpIEFyYWzEsWsgMjAwNzCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9N YvDdE3ePYakqtdTyuTFYKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQv KUmi8wUG+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveGHtya KhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6PIzdezKKqdfcYbwnT rqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M733WB2+Y8a+xwXrXgTW4qhe04MsC AwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHkYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAP BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/s Px+EnWVUXKgWAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5mxRZNTZPz/OO Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK poRq0Tl9 -----END CERTIFICATE----- D-TRUST Root Class 3 CA 2 2009 ============================== -----BEGIN CERTIFICATE----- MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ 4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm 2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I= -----END CERTIFICATE----- D-TRUST Root Class 3 CA 2 EV 2009 ================================= -----BEGIN CERTIFICATE----- MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T 7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60 sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35 11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+ PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv w9y4AyHqnxbxLFS1 -----END CERTIFICATE----- PSCProcert ========== -----BEGIN CERTIFICATE----- MIIJhjCCB26gAwIBAgIBCzANBgkqhkiG9w0BAQsFADCCAR4xPjA8BgNVBAMTNUF1dG9yaWRhZCBk ZSBDZXJ0aWZpY2FjaW9uIFJhaXogZGVsIEVzdGFkbyBWZW5lem9sYW5vMQswCQYDVQQGEwJWRTEQ MA4GA1UEBxMHQ2FyYWNhczEZMBcGA1UECBMQRGlzdHJpdG8gQ2FwaXRhbDE2MDQGA1UEChMtU2lz dGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMUMwQQYDVQQLEzpTdXBl cmludGVuZGVuY2lhIGRlIFNlcnZpY2lvcyBkZSBDZXJ0aWZpY2FjaW9uIEVsZWN0cm9uaWNhMSUw IwYJKoZIhvcNAQkBFhZhY3JhaXpAc3VzY2VydGUuZ29iLnZlMB4XDTEwMTIyODE2NTEwMFoXDTIw MTIyNTIzNTk1OVowgdExJjAkBgkqhkiG9w0BCQEWF2NvbnRhY3RvQHByb2NlcnQubmV0LnZlMQ8w DQYDVQQHEwZDaGFjYW8xEDAOBgNVBAgTB01pcmFuZGExKjAoBgNVBAsTIVByb3ZlZWRvciBkZSBD ZXJ0aWZpY2Fkb3MgUFJPQ0VSVDE2MDQGA1UEChMtU2lzdGVtYSBOYWNpb25hbCBkZSBDZXJ0aWZp Y2FjaW9uIEVsZWN0cm9uaWNhMQswCQYDVQQGEwJWRTETMBEGA1UEAxMKUFNDUHJvY2VydDCCAiIw DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANW39KOUM6FGqVVhSQ2oh3NekS1wwQYalNo97BVC wfWMrmoX8Yqt/ICV6oNEolt6Vc5Pp6XVurgfoCfAUFM+jbnADrgV3NZs+J74BCXfgI8Qhd19L3uA 3VcAZCP4bsm+lU/hdezgfl6VzbHvvnpC2Mks0+saGiKLt38GieU89RLAu9MLmV+QfI4tL3czkkoh RqipCKzx9hEC2ZUWno0vluYC3XXCFCpa1sl9JcLB/KpnheLsvtF8PPqv1W7/U0HU9TI4seJfxPmO EO8GqQKJ/+MMbpfg353bIdD0PghpbNjU5Db4g7ayNo+c7zo3Fn2/omnXO1ty0K+qP1xmk6wKImG2 0qCZyFSTXai20b1dCl53lKItwIKOvMoDKjSuc/HUtQy9vmebVOvh+qBa7Dh+PsHMosdEMXXqP+UH 0quhJZb25uSgXTcYOWEAM11G1ADEtMo88aKjPvM6/2kwLkDd9p+cJsmWN63nOaK/6mnbVSKVUyqU td+tFjiBdWbjxywbk5yqjKPK2Ww8F22c3HxT4CAnQzb5EuE8XL1mv6JpIzi4mWCZDlZTOpx+FIyw Bm/xhnaQr/2v/pDGj59/i5IjnOcVdo/Vi5QTcmn7K2FjiO/mpF7moxdqWEfLcU8UC17IAggmosvp r2uKGcfLFFb14dq12fy/czja+eevbqQ34gcnAgMBAAGjggMXMIIDEzASBgNVHRMBAf8ECDAGAQH/ AgEBMDcGA1UdEgQwMC6CD3N1c2NlcnRlLmdvYi52ZaAbBgVghl4CAqASDBBSSUYtRy0yMDAwNDAz Ni0wMB0GA1UdDgQWBBRBDxk4qpl/Qguk1yeYVKIXTC1RVDCCAVAGA1UdIwSCAUcwggFDgBStuyId xuDSAaj9dlBSk+2YwU2u06GCASakggEiMIIBHjE+MDwGA1UEAxM1QXV0b3JpZGFkIGRlIENlcnRp ZmljYWNpb24gUmFpeiBkZWwgRXN0YWRvIFZlbmV6b2xhbm8xCzAJBgNVBAYTAlZFMRAwDgYDVQQH EwdDYXJhY2FzMRkwFwYDVQQIExBEaXN0cml0byBDYXBpdGFsMTYwNAYDVQQKEy1TaXN0ZW1hIE5h Y2lvbmFsIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExQzBBBgNVBAsTOlN1cGVyaW50ZW5k ZW5jaWEgZGUgU2VydmljaW9zIGRlIENlcnRpZmljYWNpb24gRWxlY3Ryb25pY2ExJTAjBgkqhkiG 9w0BCQEWFmFjcmFpekBzdXNjZXJ0ZS5nb2IudmWCAQowDgYDVR0PAQH/BAQDAgEGME0GA1UdEQRG MESCDnByb2NlcnQubmV0LnZloBUGBWCGXgIBoAwMClBTQy0wMDAwMDKgGwYFYIZeAgKgEgwQUklG LUotMzE2MzUzNzMtNzB2BgNVHR8EbzBtMEagRKBChkBodHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52 ZS9sY3IvQ0VSVElGSUNBRE8tUkFJWi1TSEEzODRDUkxERVIuY3JsMCOgIaAfhh1sZGFwOi8vYWNy YWl6LnN1c2NlcnRlLmdvYi52ZTA3BggrBgEFBQcBAQQrMCkwJwYIKwYBBQUHMAGGG2h0dHA6Ly9v Y3NwLnN1c2NlcnRlLmdvYi52ZTBBBgNVHSAEOjA4MDYGBmCGXgMBAjAsMCoGCCsGAQUFBwIBFh5o dHRwOi8vd3d3LnN1c2NlcnRlLmdvYi52ZS9kcGMwDQYJKoZIhvcNAQELBQADggIBACtZ6yKZu4Sq T96QxtGGcSOeSwORR3C7wJJg7ODU523G0+1ng3dS1fLld6c2suNUvtm7CpsR72H0xpkzmfWvADmN g7+mvTV+LFwxNG9s2/NkAZiqlCxB3RWGymspThbASfzXg0gTB1GEMVKIu4YXx2sviiCtxQuPcD4q uxtxj7mkoP3YldmvWb8lK5jpY5MvYB7Eqvh39YtsL+1+LrVPQA3uvFd359m21D+VJzog1eWuq2w1 n8GhHVnchIHuTQfiSLaeS5UtQbHh6N5+LwUeaO6/u5BlOsju6rEYNxxik6SgMexxbJHmpHmJWhSn FFAFTKQAVzAswbVhltw+HoSvOULP5dAssSS830DD7X9jSr3hTxJkhpXzsOfIt+FTvZLm8wyWuevo 5pLtp4EJFAv8lXrPj9Y0TzYS3F7RNHXGRoAvlQSMx4bEqCaJqD8Zm4G7UaRKhqsLEQ+xrmNTbSjq 3TNWOByyrYDT13K9mmyZY+gAu0F2BbdbmRiKw7gSXFbPVgx96OLP7bx0R/vu0xdOIk9W/1DzLuY5 poLWccret9W6aAjtmcz9opLLabid+Qqkpj5PkygqYWwHJgD/ll9ohri4zspV4KuxPX+Y1zMOWj3Y eMLEYC/HYvBhkdI4sPaeVdtAgAUSM84dkpvRabP/v/GSCmE1P93+hvS84Bpxs2Km -----END CERTIFICATE----- China Internet Network Information Center EV Certificates Root ============================================================== -----BEGIN CERTIFICATE----- MIID9zCCAt+gAwIBAgIESJ8AATANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMCQ04xMjAwBgNV BAoMKUNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyMUcwRQYDVQQDDD5D aGluYSBJbnRlcm5ldCBOZXR3b3JrIEluZm9ybWF0aW9uIENlbnRlciBFViBDZXJ0aWZpY2F0ZXMg Um9vdDAeFw0xMDA4MzEwNzExMjVaFw0zMDA4MzEwNzExMjVaMIGKMQswCQYDVQQGEwJDTjEyMDAG A1UECgwpQ2hpbmEgSW50ZXJuZXQgTmV0d29yayBJbmZvcm1hdGlvbiBDZW50ZXIxRzBFBgNVBAMM PkNoaW5hIEludGVybmV0IE5ldHdvcmsgSW5mb3JtYXRpb24gQ2VudGVyIEVWIENlcnRpZmljYXRl cyBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm35z7r07eKpkQ0H1UN+U8i6y jUqORlTSIRLIOTJCBumD1Z9S7eVnAztUwYyZmczpwA//DdmEEbK40ctb3B75aDFk4Zv6dOtouSCV 98YPjUesWgbdYavi7NifFy2cyjw1l1VxzUOFsUcW9SxTgHbP0wBkvUCZ3czY28Sf1hNfQYOL+Q2H klY0bBoQCxfVWhyXWIQ8hBouXJE0bhlffxdpxWXvayHG1VA6v2G5BY3vbzQ6sm8UY78WO5upKv23 KzhmBsUs4qpnHkWnjQRmQvaPK++IIGmPMowUc9orhpFjIpryp9vOiYurXccUwVswah+xt54ugQEC 7c+WXmPbqOY4twIDAQABo2MwYTAfBgNVHSMEGDAWgBR8cks5x8DbYqVPm6oYNJKiyoOCWTAPBgNV HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUfHJLOcfA22KlT5uqGDSSosqD glkwDQYJKoZIhvcNAQEFBQADggEBACrDx0M3j92tpLIM7twUbY8opJhJywyA6vPtI2Z1fcXTIWd5 0XPFtQO3WKwMVC/GVhMPMdoG52U7HW8228gd+f2ABsqjPWYWqJ1MFn3AlUa1UeTiH9fqBk1jjZaM 7+czV0I664zBechNdn3e9rG3geCg+aF4RhcaVpjwTj2rHO3sOdwHSPdj/gauwqRcalsyiMXHM4Ws ZkJHwlgkmeHlPuV1LI5D1l08eB6olYIpUNHRFrrvwb562bTYzB5MRuF3sTGrvSrIzo9uoV1/A3U0 5K2JRVRevq4opbs/eHnrc7MKDf2+yfdWrPa37S+bISnHOLaVxATywy39FCqQmbkHzJ8= -----END CERTIFICATE----- Swisscom Root CA 2 ================== -----BEGIN CERTIFICATE----- MIIF2TCCA8GgAwIBAgIQHp4o6Ejy5e/DfEoeWhhntjANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQG EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMjAeFw0xMTA2MjQwODM4MTRaFw0zMTA2 MjUwNzM4MTRaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAyMIIC IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlUJOhJ1R5tMJ6HJaI2nbeHCOFvErjw0DzpPM LgAIe6szjPTpQOYXTKueuEcUMncy3SgM3hhLX3af+Dk7/E6J2HzFZ++r0rk0X2s682Q2zsKwzxNo ysjL67XiPS4h3+os1OD5cJZM/2pYmLcX5BtS5X4HAB1f2uY+lQS3aYg5oUFgJWFLlTloYhyxCwWJ wDaCFCE/rtuh/bxvHGCGtlOUSbkrRsVPACu/obvLP+DHVxxX6NZp+MEkUp2IVd3Chy50I9AU/SpH Wrumnf2U5NGKpV+GY3aFy6//SSj8gO1MedK75MDvAe5QQQg1I3ArqRa0jG6F6bYRzzHdUyYb3y1a SgJA/MTAtukxGggo5WDDH8SQjhBiYEQN7Aq+VRhxLKX0srwVYv8c474d2h5Xszx+zYIdkeNL6yxS NLCK/RJOlrDrcH+eOfdmQrGrrFLadkBXeyq96G4DsguAhYidDMfCd7Camlf0uPoTXGiTOmekl9Ab mbeGMktg2M7v0Ax/lZ9vh0+Hio5fCHyqW/xavqGRn1V9TrALacywlKinh/LTSlDcX3KwFnUey7QY Ypqwpzmqm59m2I2mbJYV4+by+PGDYmy7Velhk6M99bFXi08jsJvllGov34zflVEpYKELKeRcVVi3 qPyZ7iVNTA6z00yPhOgpD/0QVAKFyPnlw4vP5w8CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw HQYDVR0hBBYwFDASBgdghXQBUwIBBgdghXQBUwIBMBIGA1UdEwEB/wQIMAYBAf8CAQcwHQYDVR0O BBYEFE0mICKJS9PVpAqhb97iEoHF8TwuMB8GA1UdIwQYMBaAFE0mICKJS9PVpAqhb97iEoHF8Twu MA0GCSqGSIb3DQEBCwUAA4ICAQAyCrKkG8t9voJXiblqf/P0wS4RfbgZPnm3qKhyN2abGu2sEzsO v2LwnN+ee6FTSA5BesogpxcbtnjsQJHzQq0Qw1zv/2BZf82Fo4s9SBwlAjxnffUy6S8w5X2lejjQ 82YqZh6NM4OKb3xuqFp1mrjX2lhIREeoTPpMSQpKwhI3qEAMw8jh0FcNlzKVxzqfl9NX+Ave5XLz o9v/tdhZsnPdTSpxsrpJ9csc1fV5yJmz/MFMdOO0vSk3FQQoHt5FRnDsr7p4DooqzgB53MBfGWcs a0vvaGgLQ+OswWIJ76bdZWGgr4RVSJFSHMYlkSrQwSIjYVmvRRGFHQEkNI/Ps/8XciATwoCqISxx OQ7Qj1zB09GOInJGTB2Wrk9xseEFKZZZ9LuedT3PDTcNYtsmjGOpI99nBjx8Oto0QuFmtEYE3saW mA9LSHokMnWRn6z3aOkquVVlzl1h0ydw2Df+n7mvoC5Wt6NlUe07qxS/TFED6F+KBZvuim6c779o +sjaC+NCydAXFJy3SuCvkychVSa1ZC+N8f+mQAWFBVzKBxlcCxMoTFh/wqXvRdpg065lYZ1Tg3TC rvJcwhbtkj6EPnNgiLx29CzP0H1907he0ZESEOnN3col49XtmS++dYFLJPlFRpTJKSFTnCZFqhMX 5OfNeOI5wSsSnqaeG8XmDtkx2Q== -----END CERTIFICATE----- Swisscom Root EV CA 2 ===================== -----BEGIN CERTIFICATE----- MIIF4DCCA8igAwIBAgIRAPL6ZOJ0Y9ON/RAdBB92ylgwDQYJKoZIhvcNAQELBQAwZzELMAkGA1UE BhMCY2gxETAPBgNVBAoTCFN3aXNzY29tMSUwIwYDVQQLExxEaWdpdGFsIENlcnRpZmljYXRlIFNl cnZpY2VzMR4wHAYDVQQDExVTd2lzc2NvbSBSb290IEVWIENBIDIwHhcNMTEwNjI0MDk0NTA4WhcN MzEwNjI1MDg0NTA4WjBnMQswCQYDVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsT HERpZ2l0YWwgQ2VydGlmaWNhdGUgU2VydmljZXMxHjAcBgNVBAMTFVN3aXNzY29tIFJvb3QgRVYg Q0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMT3HS9X6lds93BdY7BxUglgRCgz o3pOCvrY6myLURYaVa5UJsTMRQdBTxB5f3HSek4/OE6zAMaVylvNwSqD1ycfMQ4jFrclyxy0uYAy Xhqdk/HoPGAsp15XGVhRXrwsVgu42O+LgrQ8uMIkqBPHoCE2G3pXKSinLr9xJZDzRINpUKTk4Rti GZQJo/PDvO/0vezbE53PnUgJUmfANykRHvvSEaeFGHR55E+FFOtSN+KxRdjMDUN/rhPSays/p8Li qG12W0OfvrSdsyaGOx9/5fLoZigWJdBLlzin5M8J0TbDC77aO0RYjb7xnglrPvMyxyuHxuxenPaH Za0zKcQvidm5y8kDnftslFGXEBuGCxobP/YCfnvUxVFkKJ3106yDgYjTdLRZncHrYTNaRdHLOdAG alNgHa/2+2m8atwBz735j9m9W8E6X47aD0upm50qKGsaCnw8qyIL5XctcfaCNYGu+HuB5ur+rPQa m3Rc6I8k9l2dRsQs0h4rIWqDJ2dVSqTjyDKXZpBy2uPUZC5f46Fq9mDU5zXNysRojddxyNMkM3Ox bPlq4SjbX8Y96L5V5jcb7STZDxmPX2MYWFCBUWVv8p9+agTnNCRxunZLWB4ZvRVgRaoMEkABnRDi xzgHcgplwLa7JSnaFp6LNYth7eVxV4O1PHGf40+/fh6Bn0GXAgMBAAGjgYYwgYMwDgYDVR0PAQH/ BAQDAgGGMB0GA1UdIQQWMBQwEgYHYIV0AVMCAgYHYIV0AVMCAjASBgNVHRMBAf8ECDAGAQH/AgED MB0GA1UdDgQWBBRF2aWBbj2ITY1x0kbBbkUe88SAnTAfBgNVHSMEGDAWgBRF2aWBbj2ITY1x0kbB bkUe88SAnTANBgkqhkiG9w0BAQsFAAOCAgEAlDpzBp9SSzBc1P6xXCX5145v9Ydkn+0UjrgEjihL j6p7jjm02Vj2e6E1CqGdivdj5eu9OYLU43otb98TPLr+flaYC/NUn81ETm484T4VvwYmneTwkLbU wp4wLh/vx3rEUMfqe9pQy3omywC0Wqu1kx+AiYQElY2NfwmTv9SoqORjbdlk5LgpWgi/UOGED1V7 XwgiG/W9mR4U9s70WBCCswo9GcG/W6uqmdjyMb3lOGbcWAXH7WMaLgqXfIeTK7KK4/HsGOV1timH 59yLGn602MnTihdsfSlEvoqq9X46Lmgxk7lq2prg2+kupYTNHAq4Sgj5nPFhJpiTt3tm7JFe3VE/ 23MPrQRYCd0EApUKPtN236YQHoA96M2kZNEzx5LH4k5E4wnJTsJdhw4Snr8PyQUQ3nqjsTzyP6Wq J3mtMX0f/fwZacXduT98zca0wjAefm6S139hdlqP65VNvBFuIXxZN5nQBrz5Bm0yFqXZaajh3DyA HmBR3NdUIR7KYndP+tiPsys6DXhyyWhBWkdKwqPrGtcKqzwyVcgKEZzfdNbwQBUdyLmPtTbFr/gi uMod89a2GQ+fYWVq6nTIfI/DT11lgh/ZDYnadXL77/FHZxOzyNEZiCcmmpl5fx7kLD977vHeTYuW l8PVP3wbI+2ksx0WckNLIOFZfsLorSa/ovc= -----END CERTIFICATE----- CA Disig Root R1 ================ -----BEGIN CERTIFICATE----- MIIFaTCCA1GgAwIBAgIJAMMDmu5QkG4oMA0GCSqGSIb3DQEBBQUAMFIxCzAJBgNVBAYTAlNLMRMw EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp ZyBSb290IFIxMB4XDTEyMDcxOTA5MDY1NloXDTQyMDcxOTA5MDY1NlowUjELMAkGA1UEBhMCU0sx EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp c2lnIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCqw3j33Jijp1pedxiy 3QRkD2P9m5YJgNXoqqXinCaUOuiZc4yd39ffg/N4T0Dhf9Kn0uXKE5Pn7cZ3Xza1lK/oOI7bm+V8 u8yN63Vz4STN5qctGS7Y1oprFOsIYgrY3LMATcMjfF9DCCMyEtztDK3AfQ+lekLZWnDZv6fXARz2 m6uOt0qGeKAeVjGu74IKgEH3G8muqzIm1Cxr7X1r5OJeIgpFy4QxTaz+29FHuvlglzmxZcfe+5nk CiKxLU3lSCZpq+Kq8/v8kiky6bM+TR8noc2OuRf7JT7JbvN32g0S9l3HuzYQ1VTW8+DiR0jm3hTa YVKvJrT1cU/J19IG32PK/yHoWQbgCNWEFVP3Q+V8xaCJmGtzxmjOZd69fwX3se72V6FglcXM6pM6 vpmumwKjrckWtc7dXpl4fho5frLABaTAgqWjR56M6ly2vGfb5ipN0gTco65F97yLnByn1tUD3AjL LhbKXEAz6GfDLuemROoRRRw1ZS0eRWEkG4IupZ0zXWX4Qfkuy5Q/H6MMMSRE7cderVC6xkGbrPAX ZcD4XW9boAo0PO7X6oifmPmvTiT6l7Jkdtqr9O3jw2Dv1fkCyC2fg69naQanMVXVz0tv/wQFx1is XxYb5dKj6zHbHzMVTdDypVP1y+E9Tmgt2BLdqvLmTZtJ5cUoobqwWsagtQIDAQABo0IwQDAPBgNV HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUiQq0OJMa5qvum5EY+fU8PjXQ 04IwDQYJKoZIhvcNAQEFBQADggIBADKL9p1Kyb4U5YysOMo6CdQbzoaz3evUuii+Eq5FLAR0rBNR xVgYZk2C2tXck8An4b58n1KeElb21Zyp9HWc+jcSjxyT7Ff+Bw+r1RL3D65hXlaASfX8MPWbTx9B LxyE04nH4toCdu0Jz2zBuByDHBb6lM19oMgY0sidbvW9adRtPTXoHqJPYNcHKfyyo6SdbhWSVhlM CrDpfNIZTUJG7L399ldb3Zh+pE3McgODWF3vkzpBemOqfDqo9ayk0d2iLbYq/J8BjuIQscTK5Gfb VSUZP/3oNn6z4eGBrxEWi1CXYBmCAMBrTXO40RMHPuq2MU/wQppt4hF05ZSsjYSVPCGvxdpHyN85 YmLLW1AL14FABZyb7bq2ix4Eb5YgOe2kfSnbSM6C3NQCjR0EMVrHS/BsYVLXtFHCgWzN4funodKS ds+xDzdYpPJScWc/DIh4gInByLUfkmO+p3qKViwaqKactV2zY9ATIKHrkWzQjX2v3wvkF7mGnjix lAxYjOBVqjtjbZqJYLhkKpLGN/R+Q0O3c+gB53+XD9fyexn9GtePyfqFa3qdnom2piiZk4hA9z7N UaPK6u95RyG1/jLix8NRb76AdPCkwzryT+lf3xkK8jsTQ6wxpLPn6/wY1gGp8yqPNg7rtLG8t0zJ a7+h89n07eLw4+1knj0vllJPgFOL -----END CERTIFICATE----- CA Disig Root R2 ================ -----BEGIN CERTIFICATE----- MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7 A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa 5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8 1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01 utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0 sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV 7+ZtsH8tZ/3zbBt1RqPlShfppNcL -----END CERTIFICATE----- ACCVRAIZ1 ========= -----BEGIN CERTIFICATE----- MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1 MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0 RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ 0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7 8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR 5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J 9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0 dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2 MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49 nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3 sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd 3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p EfbRD0tVNEYqi4Y7 -----END CERTIFICATE----- TWCA Global Root CA =================== -----BEGIN CERTIFICATE----- MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99 sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M 8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg /eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8 EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3 zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0= -----END CERTIFICATE----- TeliaSonera Root CA v1 ====================== -----BEGIN CERTIFICATE----- MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4 MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+ 6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA 3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3 F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7 gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx 0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2 qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6 Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= -----END CERTIFICATE----- E-Tugra Certification Authority =============================== -----BEGIN CERTIFICATE----- MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0 E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5 dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB /wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807 VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0 8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G C7TbO6Orb1wdtn7os4I07QZcJA== -----END CERTIFICATE----- T-TeleSec GlobalRoot Class 2 ============================ -----BEGIN CERTIFICATE----- MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970 2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4 r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR 3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN 9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg== -----END CERTIFICATE----- Atos TrustedRoot 2011 ===================== -----BEGIN CERTIFICATE----- MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4 MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr 54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+ DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320 HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9 61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G 3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed -----END CERTIFICATE----- QuoVadis Root CA 1 G3 ===================== -----BEGIN CERTIFICATE----- MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6 Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV 7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX 9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3 GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP +V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh 3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6 O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0 FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV hMJKzRwuJIczYOXD -----END CERTIFICATE----- QuoVadis Root CA 2 G3 ===================== -----BEGIN CERTIFICATE----- MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD 6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9 x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr O3jtZsSOeWmD3n+M -----END CERTIFICATE----- QuoVadis Root CA 3 G3 ===================== -----BEGIN CERTIFICATE----- MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286 IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe 6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3 I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7 5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX 0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2 PpxxVJkES/1Y+Zj0 -----END CERTIFICATE----- DigiCert Assured ID Root G2 =========================== -----BEGIN CERTIFICATE----- MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH 35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv 0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo IhNzbM8m9Yop5w== -----END CERTIFICATE----- DigiCert Assured ID Root G3 =========================== -----BEGIN CERTIFICATE----- MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy 1vUhZscv6pZjamVFkpUBtA== -----END CERTIFICATE----- DigiCert Global Root G2 ======================= -----BEGIN CERTIFICATE----- MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO 3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu 5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/ iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl MrY= -----END CERTIFICATE----- DigiCert Global Root G3 ======================= -----BEGIN CERTIFICATE----- MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y 3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34 VOKa5Vt8sycX -----END CERTIFICATE----- DigiCert Trusted Root G4 ======================== -----BEGIN CERTIFICATE----- MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6 MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7 f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8 oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy 7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN 5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb /UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa 5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP 82Z+ -----END CERTIFICATE----- WoSign ====== -----BEGIN CERTIFICATE----- MIIFdjCCA16gAwIBAgIQXmjWEXGUY1BWAGjzPsnFkTANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQG EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxKjAoBgNVBAMTIUNlcnRpZmljYXRpb24g QXV0aG9yaXR5IG9mIFdvU2lnbjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMFUxCzAJ BgNVBAYTAkNOMRowGAYDVQQKExFXb1NpZ24gQ0EgTGltaXRlZDEqMCgGA1UEAxMhQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkgb2YgV29TaWduMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA vcqNrLiRFVaXe2tcesLea9mhsMMQI/qnobLMMfo+2aYpbxY94Gv4uEBf2zmoAHqLoE1UfcIiePyO CbiohdfMlZdLdNiefvAA5A6JrkkoRBoQmTIPJYhTpA2zDxIIFgsDcSccf+Hb0v1naMQFXQoOXXDX 2JegvFNBmpGN9J42Znp+VsGQX+axaCA2pIwkLCxHC1l2ZjC1vt7tj/id07sBMOby8w7gLJKA84X5 KIq0VC6a7fd2/BVoFutKbOsuEo/Uz/4Mx1wdC34FMr5esAkqQtXJTpCzWQ27en7N1QhatH/YHGkR +ScPewavVIMYe+HdVHpRaG53/Ma/UkpmRqGyZxq7o093oL5d//xWC0Nyd5DKnvnyOfUNqfTq1+ez EC8wQjchzDBwyYaYD8xYTYO7feUapTeNtqwylwA6Y3EkHp43xP901DfA4v6IRmAR3Qg/UDaruHqk lWJqbrDKaiFaafPz+x1wOZXzp26mgYmhiMU7ccqjUu6Du/2gd/Tkb+dC221KmYo0SLwX3OSACCK2 8jHAPwQ+658geda4BmRkAjHXqc1S+4RFaQkAKtxVi8QGRkvASh0JWzko/amrzgD5LkhLJuYwTKVY yrREgk/nkR4zw7CT/xH8gdLKH3Ep3XZPkiWvHYG3Dy+MwwbMLyejSuQOmbp8HkUff6oZRZb9/D0C AwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFOFmzw7R 8bNLtwYgFP6HEtX2/vs+MA0GCSqGSIb3DQEBBQUAA4ICAQCoy3JAsnbBfnv8rWTjMnvMPLZdRtP1 LOJwXcgu2AZ9mNELIaCJWSQBnfmvCX0KI4I01fx8cpm5o9dU9OpScA7F9dY74ToJMuYhOZO9sxXq T2r09Ys/L3yNWC7F4TmgPsc9SnOeQHrAK2GpZ8nzJLmzbVUsWh2eJXLOC62qx1ViC777Y7NhRCOj y+EaDveaBk3e1CNOIZZbOVtXHS9dCF4Jef98l7VNg64N1uajeeAz0JmWAjCnPv/So0M/BVoG6kQC 2nz4SNAzqfkHx5Xh9T71XXG68pWpdIhhWeO/yloTunK0jF02h+mmxTwTv97QRCbut+wucPrXnbes 5cVAWubXbHssw1abR80LzvobtCHXt2a49CUwi1wNuepnsvRtrtWhnk/Yn+knArAdBtaP4/tIEp9/ EaEQPkxROpaw0RPxx9gmrjrKkcRpnd8BKWRRb2jaFOwIQZeQjdCygPLPwj2/kWjFgGcexGATVdVh mVd8upUPYUk6ynW8yQqTP2cOEvIo4jEbwFcW3wh8GcF+Dx+FHgo2fFt+J7x6v+Db9NpSvd4MVHAx kUOVyLzwPt0JfjBkUO1/AaQzZ01oT74V77D2AhGiGxMlOtzCWfHjXEa7ZywCRuoeSKbmW9m1vFGi kpbbqsY3Iqb+zCB0oy2pLmvLwIIRIbWTee5Ehr7XHuQe+w== -----END CERTIFICATE----- WoSign China ============ -----BEGIN CERTIFICATE----- MIIFWDCCA0CgAwIBAgIQUHBrzdgT/BtOOzNy0hFIjTANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQG EwJDTjEaMBgGA1UEChMRV29TaWduIENBIExpbWl0ZWQxGzAZBgNVBAMMEkNBIOayg+mAmuagueiv geS5pjAeFw0wOTA4MDgwMTAwMDFaFw0zOTA4MDgwMTAwMDFaMEYxCzAJBgNVBAYTAkNOMRowGAYD VQQKExFXb1NpZ24gQ0EgTGltaXRlZDEbMBkGA1UEAwwSQ0Eg5rKD6YCa5qC56K+B5LmmMIICIjAN BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0EkhHiX8h8EqwqzbdoYGTufQdDTc7WU1/FDWiD+k 8H/rD195L4mx/bxjWDeTmzj4t1up+thxx7S8gJeNbEvxUNUqKaqoGXqW5pWOdO2XCld19AXbbQs5 uQF/qvbW2mzmBeCkTVL829B0txGMe41P/4eDrv8FAxNXUDf+jJZSEExfv5RxadmWPgxDT74wwJ85 dE8GRV2j1lY5aAfMh09Qd5Nx2UQIsYo06Yms25tO4dnkUkWMLhQfkWsZHWgpLFbE4h4TV2TwYeO5 Ed+w4VegG63XX9Gv2ystP9Bojg/qnw+LNVgbExz03jWhCl3W6t8Sb8D7aQdGctyB9gQjF+BNdeFy b7Ao65vh4YOhn0pdr8yb+gIgthhid5E7o9Vlrdx8kHccREGkSovrlXLp9glk3Kgtn3R46MGiCWOc 76DbT52VqyBPt7D3h1ymoOQ3OMdc4zUPLK2jgKLsLl3Az+2LBcLmc272idX10kaO6m1jGx6KyX2m +Jzr5dVjhU1zZmkR/sgO9MHHZklTfuQZa/HpelmjbX7FF+Ynxu8b22/8DU0GAbQOXDBGVWCvOGU6 yke6rCzMRh+yRpY/8+0mBe53oWprfi1tWFxK1I5nuPHa1UaKJ/kR8slC/k7e3x9cxKSGhxYzoacX GKUN5AXlK8IrC6KVkLn9YDxOiT7nnO4fuwECAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud EwEB/wQFMAMBAf8wHQYDVR0OBBYEFOBNv9ybQV0T6GTwp+kVpOGBwboxMA0GCSqGSIb3DQEBCwUA A4ICAQBqinA4WbbaixjIvirTthnVZil6Xc1bL3McJk6jfW+rtylNpumlEYOnOXOvEESS5iVdT2H6 yAa+Tkvv/vMx/sZ8cApBWNromUuWyXi8mHwCKe0JgOYKOoICKuLJL8hWGSbueBwj/feTZU7n85iY r83d2Z5AiDEoOqsuC7CsDCT6eiaY8xJhEPRdF/d+4niXVOKM6Cm6jBAyvd0zaziGfjk9DgNyp115 j0WKWa5bIW4xRtVZjc8VX90xJc/bYNaBRHIpAlf2ltTW/+op2znFuCyKGo3Oy+dCMYYFaA6eFN0A kLppRQjbbpCBhqcqBT/mhDn4t/lXX0ykeVoQDF7Va/81XwVRHmyjdanPUIPTfPRm94KNPQx96N97 qA4bLJyuQHCH2u2nFoJavjVsIE4iYdm8UXrNemHcSxH5/mc0zy4EZmFcV5cjjPOGG0jfKq+nwf/Y jj4Du9gqsPoUJbJRa4ZDhS4HIxaAjUz7tGM7zMN07RujHv41D198HRaG9Q7DlfEvr10lO1Hm13ZB ONFLAzkopR6RctR9q5czxNM+4Gm2KHmgCY0c0f9BckgG/Jou5yD5m6Leie2uPAmvylezkolwQOQv T8Jwg0DXJCxr5wkf09XHwQj02w47HAcLQxGEIYbpgNR12KvxAmLBsX5VYc8T1yaw15zLKYs4SgsO kI26oQ== -----END CERTIFICATE----- COMODO RSA Certification Authority ================================== -----BEGIN CERTIFICATE----- MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlv biBBdXRob3JpdHkwHhcNMTAwMTE5MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMC R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR6FSS0gpWsawNJN3Fz0Rn dJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8Xpz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZ FGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+ 5eNu/Nio5JIk2kNrYrhV/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pG x8cgoLEfZd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z+pUX 2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7wqP/0uK3pN/u6uPQL OvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZahSL0896+1DSJMwBGB7FY79tOi4lu3 sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVICu9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+C GCe01a60y1Dma/RMhnEw6abfFobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5 WdYgGq/yapiqcrxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w DQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvlwFTPoCWOAvn9sKIN9SCYPBMt rFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+ nq6PK7o9mfjYcwlYRm6mnPTXJ9OV2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSg tZx8jb8uk2IntznaFxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwW sRqZCuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiKboHGhfKp pC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmckejkk9u+UJueBPSZI9FoJA zMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yLS0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHq ZJx64SIDqZxubw5lT2yHh17zbqD5daWbQOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk52 7RH89elWsn2/x20Kk4yl0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7I LaZRfyHBNVOFBkpdn627G190 -----END CERTIFICATE----- USERTrust RSA Certification Authority ===================================== -----BEGIN CERTIFICATE----- MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCAEmUXNg7D2wiz 0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2j Y0K2dvKpOyuR+OJv0OwWIJAJPuLodMkYtJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFn RghRy4YUVD+8M/5+bJz/Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O +T23LLb2VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT79uq /nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6c0Plfg6lZrEpfDKE Y1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmTYo61Zs8liM2EuLE/pDkP2QKe6xJM lXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97lc6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8 yexDJtC/QV9AqURE9JnnV4eeUB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+ eLf8ZxXhyVeEHg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF MAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPFUp/L+M+ZBn8b2kMVn54CVVeW FPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KOVWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ 7l8wXEskEVX/JJpuXior7gtNn3/3ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQ Eg9zKC7F4iRO/Fjs8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM 8WcRiQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYzeSf7dNXGi FSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZXHlKYC6SQK5MNyosycdi yA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9c J2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRBVXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGw sAvgnEzDHNb842m1R0aBL6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gx Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9 -----END CERTIFICATE----- USERTrust ECC Certification Authority ===================================== -----BEGIN CERTIFICATE----- MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv biBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMC VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqfloI+d61SRvU8Za2EurxtW2 0eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinngo4N+LZfQYcTxmdwlkWOrfzCjtHDix6Ez nPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0GA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNV HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBB HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu 9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= -----END CERTIFICATE----- GlobalSign ECC Root CA - R4 =========================== -----BEGIN CERTIFICATE----- MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEkMCIGA1UECxMb R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD EwpHbG9iYWxTaWduMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprl OQcJFspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAwDgYDVR0P AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61FuOJAf/sKbvu+M8k8o4TV MAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGXkPoUVy0D7O48027KqGx2vKLeuwIgJ6iF JzWbVsaj8kfSt24bAgAXqmemFZHe+pTsewv4n4Q= -----END CERTIFICATE----- GlobalSign ECC Root CA - R5 =========================== -----BEGIN CERTIFICATE----- MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD EwpHbG9iYWxTaWduMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6 SFkc8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8kehOvRnkmS h5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd BgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYIKoZIzj0EAwMDaAAwZQIxAOVpEslu28Yx uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7 yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3 -----END CERTIFICATE----- Staat der Nederlanden Root CA - G3 ================================== -----BEGIN CERTIFICATE----- MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g Um9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloXDTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMC TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4y olQPcPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WWIkYFsO2t x1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqXxz8ecAgwoNzFs21v0IJy EavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFyKJLZWyNtZrVtB0LrpjPOktvA9mxjeM3K Tj215VKb8b475lRgsGYeCasH/lSJEULR9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUur mkVLoR9BvUhTFXFkC4az5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU5 1nus6+N86U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7Ngzp 07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHPbMk7ccHViLVlvMDo FxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXtBznaqB16nzaeErAMZRKQFWDZJkBE 41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTtXUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMB AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleu yjWcLhL75LpdINyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwpLiniyMMB8jPq KqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8Ipf3YF3qKS9Ysr1YvY2WTxB1 v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixpgZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA 8KCWAg8zxXHzniN9lLf9OtMJgwYh/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b 8KKaa8MFSu1BYBQw0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0r mj1AfsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq4BZ+Extq 1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR1VmiiXTTn74eS9fGbbeI JG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/QFH1T/U67cjF68IeHRaVesd+QnGTbksV tzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM94B7IWcnMFk= -----END CERTIFICATE----- Staat der Nederlanden EV Root CA ================================ -----BEGIN CERTIFICATE----- MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJOTDEeMBwGA1UE CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFhdCBkZXIgTmVkZXJsYW5kZW4g RVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0yMjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5M MR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRl cmxhbmRlbiBFViBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkk SzrSM4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nCUiY4iKTW O0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3dZ//BYY1jTw+bbRcwJu+r 0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46prfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8 Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13lpJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gV XJrm0w912fxBmJc+qiXbj5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr 08C+eKxCKFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS/ZbV 0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0XcgOPvZuM5l5Tnrmd 74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH1vI4gnPah1vlPNOePqc7nvQDs/nx fRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrPpx9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNC MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwa ivsnuL8wbqg7MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u2dfOWBfoqSmu c0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHSv4ilf0X8rLiltTMMgsT7B/Zq 5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTCwPTxGfARKbalGAKb12NMcIxHowNDXLldRqAN b/9Zjr7dn3LDWyvfjFvO5QxGbJKyCqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tN f1zuacpzEPuKqf2evTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi 5Dp6Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIaGl6I6lD4 WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeLeG9QgkRQP2YGiqtDhFZK DyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGy eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc7uzXLg== -----END CERTIFICATE----- IdenTrust Commercial Root CA 1 ============================== -----BEGIN CERTIFICATE----- MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQG EwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS b290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQwMTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzES MBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENB IDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ld hNlT3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU+ehcCuz/ mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gpS0l4PJNgiCL8mdo2yMKi 1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1bVoE/c40yiTcdCMbXTMTEl3EASX2MN0C XZ/g1Ue9tOsbobtJSdifWwLziuQkkORiT0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl 3ZBWzvurpWCdxJ35UrCLvYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzy NeVJSQjKVsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZKdHzV WYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHTc+XvvqDtMwt0viAg xGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hvl7yTmvmcEpB4eoCHFddydJxVdHix uuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5NiGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZI hvcNAQELBQADggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH 6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwtLRvM7Kqas6pg ghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93nAbowacYXVKV7cndJZ5t+qnt ozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmV YjzlVYA211QC//G5Xc7UI2/YRYRKW2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUX feu+h1sXIFRRk0pTAwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/ro kTLql1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG4iZZRHUe 2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZmUlO+KWA2yUPHGNiiskz Z2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R cGzM7vRX+Bi6hG6H -----END CERTIFICATE----- IdenTrust Public Sector Root CA 1 ================================= -----BEGIN CERTIFICATE----- MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQG EwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3Rv ciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcNMzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJV UzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBS b290IENBIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTy P4o7ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGyRBb06tD6 Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlSbdsHyo+1W/CD80/HLaXI rcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF/YTLNiCBWS2ab21ISGHKTN9T0a9SvESf qy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoS mJxZZoY+rfGwyj4GD3vwEUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFn ol57plzy9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9VGxyh LrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ2fjXctscvG29ZV/v iDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsVWaFHVCkugyhfHMKiq3IXAAaOReyL 4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gDW/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8B Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMw DQYJKoZIhvcNAQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHVDRDtfULAj+7A mgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9TaDKQGXSc3z1i9kKlT/YPyNt GtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8GlwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFt m6/n6J91eEyrRjuazr8FGF1NFTwWmhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMx NRF4eKLg6TCMf4DfWN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4 Mhn5+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJtshquDDI ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhAGaQdp/lLQzfcaFpPz+vC ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ 3Wl9af0AVqW3rLatt8o+Ae+c -----END CERTIFICATE----- Entrust Root Certification Authority - G2 ========================================= -----BEGIN CERTIFICATE----- MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy bXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ug b25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIw HhcNMDkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMx OTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s eTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEi MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP /vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXz HHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKU s/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE4y TGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0jaWvYkxN4FisZDQSA/i2jZRjJKRx AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ6 0B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v1fN2D807iDgi nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+ vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO e4pIb4tF9g== -----END CERTIFICATE----- Entrust Root Certification Authority - EC1 ========================================== -----BEGIN CERTIFICATE----- MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl ZCB1c2Ugb25seTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 IC0gRUMxMB4XDTEyMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYw FAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2Fs LXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg dXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt IEVDMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHy AsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef 9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8 kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G -----END CERTIFICATE----- CFCA EV ROOT ============ -----BEGIN CERTIFICATE----- MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJDTjEwMC4GA1UE CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNB IEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkxMjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEw MC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQD DAxDRkNBIEVWIFJPT1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnV BU03sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpLTIpTUnrD 7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5/ZOkVIBMUtRSqy5J35DN uF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp7hZZLDRJGqgG16iI0gNyejLi6mhNbiyW ZXvKWfry4t3uMCz7zEasxGPrb382KzRzEpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7 xzbh72fROdOXW3NiGUgthxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9f py25IGvPa931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqotaK8K gWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNgTnYGmE69g60dWIol hdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfVPKPtl8MeNPo4+QgO48BdK4PRVmrJ tqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hvcWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAf BgNVHSMEGDAWgBTj/i39KNALtbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB /wQEAwIBBjAdBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObTej/tUxPQ4i9q ecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdLjOztUmCypAbqTuv0axn96/Ua 4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBSESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sG E5uPhnEFtC+NiWYzKXZUmhH4J/qyP5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfX BDrDMlI1Dlb4pd19xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjn aH9dCi77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN5mydLIhy PDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe/v5WOaHIz16eGWRGENoX kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su -----END CERTIFICATE----- RCurl/inst/etc/README0000644000176000001440000000020512541100670013732 0ustar ripleyusersThis file is used by default on Windows, and was downloaded from (and can be updated from) http://curl.haxx.se/docs/caextract.html . RCurl/Changes.html0000644000176000001440000006203212665241535013603 0ustar ripleyusers Change log for RCurl

    1.95-4

  • Important fix in a low-level bug in R_curl_easy_setopt where we were assuming the logical vector isProtected had the same length as values. Thanks to Bruce Hoff for identifying this and providing a patch.
  • Correction for mapping new lines in curlPercentEncode().
  • 1.95-1 &2 & 3

  • Changes for simpler compilation by others on Windows.
    The changes are appreciated.
  • postForm() coerces only atomic arguments for the form, leaving, for example, FileUploadInfo objects as they are.
  • 1.95-0

  • Expose interface to C routine for posting a form, .postForm().
    Request and patch from Hadley Wickham.
  • Field httpHeader added to the error/condition object when an HTTP error is raised.
    Added close() method for CFILE.
  • stop.if.HTTP.error() now raises an error for 4xx and 5xx status codes.
    Thanks to Thomas Themel.
  • 1.94-0

  • Fix to getForm() to allow the URL to contain a ?, e.g. with some parameters specified in the URL
  • 1.93-0

  • getURLContent()'s header parameter can be TRUE or FALSE. TRUE returns the header along with the body as a list containing just these two elements.
  • postForm() coerces its arguments to characters so we can pass values of arbitrary types.
  • postForm() checks the header in the response and throws an error if the request was not successful.
  • Added finalizer for CFILE()
  • Allow writefunction and headerfunction to return TRUE to indicate success.
  • Exported AUTH_* variables, e.g. AUTH_BASIC, AUTH_DIGEST, etc.
  • 1.92-1

  • Set the error buffer when we call reset for a curl object.
    Thanks to Hadley Wickham for bringing this to my attention.
  • 1.92-0

  • Added conversion for downloaded content to map Unicode characters of the form \unnnn to proper UTF encoding in R.
    Code is adapted from Alex Couture-Beil's rjson package. Thanks.
  • Added CURLAUTH_* constants, e.g. CURLAUTH_BASIC, CURLAUTH_NONE, CURLAUTH_ANY, ...
  • 1.91-1

  • Move logo.jpg and a reference to it in an example.
  • 1.91-0

  • Enhanced httpPUT to make it simpler and take care of serializing the content and setting the necessary options.
  • 1.9-5

  • Enable the examples in getURL() help page if the session is interactive so that they won't be run in test/check mode.
  • 1.9-4

  • RCurl doesn't have to be in the search path to find the curlError() function which is called when an error occurs in curlPerform().
  • 1.9-3

    Import methods.

    1.9-2

    Documentation updates.

    1.9-1

  • Avoid warnings about names slot in an EnumValue by adding an explicit names slot. This was a result of a change in R-2.14.0.
  • 1.9-0

  • Introduced url.exists() function.
  • Introduced curlError() and a collection of error "condition" objects corresponding to CURLCode status errors. Errors can now be caught with tryCatch according to their class.
  • Examples check the URLs are accessible before making the requests.
    The tests do not.
  • 1.8-0

  • getURLContent() attempts to handle encoding more comprehensively.
  • Added encoding argument for dynCurlReader() function.
    This attempts to use this encoding for the content it receives when it is not binary, but text.
  • dynCurlReader() has a more complete reset function and some additional state variables (e.g. requestCount). Contributed by Jeroen Ooms.
  • 1.7-0

  • Added simple wrapper functions httpGET, httpPOST, httpPUT, httpHEAD, httpOPTIONS and httpDELETE corresponding to the HTTP methods.
  • postForm() now correctly handles multiple form parameters with the same name (rather than reusing the first value multiple times).
  • 1.6-10

  • Fix garbage collection for common case of calling getURLContent() that uses the default value of the header parameter.
  • 1.6-9

  • Removed inclusion of curl/types.h which is now not part of libcurl in many installations.
  • 1.6-8

  • Added isHTTP to dynCurlReader so that we can better handle FTP requests.
  • 1.6-7

  • Fixed the case when we omitted the name of the field in httpheaders when there was just one entry which contains a ':', e.g. c(SOAPAction = "http://www.omegahat.net").
  • 1.6-6

  • Fixed a problem when no Content-Encoding is returned.
    Discovered by Philip Laflamme.
  • 1.6-5

  • Modified the FTP example in getURL() to account for the rare case that after we get the list of files in a directory on the server, one or more of them is deleted when we return to retrieve it.
    This appears to be occurring i386-apple-darwin9.8.0 (32-bit) but not on other platforms.
  • 1.6-4

  • Fix for uploading data from memory in PUT or POST with the readfunction option. There was an off by one error that caused an extra byte to be upload in some/most circumstances.
  • Workaround in C code underlying getURIAsynchronous() that fails on Fedora 14 with libcurl 7.21.*
    See http://lists.gnu.org/archive/html/gnash-dev/2010-08/msg00156.html
  • 1.6-3

  • getForm() now correctly processes multiple instances of a form parameter with the same name rather than using the value of the first version, e.g. arg1 = 'bob', arg1 = 'jane'. Found by Richard Cotton.
  • 1.6-2

  • Correction of bug fix in 1.6-1 to ensure results are returned.
  • 1.6-1

  • Changed postForm() to not register a headerfunction if either writefunction or headerfunction is specified by the caller in the options.
    Discovered by Jereon Ooms
  • 1.6-0

  • Respect Content-Encoding for determining if returned content is binary.
  • Pass the encoding to the dynamic content reader.
  • curlPercentEncode has a new post.amp parameter controlling whether the % characters introduce by inserting escape codes are also escaped, i.e. # becomes %23 and then %2523 since %25 is the code for %
  • When posting a form via postForm(), individual parameters can have the class "AsIs" to avoid escaping their contents, e.g. converting &, spaces, etc. to percent-encodings.
  • Added json to the list of text content types.
  • 1.5-0

  • Added .isProtected parameter to curlSetOpt() to allow caller control the preservation of the values from garbage collection to ensure they are not garbage collected while the curl handle is still alive.
    This solves the problem
  • 1.4-3

    Fix for ftpUpload() to close the connection to a local file if that is what is being uploaded (rather than content in memory). Identified by Spencer Graves.

    1.4-3

  • Added fields for debugGatherer() for the SSL data-in and data-out fields which was causing an error if SSL was being used with debugging information.
  • 1.4-2

  • New release because there may have been an earlier 1.4-1 on the Web site that got overwritten with this version without the numbers being updated.
  • 1.4-1

  • Handle case where a "blank"/white-space line in the body of an HTTP response can be treated as part of a (new) header.
    Found through the rtracklayer package.
  • 1.4-0

  • Minor but important experimental changes to the way the dynamic reader process "HTTP 100 Continue" responses and gathering the header from the actual call.
    Still needs mor refinement, but this should be an improvement.
  • Added mimeTypeExtensions and guessMIMEType() function.
    These are useful for mapping a file extension to the common MIME type, valuable when uploading/including content in a POST request.
  • 1.3-2

  • Minor changes to parsing of HTTP header for 100 "continue" replies.
  • 1.3-1

  • Added curlPercentEncode() and a parameter in postForm() for specifying the encoding function. This is of use for x-www-form-encoded POST submissions.
  • 1.3-0

  • scp() function for transferring a file from a remote machine to the local one on which the request is made.
  • Improved error handling for requests which are not HTTP requests.
  • Simpler configuration code for Windows at the expense of unnecessary flexibility in the location of the libcurl development files.
  • 1.2-1

  • getForm() did not use the curl handle object it was passed.
  • 1.2-0

  • Recognize more Content-Types as being text and so handle the (HTTP) response as text rather than binary for those situations.
  • 1.1-0

  • Support for using default options for new curl handles taken from options("RCurlOptions").
  • 1.0-0

  • dynCurlReader() (and hence getURLContent()) adds the Content-Type attribute to the resulting R object.
  • getURLContent() allows the caller to specify the reader for the header and body via the header parameter.
  • 0.99-0

  • Added a binary argument to getURLContent(), getForm() and postForm() to allow the caller to control whether the response returned by the Web server is treated as binary or text. If this is not specified, we examine the Content-Type field in the response's header and try to determine from that whether the content is binary or text.
  • The set of application Content-Types recognized as being text is now retrieved from the R options vector via the element text.content.types. This allows users to change this set to recognize "new" types.
  • Fixed a bug in setting the HTTPHEADER when a value contained a ':' and there was only one value being set.
    curlSetOpt() now detects this case better and also allows the caller to explicitly control this via the .forceHeaderNames parameter.
  • getURLContent() was not honoring ... arguments for setting curl options.
  • 0.98-1

  • Added configure- and compile-time checking for different versions and enumerated constants so that this will install for older versions of libcurl. Goes all the way back to 7.14.0, i.e. 2005!
  • 0.98-0

  • Added CFILE class and function to allow us to work with files on disk, e.g. for uploading, without reading them into R, and for speed to avoid using functions.
  • 0.97-3

  • dynCurlReader() discards the original content for the header when it is a 100 status and so is ready to read the subsequent header after the continuation.
    Found by Steffen Durinck in biomaRt.
  • 0.97-2

  • getURL() example involving listing files in an FTP directory now handles newlines of the form \r\n on Windows. Thanks to Brian Ripley.
  • Further tweaks for different versions of libcurl and the generated code mappings.
  • 0.97-1

  • Additional checks in the configuration for existence of specific enumeration constants to handle different versions of libcurl.
  • 0.97-0

  • Added configuration-time tests for the existence of newly added enumerations in the options and corresponding #ifdef's within the code. This handles different versions of libcurl with different options. The code in CodeGeneration/generate.R can deal with different versions and programmatically create the code for the most recent version of libcurl it sees with support for older versions.
  • 0.96-0

  • Updated the number of recognized curl options in curlPerform and higher-level functions.
  • getCurlInfo() can return certificate information and single linked lists that are characters
  • Introduced getCurlOptionTypes() which indicates the expected types of the different options.
  • Added several C-level enumeration collections as R values. These are not exported as there are many of them. They can be accessed with RCurl:::name, e.g. RCurl:::CURLPROXY_HTTP_1_0
    This involves bringing in Enumeration classes from RAutoGenRunTime.
  • Configuration tests for recently added libcurl options in the CURLOPT enumerations and avoid them in compilation if they are not present.
  • 0.95-1

  • parseHTTPHeader() deals with fields in the header that contain multiple ':' characters.
  • dynCurlReader() handles HTTP 100 status messages to Continue better.
  • 1

    0.95-0

  • getURLContent() now uses a dynamic reader which processes the header and determines the Content-Type (and the encoding if text) and reads the body of the reply appropriately.
  • getForm() now uses getURLContent() and so handles binary results and different character sets.
  • 0.94-1

  • Silly initialization omission for the readfunction C routine handler which caused the ftpUpload() to produce "infinitely" large files on the server. Thanks to Herve Fulchiron.
  • 0.94-0

  • Added ftpUpload() function and small C routine and R function for READFUNCTION option callbacks.
  • Support for QUOTE, POSTQUOTE, PREQUOTE options for FTP.
  • 0.93-0

  • Added a reset() generic function and a method for resetting the contents of a CURLHandle to the original default values.
  • Fixed bug in terminating the string in calls to the debug callback function.
  • 0.92-0

  • Added getURLContent() as a top-level function which handles binary and text downloads by looking at the Content-Type field of the header.
  • getURLContent() also raises errors for requests with a status in the "400" class (e.g. 404 for Not Found) and the errors have (S3) classes that allow them to be handled via tryCatch().
  • Added getBinaryURL() function as a convenience for downloading binary files. Binary content from POSTing or GETing forms can be done by mimicing the few curl settings illustrated in getBinaryURL().
  • Slightly improved error messages when unnamed options are passed to curlOptions().
  • Fixed a bug in reading binary files when enlarging the "raw" buffer.
  • getForm() and postForm() now issue a warning if a curl option appears in the parameters for the form. This can be legitimate if the form happens to use a parameter with the same name as a curl option (see listCurlOptions()) and the error message can be silenced by explicitly providing a value for the .opts parameter in the call. The value can be list() or some actual curl options; the point is to indicate in the call that you have considered the parameters and the curl options.
  • The 'statusMessage' field of the HTTP header now contains the entire error message rather than the first word. Thanks to Valerie Obenchain for identifying the problem.
  • Errors from HTTP requests now have their own class and use the condition system in R (see tryCatch(), simpleError, etc.). The names of these error classes come from the HTTP specification and are gathered programmatically from the specification document. (See inst/HTTPErrors/). Unknown/non-matching error status values return a GenericHTTPError class. The others return a vector of class names containing a more specific class name (whose name is the status number) and the more general "HTTPError" class name.
  • 0.9-4

  • Fix escaping in the split string used in findHTTPHeaderEncoding which gave rise to warnings about vector lengths in an if() condition in getEncoding().
  • 0.9-3

  • Changes to remove some simple compiler warnings.
  • 0.9-2

  • Fix for base64() computing whether to encode or not incorrectly due to lazy evaluation.
  • Now we use the base64 encode and decode routines from the libcurl distribution with our own names on the routines to avoid synchronization problems.
  • Fix in chunkToLineReader to report number of "characters" read and warning emitted in C code if full number of "characters" not consumed.
  • 0.9-1

    Configuration-time check to see if Curl_base64_encode() in libcurl (unexported) has the new additional parameter and so requires us to use that..

    0.9-0

  • Moved the tests/ directory to inst/examples/.
    This has some quite rich/advanced examples that should be available to people and also take some time to run during R CMD check.
  • Allow for an .encoding parameter in getURL()/getURI() for explicitly specifying the encoding of the response from the HTTP.
  • A mechanism that reads the HTTP response header and finds the Content-Type field and attempts to infer the encoding of the response.
    Note that this registers a handler routine for processing the header. This continues to work when an R function is provided as for the headerfunction option, but will not work correctly if a routine is provided for the headerfunction option.
  • Updates to deal with encoding of strings.
    The basic text gathering function (used as the argument for write and the curl option writefunction) returns nchar(, "bytes") which may be more than the number of characters in an encoded string.
  • Replaced internal calls to allocString() with mkCharLenCE() when available (i.e. R >= 2.8.0), or explicitly copy the string given to us from libcurl and create an encoded character string.
  • 0.8-3

  • Support for CURLOPT_POST and using application/x-www-form-urlencoded as the Content-Type in POST'ing a form. This is controlled via the style parameter in postForm.
  • Construct body of a form-urlencoded POST in R with the relevant escaping.
  • 0.8-1

  • Added code to support the new hashing of strings in R-devel (for what will be 2.6.0).
  • Bug fix which caused segmentation faults when external pointer objects were used as options for curl.
  • Allow dynamic symbol lookup in the RCurl DLL/SO to permit the use of routines such as R_curl_write_binary_data.
  • 0.7-0

  • Added support for base64 encoding and decoding using the code from libcurl (copyright
    See the file COPYING.
  • 0.7-0

  • Added mechanism and example for reading binary data from a request.
    This is not connected to R's connection mechanism as the API for that is not public and external extensions (i.e. via packages) are not feasible. (R's internals are not object oriented; one must work through the interpreted language even if working directly in compiled languages.)

    This is useful for handling gzip/bzip2 files, images, etc. To uncompress such in-memory data directly, see the Rcompression package.

  • fileUpload() function and mechanism for specifying details about a file whose contents are to be included in a form submission via postForm.
  • 0.6-4

  • Fix the problem identified by Seth Falcon of releasing/free'ing an R function object in the RCurl memory management.
    Added a type to the RCurlMemory structure so we know when we should R_Release() an object. Probably will also duplicate such functions when preserving them.
  • 0.6-3

    Introduced mechanism for converting options to target types, including enumerated values.
    Works for netrc option and extensible for any of the values.
    Added support for specifying an R function or C routine for the SSL_CTX_FUNCTION option.
    Accept a logical value from the R function used for the write callback. FALSE indicates an error and TRUE means that the function processed the text successfully.
    Fixed bug in memory management and garbage collection of the curl handles.

    0.6-2

    Further changes re postForm() with a curl handle provided.
    Problem was NULL for httppost setting.

    0.6-1

    Fixed type in postForm() that caused error when a curl handle was specified.
    Name matching in ... of curlSetOpt() caught the cur which should have been curl. Thanks to Jim McDonal for catching this one and using the curl handle mechanism for repeated calls.

    0.6-0

  • Allow C routines to be passed as values for the CURL options that can be R functions. Use getNativeSymbolInfo(routine, package)$address to identify the routine.
  • Support for concurrent, asynchronous HTTP requests using the curl_multi interface.
  • See the examples in tests/ or on the Web:
  • 0.5-3

  • Fixed the SSL example in getURL to turn off verification of the peer, i.e.
    getURL('https://sourceforge.net', ssl.verifypeer = FALSE)
       
  • 0.5-2

    Fix for R-devel and counting of \0's in strings for the length.

    0.5-1

    When POSTing a form, only the first string in each element of the list was written to the body of the form. In other words, multi-valued elements such as for checkboxes with several elements selected were mishandled.

    0.5-0

    Internal correction for passing numbers as options.
    Manifested itself with progress function not being called.

    0.4-0

  • Use the return value from a CURLOPT_WRITEFUNCTION
    This allows the user to raise an error.
  • Support the CURLOPT_PROGRESSFUNCTION
  • CURL_CFLAGS and CURL_LIBS computed in configure so as to handle no-GNU versions of make.
  • 0.3-0

    Ensure that parameters for postForm are a list when passed to C code.

    Duncan Temple Lang <duncan@wald.ucdavis.edu>
    Last modified: Tue Mar 5 10:55:53 PST 2013 RCurl/configure.in0000644000176000001440000001352112437571707013661 0ustar ripleyusersAC_INIT(DESCRIPTION) AC_ARG_ENABLE(debug, [--enable-debug turn on debugging information]) if test -z "${CURL_CONFIG}" ; then AC_PATH_PROG(CURL_CONFIG, curl-config) fi if test -z "${CURL_CONFIG}" ; then echo "Cannot find curl-config" exit 1 fi if test -n "${enable_debug}" && test "${enable_debug}" == "yes" ; then DEFINES=-DRCURL_DEBUG_MEMORY fi dnl Trying to find out if we have a libidn field. AC_PROG_CC AC_PROG_CPP CURL_CPPFLAGS=`$CURL_CONFIG --cflags` CPPFLAGS="${CPPFLAGS} $CURL_CPPFLAGS" AC_TRY_COMPILE([ #include ], [ curl_version_info_data *data; char *ptr; ptr = data->libidn; ], [DEFINES="$DEFINES -DHAVE_LIBIDN_FIELD=1"; echo "Version has a libidn field"], [echo "No libidn field in version structure."]) LDFLAGS=`${CURL_CONFIG} --libs` AC_DEFUN([RCURL_CHECK_ENUM], [ AC_TRY_COMPILE([ #include ], [ int val; val = $1; ], [DEFINES="$DEFINES -DHAVE_$1=1"; echo "Version has $1"], [echo "No $1 enumeration value."]) ]) RCURL_CHECK_ENUM(CURLOPT_URL) RCURL_CHECK_ENUM(CURLINFO_EFFECTIVE_URL) RCURL_CHECK_ENUM(CURLINFO_RESPONSE_CODE) RCURL_CHECK_ENUM(CURLINFO_TOTAL_TIME) RCURL_CHECK_ENUM(CURLINFO_NAMELOOKUP_TIME) RCURL_CHECK_ENUM(CURLINFO_CONNECT_TIME) RCURL_CHECK_ENUM(CURLINFO_PRETRANSFER_TIME) RCURL_CHECK_ENUM(CURLINFO_SIZE_UPLOAD) RCURL_CHECK_ENUM(CURLINFO_SIZE_DOWNLOAD) RCURL_CHECK_ENUM(CURLINFO_SPEED_DOWNLOAD) RCURL_CHECK_ENUM(CURLINFO_SPEED_UPLOAD) RCURL_CHECK_ENUM(CURLINFO_HEADER_SIZE) RCURL_CHECK_ENUM(CURLINFO_REQUEST_SIZE) RCURL_CHECK_ENUM(CURLINFO_SSL_VERIFYRESULT) RCURL_CHECK_ENUM(CURLINFO_FILETIME) RCURL_CHECK_ENUM(CURLINFO_CONTENT_LENGTH_DOWNLOAD) RCURL_CHECK_ENUM(CURLINFO_CONTENT_LENGTH_UPLOAD) RCURL_CHECK_ENUM(CURLINFO_STARTTRANSFER_TIME) RCURL_CHECK_ENUM(CURLINFO_CONTENT_TYPE) RCURL_CHECK_ENUM(CURLINFO_REDIRECT_TIME) RCURL_CHECK_ENUM(CURLINFO_REDIRECT_COUNT) RCURL_CHECK_ENUM(CURLINFO_PRIVATE) RCURL_CHECK_ENUM(CURLINFO_HTTP_CONNECTCODE) RCURL_CHECK_ENUM(CURLINFO_HTTPAUTH_AVAIL) RCURL_CHECK_ENUM(CURLINFO_PROXYAUTH_AVAIL) RCURL_CHECK_ENUM(CURLINFO_OS_ERRNO) RCURL_CHECK_ENUM(CURLINFO_NUM_CONNECTS) RCURL_CHECK_ENUM(CURLINFO_SSL_ENGINES) RCURL_CHECK_ENUM(CURLINFO_COOKIELIST) RCURL_CHECK_ENUM(CURLINFO_LASTSOCKET) RCURL_CHECK_ENUM(CURLINFO_FTP_ENTRY_PATH) RCURL_CHECK_ENUM(CURLINFO_REDIRECT_URL) RCURL_CHECK_ENUM(CURLINFO_PRIMARY_IP) RCURL_CHECK_ENUM(CURLINFO_APPCONNECT_TIME) RCURL_CHECK_ENUM(CURLINFO_CERTINFO) RCURL_CHECK_ENUM(CURLINFO_CONDITION_UNMET) dnl RCURL_CHECK_ENUM(CURLINFO_CONDITION_UNMET) dnl RCURL_CHECK_ENUM(CURLINFO_REDIRECT_URL) dnl RCURL_CHECK_ENUM(CURLINFO_CERTINFO) dnl RCURL_CHECK_ENUM(CURLINFO_PRIMARY_IP) dnl RCURL_CHECK_ENUM(CURLINFO_APPCONNECT_TIME) RCURL_CHECK_ENUM(CURLOPT_WRITEDATA) RCURL_CHECK_ENUM(CURLOPT_KEYPASSWD) RCURL_CHECK_ENUM(CURLOPT_DIRLISTONLY) RCURL_CHECK_ENUM(CURLOPT_APPEND) RCURL_CHECK_ENUM(CURLOPT_KRBLEVEL) RCURL_CHECK_ENUM(CURLOPT_USE_SSL) RCURL_CHECK_ENUM(CURLOPT_TIMEOUT_MS) RCURL_CHECK_ENUM(CURLOPT_CONNECTTIMEOUT_MS) RCURL_CHECK_ENUM(CURLOPT_HTTP_TRANSFER_DECODING) RCURL_CHECK_ENUM(CURLOPT_HTTP_CONTENT_DECODING) RCURL_CHECK_ENUM(CURLOPT_NEW_FILE_PERMS) RCURL_CHECK_ENUM(CURLOPT_NEW_DIRECTORY_PERMS) RCURL_CHECK_ENUM(CURLOPT_POSTREDIR) RCURL_CHECK_ENUM(CURLOPT_OPENSOCKETFUNCTION) RCURL_CHECK_ENUM(CURLOPT_OPENSOCKETDATA) RCURL_CHECK_ENUM(CURLOPT_COPYPOSTFIELDS) RCURL_CHECK_ENUM(CURLOPT_PROXY_TRANSFER_MODE) RCURL_CHECK_ENUM(CURLOPT_SEEKFUNCTION) RCURL_CHECK_ENUM(CURLOPT_SEEKDATA) RCURL_CHECK_ENUM(CURLOPT_CRLFILE) RCURL_CHECK_ENUM(CURLOPT_ISSUERCERT) RCURL_CHECK_ENUM(CURLOPT_ADDRESS_SCOPE) RCURL_CHECK_ENUM(CURLOPT_CERTINFO) RCURL_CHECK_ENUM(CURLOPT_USERNAME) RCURL_CHECK_ENUM(CURLOPT_PASSWORD) RCURL_CHECK_ENUM(CURLOPT_PROXYUSERNAME) RCURL_CHECK_ENUM(CURLOPT_PROXYPASSWORD) RCURL_CHECK_ENUM(CURLOPT_SSH_HOST_PUBLIC_KEY_MD5) RCURL_CHECK_ENUM(CURLOPT_NOPROXY) RCURL_CHECK_ENUM(CURLOPT_TFTP_BLKSIZE) RCURL_CHECK_ENUM(CURLOPT_SOCKS5_GSSAPI_SERVICE) RCURL_CHECK_ENUM(CURLOPT_SOCKS5_GSSAPI_NEC) RCURL_CHECK_ENUM(CURLOPT_PROTOCOLS) RCURL_CHECK_ENUM(CURLOPT_REDIR_PROTOCOLS) RCURL_CHECK_ENUM(CURLOPT_SSH_AUTH_TYPES) RCURL_CHECK_ENUM(CURLOPT_SSH_PUBLIC_KEYFILE) RCURL_CHECK_ENUM(CURLOPT_SSH_PRIVATE_KEYFILE) RCURL_CHECK_ENUM(CURLOPT_FTP_SSL_CCC) RCURL_CHECK_ENUM(CURLOPT_COOKIELIST) RCURL_CHECK_ENUM(CURLOPT_IGNORE_CONTENT_LENGTH) RCURL_CHECK_ENUM(CURLOPT_FTP_SKIP_PASV_IP) RCURL_CHECK_ENUM(CURLOPT_FTP_FILEMETHOD) RCURL_CHECK_ENUM(CURLOPT_LOCALPORT) RCURL_CHECK_ENUM(CURLOPT_LOCALPORTRANGE) RCURL_CHECK_ENUM(CURLOPT_CONNECT_ONLY) RCURL_CHECK_ENUM(CURLOPT_CONV_FROM_NETWORK_FUNCTION) RCURL_CHECK_ENUM(CURLOPT_CONV_TO_NETWORK_FUNCTION) RCURL_CHECK_ENUM(CURLOPT_CONV_FROM_UTF8_FUNCTION) RCURL_CHECK_ENUM(CURLOPT_MAX_SEND_SPEED_LARGE) RCURL_CHECK_ENUM(CURLOPT_MAX_RECV_SPEED_LARGE) RCURL_CHECK_ENUM(CURLOPT_FTP_ALTERNATIVE_TO_USER) RCURL_CHECK_ENUM(CURLOPT_SOCKOPTFUNCTION) RCURL_CHECK_ENUM(CURLOPT_SOCKOPTDATA) RCURL_CHECK_ENUM(CURLOPT_SSL_SESSIONID_CACHE) dnl Next we determine if the Curl_base64_encode routine has an extra parameter dnl which appeared in curl-7.18.0 (approx?). This routine is not in the header dnl file, so we can't use compilation warnings, etc. So we use the old style call and dnl make a sample program that uses this invocation. If it seg faults, we need the new style. #AC_TRY_RUN([ ##include ##include # #int main(int argc, char *argv[]) #{ # char text[100] = "Some text", ans[200]; # int len; # len = Curl_base64_encode(text, strlen(text), &ans); # return(0); #} #], #[echo "Using older Curl_base64_enccode form with _no_ SessionHandle parameter."], #[echo "Using Curl_base64_encode with SessionHandle parameter."; DEFINES="$DEFINES -DBASE64_NEEDS_SESSION_DATA=1"] #) CURL_LIBS=`${CURL_CONFIG} --libs` CURL_CFLAGS=`${CURL_CONFIG} --cflags` AC_SUBST(DEFINES) AC_SUBST(CURL_CONFIG) AC_SUBST(CURL_CFLAGS) AC_SUBST(CURL_LIBS) echo "libcurl version: `${CURL_CONFIG} --version`" AC_OUTPUT(src/Makevars) RCurl/tests/0000755000176000001440000000000012665241523012501 5ustar ripleyusersRCurl/tests/dynSetReader.R0000644000176000001440000000072212544456635015226 0ustar ripleyusers# # This is an example of where we read the header and then set the options # in the curl handle to read the body ofthe response. # library(RCurl) reader = dynCurlReader() status = curlPerform(url = "http://ws.audioscrobbler.com/2.0/?method=library%2Egetartists&user=oso&api_key=de933ba987ea45f82a73acd0d82071c3", headerfunction = reader$update, curl = reader$curl()) try(Encoding(reader$value())) # UTF-8, sometimes RCurl/tests/jpeg.R0000644000176000001440000000051012665241535013550 0ustar ripleyuserslibrary(RCurl) url = "http://www.omegahat.net/Rcartogram/demo.jpg" header = RCurl:::basicTextGatherer() ans = getBinaryURL(url, headerfunction = header$update) url = "http://eeyore.ucdavis.edu/stat141/data/Elections/NYExitData.rda" header = RCurl:::basicTextGatherer() ans = getBinaryURL(url, headerfunction = header$update) RCurl/src/0000755000176000001440000000000012665241523012126 5ustar ripleyusersRCurl/src/CurlInfoEnums.h0000644000176000001440000000017612665243327015040 0ustar ripleyusers#include #define CURLINFO(a) {#a, CURLINFO_##a} NameValue CurlInfoNames[] = { #include "CURLINFOTable.h" }; RCurl/src/myUTF8.c0000644000176000001440000001532612665243327013401 0ustar ripleyusers#include #include #define MAXELTSIZE 8192 typedef wchar_t xxx_ucs_t; //int mbcs_get_next(int c, wchar_t *wc); #if defined(Win32) || defined(__STDC_ISO_10646__) typedef wchar_t ucs_t; # define mbcs_get_next2 mbcs_get_next #else typedef unsigned int ucs_t; # define WC_NOT_UNICODE static int mbcs_get_next2(int c, ucs_t *wc) { #if 0 int i, res, clen = 1; char s[9]; s[0] = c; /* This assumes (probably OK) that all MBCS embed ASCII as single-byte lead bytes, including control chars */ if((unsigned int) c < 0x80) { *wc = (wchar_t) c; return 1; } if(utf8locale) { clen = utf8clen(c); for(i = 1; i < clen; i++) { s[i] = xxgetc(); if(s[i] == R_EOF) { PROBLEM "EOF whilst reading MBCS char" ERROR; } } s[clen] ='\0'; /* x86 Solaris requires this */ res = mbtoucs(wc, s, clen); if(res == -1) { PROBLEM "invalid multibyte character in parser" ERROR; } } else { /* This is not necessarily correct for stateful MBCS */ while(clen <= MB_CUR_MAX) { res = mbtoucs(wc, s, clen); if(res >= 0) break; if(res == -1) { PROBLEM "invalid multibyte character in parser" ERROR; } /* so res == -2 */ c = xxgetc(); if(c == R_EOF) { PROBLEM "EOF whilst reading MBCS char" ERROR; } s[clen++] = c; } /* we've tried enough, so must be complete or invalid by now */ } for(i = clen - 1; i > 0; i--) xxungetc(s[i]); return clen; #else return(0); #endif } #endif #define CTEXT_PUSH(c) do { \ if (ct - currtext >= 1000) {memmove(currtext, currtext+100, 901); memmove(currtext, "... ", 4); ct -= 100;} \ *ct++ = (c); \ } while(0) #define CTEXT_POP() ct-- #define xxgetc() (int) ((char*)input)[pos++] #define xxungetc(val) pos-- #define R_EOF '\0' #define STEXT_PUSH(c) do { \ unsigned int nc = bp - stext; \ if (nc >= nstext - 1) { \ char *old = stext; \ nstext *= 2; \ stext = malloc(nstext); \ if(!stext) \ errorcall(R_NilValue, "unable to allocate buffer for long string"); \ memmove(stext, old, nc); \ if(old != st0) free(old); \ bp = stext+nc; } \ *bp++ = (c); \ } while(0) #define WTEXT_PUSH(c) do { if(wcnt < 10000) wcs[wcnt++] = c; } while(0) SEXP StringValue(void *input, int len) { Rboolean mbcslocale = TRUE; SEXP yylval = R_NilValue; int pos = 0; int c = xxgetc(); int quote = c; char currtext[1010], *ct = currtext; char st0[MAXELTSIZE]; unsigned int nstext = MAXELTSIZE; char *stext = st0, *bp = st0; int wcnt = 0; ucs_t wcs[10001]; Rboolean oct_or_hex = FALSE, use_wcs = FALSE; while (pos < len && (c = xxgetc()) != R_EOF && c != quote) { CTEXT_PUSH(c); if (c == '\n') { xxungetc(c); /* Fix suggested by Mark Bravington to allow multiline strings * by pretending we've seen a backslash. Was: * return ERROR; */ c = '\\'; } if (c == '\\') { c = xxgetc(); CTEXT_PUSH(c); if ('0' <= c && c <= '8') { int octal = c - '0'; if ('0' <= (c = xxgetc()) && c <= '8') { CTEXT_PUSH(c); octal = 8 * octal + c - '0'; if ('0' <= (c = xxgetc()) && c <= '8') { CTEXT_PUSH(c); octal = 8 * octal + c - '0'; } else { xxungetc(c); CTEXT_POP(); } } else { xxungetc(c); CTEXT_POP(); } c = octal; oct_or_hex = TRUE; } else if(c == 'x') { int val = 0; int i, ext; for(i = 0; i < 2; i++) { c = xxgetc(); CTEXT_PUSH(c); if(c >= '0' && c <= '9') ext = c - '0'; else if (c >= 'A' && c <= 'F') ext = c - 'A' + 10; else if (c >= 'a' && c <= 'f') ext = c - 'a' + 10; else { xxungetc(c); CTEXT_POP(); if (i == 0) { /* was just \x */ *ct = '\0'; PROBLEM "'\\x' used without hex digits in character string starting \"%s\"", currtext ERROR; } break; } val = 16*val + ext; } c = val; oct_or_hex = TRUE; } else if(c == 'u') { unsigned int val = 0; int i, ext; Rboolean delim = FALSE; if((c = xxgetc()) == '{') { delim = TRUE; CTEXT_PUSH(c); } else xxungetc(c); for(i = 0; i < 4; i++) { c = xxgetc(); CTEXT_PUSH(c); if(c >= '0' && c <= '9') ext = c - '0'; else if (c >= 'A' && c <= 'F') ext = c - 'A' + 10; else if (c >= 'a' && c <= 'f') ext = c - 'a' + 10; else { xxungetc(c); CTEXT_POP(); if (i == 0) { /* was just \u */ *ct = '\0'; PROBLEM "'\\u' used without hex digits in character string starting \"%s\"", currtext ERROR; } break; } val = 16*val + ext; } if(delim) { if((c = xxgetc()) != '}') { PROBLEM "invalid \\u{xxxx} sequence" ERROR; } else CTEXT_PUSH(c); } WTEXT_PUSH(val); /* this assumes wchar_t is Unicode */ use_wcs = TRUE; continue; } else if(c == 'U') { unsigned int val = 0; int i, ext; Rboolean delim = FALSE; if((c = xxgetc()) == '{') { delim = TRUE; CTEXT_PUSH(c); } else xxungetc(c); for(i = 0; i < 8; i++) { c = xxgetc(); CTEXT_PUSH(c); if(c >= '0' && c <= '9') ext = c - '0'; else if (c >= 'A' && c <= 'F') ext = c - 'A' + 10; else if (c >= 'a' && c <= 'f') ext = c - 'a' + 10; else { xxungetc(c); CTEXT_POP(); if (i == 0) { /* was just \U */ *ct = '\0'; PROBLEM "'\\U' used without hex digits in character string starting \"%s\"", currtext ERROR; } break; } val = 16*val + ext; } if(delim) { if((c = xxgetc()) != '}') { PROBLEM "invalid \\U{xxxxxxxx} sequence" ERROR; } else CTEXT_PUSH(c); } WTEXT_PUSH(val); use_wcs = TRUE; continue; } else { switch (c) { case 'a': c = '\a'; break; case 'b': c = '\b'; break; case 'f': c = '\f'; break; case 'n': c = '\n'; break; case 'r': c = '\r'; break; case 't': c = '\t'; break; case 'v': c = '\v'; break; case '\\': c = '\\'; break; case '"': case '\'': case ' ': case '\n': break; default: *ct = '\0'; PROBLEM "'\\%c' is an unrecognized escape in character string starting \"%s\"", c, currtext ERROR; } } } } STEXT_PUSH(c); if ((unsigned int) c < 0x80) WTEXT_PUSH(c); STEXT_PUSH('\0'); WTEXT_PUSH(0); yylval = mkCharLenCE(wcs, wcnt, CE_UTF8); /* include terminator */ if(stext != st0) free(stext); return(yylval); } SEXP R_checkStringValue() { char str[6]; str[0] = '\\'; str[1] = 'u'; str[2] = '1'; str[3] = '4'; str[4] = '0'; str[5] = '5'; return(StringValue(str, 6)); } RCurl/src/base64.c0000644000176000001440000000302112665243327013356 0ustar ripleyusers#include "Rcurl.h" /* Not available from the curl headers. Are they are not (?) exported in the library on all platforms or do we have to pull the code in here. See the license discussion about this. */ /* Should we work with RAW objects here. */ #include SEXP R_base64_decode(SEXP r_text, SEXP asRaw) { char *text; unsigned char *ans; size_t len; SEXP r_ans; if(TYPEOF(r_text) == STRSXP) text = CHAR(STRING_ELT(r_text, 0)); else { // RAW() is not null-terminated // text = RAW(r_text); len = LENGTH(r_text); text = R_alloc(len+1, 1); text[len] = '\0'; memcpy(text, RAW(r_text), len); } len = R_Curl_base64_decode(text, &ans); if(len < 1) { PROBLEM "decoding from base64 failed" ERROR; } if(INTEGER(asRaw)[0]) { r_ans = allocVector(RAWSXP, len); memcpy(RAW(r_ans), ans, len); } else { r_ans = mkString(ans); } if(ans && len > -1) free(ans); return(r_ans); } SEXP R_base64_encode(SEXP r_text, SEXP asRaw) { const char *text; char *ans; size_t len, n; SEXP r_ans; if(TYPEOF(r_text) == STRSXP) { text = CHAR(STRING_ELT(r_text, 0)); n = strlen(text); } else { text = RAW(r_text); n = Rf_length(r_text); } len = R_Curl_base64_encode(text, n, &ans); if(len == -1) { PROBLEM "failed to encode the data" ERROR; } if(INTEGER(asRaw)[0]) { r_ans = allocVector(RAWSXP, len); memcpy(RAW(r_ans), ans, len); } else { r_ans = mkString(ans); } free(ans); return(r_ans); } RCurl/src/curlInit.c0000644000176000001440000000144112665243327014067 0ustar ripleyusers#include #include "Rcurl.h" #define RegCallFun(a, b) {#a, (DL_FUNC)&a, b} static R_CallMethodDef CallEntries[] = { RegCallFun(R_curl_global_init, 1), RegCallFun(R_curl_global_cleanup, 0), RegCallFun(R_curl_version_info, 1), RegCallFun(R_curl_easy_init, 0), RegCallFun(R_curl_easy_duphandle, 1), RegCallFun(R_curl_easy_reset, 1), RegCallFun(R_curl_easy_perform, 4), RegCallFun(R_curl_easy_setopt, 5), RegCallFun(R_curl_easy_getinfo, 2), RegCallFun(R_curl_escape, 2), RegCallFun(R_post_form, 5), RegCallFun(R_getCURLErrorEnum, 0), RegCallFun(R_getCURLInfoEnum, 0), RegCallFun(R_getCURLOptionEnum, 0), {NULL, NULL, 0} }; void R_init_RCurl(DllInfo *dll) { R_useDynamicSymbols(dll, TRUE); R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); } RCurl/src/curl_base64.c0000644000176000001440000002061012665243327014406 0ustar ripleyusers/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2005, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * * $Id: curl_base64.c 5505 2008-05-07 05:10:27Z duncan $ ***************************************************************************/ /* Base64 encoding/decoding * * Test harnesses down the bottom - compile with -DTEST_ENCODE for * a program that will read in raw data from stdin and write out * a base64-encoded version to stdout, and the length returned by the * encoding function to stderr. Compile with -DTEST_DECODE for a program that * will go the other way. * * This code will break if int is smaller than 32 bits */ /** This was marginally modified by Duncan Temple Lang for use in RCurl by changing the names of the publically accessible routines to have a prefix R. **/ #if 0 #include "setup.h" #endif #include #include #define _MPRINTF_REPLACE /* use our functions only */ #include #if 0 #include "base64.h" #include "memory.h" /* include memdebug.h last */ #include "memdebug.h" #endif #include "Rcurl.h" static void decodeQuantum(unsigned char *dest, const char *src) { unsigned int x = 0; int i; for(i = 0; i < 4; i++) { if(src[i] >= 'A' && src[i] <= 'Z') x = (x << 6) + (unsigned int)(src[i] - 'A' + 0); else if(src[i] >= 'a' && src[i] <= 'z') x = (x << 6) + (unsigned int)(src[i] - 'a' + 26); else if(src[i] >= '0' && src[i] <= '9') x = (x << 6) + (unsigned int)(src[i] - '0' + 52); else if(src[i] == '+') x = (x << 6) + 62; else if(src[i] == '/') x = (x << 6) + 63; else if(src[i] == '=') x = (x << 6); } dest[2] = (unsigned char)(x & 255); x >>= 8; dest[1] = (unsigned char)(x & 255); x >>= 8; dest[0] = (unsigned char)(x & 255); } /* * Curl_base64_decode() * * Given a base64 string at src, decode it and return an allocated memory in * the *outptr. Returns the length of the decoded data. */ size_t R_Curl_base64_decode(const char *src, unsigned char **outptr) { int length = 0; int equalsTerm = 0; int i; int numQuantums; unsigned char lastQuantum[3]; size_t rawlen=0; unsigned char *newstr; *outptr = NULL; while((src[length] != '=') && src[length]) length++; /* A maximum of two = padding characters is allowed */ if(src[length] == '=') { equalsTerm++; if(src[length+equalsTerm] == '=') equalsTerm++; } numQuantums = (length + equalsTerm) / 4; /* Don't allocate a buffer if the decoded length is 0 */ if (numQuantums <= 0) return 0; rawlen = (numQuantums * 3) - equalsTerm; /* The buffer must be large enough to make room for the last quantum (which may be partially thrown out) and the zero terminator. */ newstr = malloc(rawlen+4); if(!newstr) return 0; *outptr = newstr; /* Decode all but the last quantum (which may not decode to a multiple of 3 bytes) */ for(i = 0; i < numQuantums - 1; i++) { decodeQuantum((unsigned char *)newstr, src); newstr += 3; src += 4; } /* This final decode may actually read slightly past the end of the buffer if the input string is missing pad bytes. This will almost always be harmless. */ decodeQuantum(lastQuantum, src); for(i = 0; i < 3 - equalsTerm; i++) newstr[i] = lastQuantum[i]; newstr[i] = 0; /* zero terminate */ return rawlen; } /* ---- Base64 Encoding --- */ static const char table64[]= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; /* * Curl_base64_encode() * * Returns the length of the newly created base64 string. The third argument * is a pointer to an allocated area holding the base64 data. If something * went wrong, -1 is returned. * */ size_t R_Curl_base64_encode(const char *inp, size_t insize, char **outptr) { unsigned char ibuf[3]; unsigned char obuf[4]; int i; int inputparts; char *output; char *base64data; char *indata = (char *)inp; *outptr = NULL; /* set to NULL in case of failure before we reach the end */ if(0 == insize) insize = strlen(indata); // some platforms optimize by reading in multiples of 4, // and valgrind objects. So over-allocate by at least 4. base64data = output = (char*)malloc(insize*4/3+8); if(NULL == output) return 0; while(insize > 0) { for (i = inputparts = 0; i < 3; i++) { if(insize > 0) { inputparts++; ibuf[i] = *indata; indata++; insize--; } else ibuf[i] = 0; } obuf[0] = (unsigned char) ((ibuf[0] & 0xFC) >> 2); obuf[1] = (unsigned char) (((ibuf[0] & 0x03) << 4) | \ ((ibuf[1] & 0xF0) >> 4)); obuf[2] = (unsigned char) (((ibuf[1] & 0x0F) << 2) | \ ((ibuf[2] & 0xC0) >> 6)); obuf[3] = (unsigned char) (ibuf[2] & 0x3F); switch(inputparts) { case 1: /* only one byte read */ snprintf(output, 5, "%c%c==", table64[obuf[0]], table64[obuf[1]]); break; case 2: /* two bytes read */ snprintf(output, 5, "%c%c%c=", table64[obuf[0]], table64[obuf[1]], table64[obuf[2]]); break; default: snprintf(output, 5, "%c%c%c%c", table64[obuf[0]], table64[obuf[1]], table64[obuf[2]], table64[obuf[3]] ); break; } output += 4; } *output=0; *outptr = base64data; /* make it return the actual data memory */ return strlen(base64data); /* return the length of the new data */ } /* ---- End of Base64 Encoding ---- */ /************* TEST HARNESS STUFF ****************/ #ifdef TEST_ENCODE /* encoding test harness. Read in standard input and write out the length * returned by Curl_base64_encode, followed by the base64'd data itself */ #include #define TEST_NEED_SUCK void *suck(int *); int main(int argc, char **argv, char **envp) { char *base64; size_t base64Len; unsigned char *data; int dataLen; data = (unsigned char *)suck(&dataLen); base64Len = Curl_base64_encode(data, dataLen, &base64); fprintf(stderr, "%d\n", base64Len); fprintf(stdout, "%s", base64); free(base64); free(data); return 0; } #endif #ifdef TEST_DECODE /* decoding test harness. Read in a base64 string from stdin and write out the * length returned by Curl_base64_decode, followed by the decoded data itself * * gcc -DTEST_DECODE base64.c -o base64 mprintf.o memdebug.o */ #include #define TEST_NEED_SUCK void *suck(int *); int main(int argc, char **argv, char **envp) { char *base64; int base64Len; unsigned char *data; int dataLen; int i, j; base64 = (char *)suck(&base64Len); data = (unsigned char *)malloc(base64Len * 3/4 + 8); dataLen = Curl_base64_decode(base64, data); fprintf(stderr, "%d\n", dataLen); for(i=0; i < dataLen; i+=0x10) { printf("0x%02x: ", i); for(j=0; j < 0x10; j++) if((j+i) < dataLen) printf("%02x ", data[i+j]); else printf(" "); printf(" | "); for(j=0; j < 0x10; j++) if((j+i) < dataLen) printf("%c", isgraph(data[i+j])?data[i+j]:'.'); else break; puts(""); } free(base64); free(data); return 0; } #endif #ifdef TEST_NEED_SUCK /* this function 'sucks' in as much as possible from stdin */ void *suck(int *lenptr) { int cursize = 8192; unsigned char *buf = NULL; int lastread; int len = 0; do { cursize *= 2; buf = (unsigned char *)realloc(buf, cursize); memset(buf + len, 0, cursize - len); lastread = fread(buf + len, 1, cursize - len, stdin); len += lastread; } while(!feof(stdin)); lenptr[0] = len; return (void *)buf; } #endif RCurl/src/enums.c0000644000176000001440000001173212665243327013431 0ustar ripleyusers#include #include typedef struct { char name[40]; int val; } NameValue; NameValue CurlErrorNames[] = { {"OK", CURLE_OK}, {"UNSUPPORTED_PROTOCOL", CURLE_UNSUPPORTED_PROTOCOL}, {"FAILED_INIT", CURLE_FAILED_INIT}, {"URL_MALFORMAT", CURLE_URL_MALFORMAT}, {"URL_MALFORMAT_USER", CURLE_URL_MALFORMAT_USER}, {"COULDNT_RESOLVE_PROXY", CURLE_COULDNT_RESOLVE_PROXY}, {"COULDNT_RESOLVE_HOST", CURLE_COULDNT_RESOLVE_HOST}, {"COULDNT_CONNECT", CURLE_COULDNT_CONNECT}, {"FTP_WEIRD_SERVER_REPLY", CURLE_FTP_WEIRD_SERVER_REPLY}, {"FTP_ACCESS_DENIED", CURLE_FTP_ACCESS_DENIED}, {"FTP_USER_PASSWORD_INCORRECT", CURLE_FTP_USER_PASSWORD_INCORRECT}, {"FTP_WEIRD_PASS_REPLY", CURLE_FTP_WEIRD_PASS_REPLY}, {"FTP_WEIRD_USER_REPLY", CURLE_FTP_WEIRD_USER_REPLY}, {"FTP_WEIRD_PASV_REPLY", CURLE_FTP_WEIRD_PASV_REPLY}, {"FTP_WEIRD_227_FORMAT", CURLE_FTP_WEIRD_227_FORMAT}, {"FTP_CANT_GET_HOST", CURLE_FTP_CANT_GET_HOST}, {"FTP_CANT_RECONNECT", CURLE_FTP_CANT_RECONNECT}, {"FTP_COULDNT_SET_BINARY", CURLE_FTP_COULDNT_SET_BINARY}, {"PARTIAL_FILE", CURLE_PARTIAL_FILE}, {"FTP_COULDNT_RETR_FILE", CURLE_FTP_COULDNT_RETR_FILE}, {"FTP_WRITE_ERROR", CURLE_FTP_WRITE_ERROR}, {"FTP_QUOTE_ERROR", CURLE_FTP_QUOTE_ERROR}, {"HTTP_RETURNED_ERROR", CURLE_HTTP_RETURNED_ERROR}, {"WRITE_ERROR", CURLE_WRITE_ERROR}, {"MALFORMAT_USER", CURLE_MALFORMAT_USER}, {"FTP_COULDNT_STOR_FILE", CURLE_FTP_COULDNT_STOR_FILE}, {"READ_ERROR", CURLE_READ_ERROR}, {"OUT_OF_MEMORY", CURLE_OUT_OF_MEMORY}, {"OPERATION_TIMEOUTED", CURLE_OPERATION_TIMEOUTED}, {"FTP_COULDNT_SET_ASCII", CURLE_FTP_COULDNT_SET_ASCII}, {"FTP_PORT_FAILED", CURLE_FTP_PORT_FAILED}, {"FTP_COULDNT_USE_REST", CURLE_FTP_COULDNT_USE_REST}, {"FTP_COULDNT_GET_SIZE", CURLE_FTP_COULDNT_GET_SIZE}, {"HTTP_RANGE_ERROR", CURLE_HTTP_RANGE_ERROR}, {"HTTP_POST_ERROR", CURLE_HTTP_POST_ERROR}, {"SSL_CONNECT_ERROR", CURLE_SSL_CONNECT_ERROR}, {"BAD_DOWNLOAD_RESUME", CURLE_BAD_DOWNLOAD_RESUME}, {"FILE_COULDNT_READ_FILE", CURLE_FILE_COULDNT_READ_FILE}, {"LDAP_CANNOT_BIND", CURLE_LDAP_CANNOT_BIND}, {"LDAP_SEARCH_FAILED", CURLE_LDAP_SEARCH_FAILED}, {"LIBRARY_NOT_FOUND", CURLE_LIBRARY_NOT_FOUND}, {"FUNCTION_NOT_FOUND", CURLE_FUNCTION_NOT_FOUND}, {"ABORTED_BY_CALLBACK", CURLE_ABORTED_BY_CALLBACK}, {"BAD_FUNCTION_ARGUMENT", CURLE_BAD_FUNCTION_ARGUMENT}, {"BAD_CALLING_ORDER", CURLE_BAD_CALLING_ORDER}, {"INTERFACE_FAILED", CURLE_HTTP_PORT_FAILED/*This is really CURLE_INTERFACE_FAILED in the newer versions. */}, {"BAD_PASSWORD_ENTERED", CURLE_BAD_PASSWORD_ENTERED}, {"TOO_MANY_REDIRECTS ", CURLE_TOO_MANY_REDIRECTS }, {"UNKNOWN_TELNET_OPTION", CURLE_UNKNOWN_TELNET_OPTION}, {"TELNET_OPTION_SYNTAX ", CURLE_TELNET_OPTION_SYNTAX }, {"OBSOLETE", CURLE_OBSOLETE}, {"SSL_PEER_CERTIFICATE", CURLE_SSL_PEER_CERTIFICATE}, {"GOT_NOTHING", CURLE_GOT_NOTHING}, {"SSL_ENGINE_NOTFOUND", CURLE_SSL_ENGINE_NOTFOUND}, {"SSL_ENGINE_SETFAILED", CURLE_SSL_ENGINE_SETFAILED}, {"SEND_ERROR", CURLE_SEND_ERROR}, {"RECV_ERROR", CURLE_RECV_ERROR}, {"SHARE_IN_USE", CURLE_SHARE_IN_USE}, {"SSL_CERTPROBLEM", CURLE_SSL_CERTPROBLEM}, {"SSL_CIPHER", CURLE_SSL_CIPHER}, {"SSL_CACERT", CURLE_SSL_CACERT}, {"BAD_CONTENT_ENCODING", CURLE_BAD_CONTENT_ENCODING}, {"LDAP_INVALID_URL", CURLE_LDAP_INVALID_URL}, {"FILESIZE_EXCEEDED", CURLE_FILESIZE_EXCEEDED}, {"FTP_SSL_FAILED", CURLE_FTP_SSL_FAILED} }; #include "CurlOptEnums.h" #include "CurlInfoEnums.h" SEXP createNamedEnum(NameValue *Els, int n) { int i; SEXP ans, names; PROTECT(ans = allocVector(INTSXP, n)); PROTECT(names = allocVector(STRSXP, n)); for(i = 0; i < n ; i++) { INTEGER(ans)[i] = Els[i].val; SET_STRING_ELT(names, i, mkChar(Els[i].name)); } SET_NAMES(ans, names); UNPROTECT(2); return(ans); } SEXP R_getCURLOptionEnum(void) { return(createNamedEnum(CurlOptionNames, sizeof(CurlOptionNames)/sizeof(CurlOptionNames[0]))); } SEXP R_getCURLInfoEnum(void) { return(createNamedEnum(CurlInfoNames, sizeof(CurlInfoNames)/sizeof(CurlInfoNames[0]))); } SEXP R_getCURLErrorEnum(void) { return(createNamedEnum(CurlErrorNames, sizeof(CurlErrorNames)/sizeof(CurlErrorNames[0]))); } RCurl/src/CurlOptEnums.h0000644000176000001440000002306212665243327014706 0ustar ripleyusers#ifdef CINIT #undef CINIT #endif #define CINIT(a,b,c) {#a, CURLOPT_##a} NameValue CurlOptionNames[] = { #if 1 #include "CURLOptTable.h" #else CINIT(FILE, OBJECTPOINT, 1), CINIT(URL, OBJECTPOINT, 2), CINIT(PORT, LONG, 3), CINIT(PROXY, OBJECTPOINT, 4), CINIT(USERPWD, OBJECTPOINT, 5), CINIT(PROXYUSERPWD, OBJECTPOINT, 6), CINIT(RANGE, OBJECTPOINT, 7), CINIT(INFILE, OBJECTPOINT, 9), CINIT(ERRORBUFFER, OBJECTPOINT, 10), CINIT(WRITEFUNCTION, FUNCTIONPOINT, 11), CINIT(READFUNCTION, FUNCTIONPOINT, 12), CINIT(TIMEOUT, LONG, 13), CINIT(INFILESIZE, LONG, 14), CINIT(POSTFIELDS, OBJECTPOINT, 15), CINIT(REFERER, OBJECTPOINT, 16), CINIT(FTPPORT, OBJECTPOINT, 17), CINIT(USERAGENT, OBJECTPOINT, 18), CINIT(LOW_SPEED_LIMIT, LONG , 19), CINIT(LOW_SPEED_TIME, LONG, 20), CINIT(RESUME_FROM, LONG, 21), CINIT(COOKIE, OBJECTPOINT, 22), CINIT(HTTPHEADER, OBJECTPOINT, 23), CINIT(HTTPPOST, OBJECTPOINT, 24), CINIT(SSLCERT, OBJECTPOINT, 25), CINIT(SSLCERTPASSWD, OBJECTPOINT, 26), CINIT(SSLKEYPASSWD, OBJECTPOINT, 26), CINIT(CRLF, LONG, 27), CINIT(QUOTE, OBJECTPOINT, 28), CINIT(WRITEHEADER, OBJECTPOINT, 29), CINIT(COOKIEFILE, OBJECTPOINT, 31), CINIT(SSLVERSION, LONG, 32), CINIT(TIMECONDITION, LONG, 33), CINIT(TIMEVALUE, LONG, 34), CINIT(CUSTOMREQUEST, OBJECTPOINT, 36), CINIT(STDERR, OBJECTPOINT, 37), CINIT(POSTQUOTE, OBJECTPOINT, 39), CINIT(WRITEINFO, OBJECTPOINT, 40), CINIT(VERBOSE, LONG, 41), /* talk a lot */ CINIT(HEADER, LONG, 42), /* throw the header out too */ CINIT(NOPROGRESS, LONG, 43), /* shut off the progress meter */ CINIT(NOBODY, LONG, 44), /* use HEAD to get http document */ CINIT(FAILONERROR, LONG, 45), /* no output on http error codes >= 300 */ CINIT(UPLOAD, LONG, 46), /* this is an upload */ CINIT(POST, LONG, 47), /* HTTP POST method */ CINIT(FTPLISTONLY, LONG, 48), /* Use NLST when listing ftp dir */ CINIT(FTPAPPEND, LONG, 50), /* Append instead of overwrite on upload! */ CINIT(NETRC, LONG, 51), CINIT(FOLLOWLOCATION, LONG, 52), /* use Location: Luke! */ CINIT(TRANSFERTEXT, LONG, 53), /* transfer data in text/ASCII format */ CINIT(PUT, LONG, 54), /* PUT the input file */ CINIT(PROGRESSFUNCTION, FUNCTIONPOINT, 56), CINIT(PROGRESSDATA, OBJECTPOINT, 57), CINIT(AUTOREFERER, LONG, 58), CINIT(PROXYPORT, LONG, 59), CINIT(POSTFIELDSIZE, LONG, 60), CINIT(HTTPPROXYTUNNEL, LONG, 61), CINIT(INTERFACE, OBJECTPOINT, 62), CINIT(KRB4LEVEL, OBJECTPOINT, 63), CINIT(SSL_VERIFYPEER, LONG, 64), CINIT(CAINFO, OBJECTPOINT, 65), CINIT(MAXREDIRS, LONG, 68), CINIT(FILETIME, OBJECTPOINT, 69), CINIT(TELNETOPTIONS, OBJECTPOINT, 70), CINIT(MAXCONNECTS, LONG, 71), CINIT(CLOSEPOLICY, LONG, 72), CINIT(FRESH_CONNECT, LONG, 74), /* Set to explicitly forbid the upcoming transfer's connection to be re-used when done. Do not use this unless you're absolutely sure of this, as it makes the operation slower and is less friendly for the network. */ CINIT(FORBID_REUSE, LONG, 75), /* Set to a file name that contains random data for libcurl to use to seed the random engine when doing SSL connects. */ CINIT(RANDOM_FILE, OBJECTPOINT, 76), /* Set to the Entropy Gathering Daemon socket pathname */ CINIT(EGDSOCKET, OBJECTPOINT, 77), /* Time-out connect operations after this amount of seconds, if connects are OK within this time, then fine... This only aborts the connect phase. [Only works on unix-style/SIGALRM operating systems] */ CINIT(CONNECTTIMEOUT, LONG, 78), /* Function that will be called to store headers (instead of fwrite). The * parameters will use fwrite() syntax, make sure to follow them. */ CINIT(HEADERFUNCTION, FUNCTIONPOINT, 79), /* Set this to force the HTTP request to get back to GET. Only really usable if POST, PUT or a custom request have been used first. */ CINIT(HTTPGET, LONG, 80), /* Set if we should verify the Common name from the peer certificate in ssl * handshake, set 1 to check existence, 2 to ensure that it matches the * provided hostname. */ CINIT(SSL_VERIFYHOST, LONG, 81), /* Specify which file name to write all known cookies in after completed operation. Set file name to "-" (dash) to make it go to stdout. */ CINIT(COOKIEJAR, OBJECTPOINT, 82), /* Specify which SSL ciphers to use */ CINIT(SSL_CIPHER_LIST, OBJECTPOINT, 83), /* Specify which HTTP version to use! This must be set to one of the CURL_HTTP_VERSION* enums set below. */ CINIT(HTTP_VERSION, LONG, 84), /* Specificly switch on or off the FTP engine's use of the EPSV command. By default, that one will always be attempted before the more traditional PASV command. */ CINIT(FTP_USE_EPSV, LONG, 85), /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") */ CINIT(SSLCERTTYPE, OBJECTPOINT, 86), /* name of the file keeping your private SSL-key */ CINIT(SSLKEY, OBJECTPOINT, 87), /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") */ CINIT(SSLKEYTYPE, OBJECTPOINT, 88), /* crypto engine for the SSL-sub system */ CINIT(SSLENGINE, OBJECTPOINT, 89), /* set the crypto engine for the SSL-sub system as default the param has no meaning... */ CINIT(SSLENGINE_DEFAULT, LONG, 90), /* Non-zero value means to use the global dns cache */ CINIT(DNS_USE_GLOBAL_CACHE, LONG, 91), /* To become OBSOLETE soon */ /* DNS cache timeout */ CINIT(DNS_CACHE_TIMEOUT, LONG, 92), /* send linked-list of pre-transfer QUOTE commands (Wesley Laxton)*/ CINIT(PREQUOTE, OBJECTPOINT, 93), /* set the debug function */ CINIT(DEBUGFUNCTION, FUNCTIONPOINT, 94), /* set the data for the debug function */ CINIT(DEBUGDATA, OBJECTPOINT, 95), /* mark this as start of a cookie session */ CINIT(COOKIESESSION, LONG, 96), /* The CApath directory used to validate the peer certificate this option is used only if SSL_VERIFYPEER is true */ CINIT(CAPATH, OBJECTPOINT, 97), /* Instruct libcurl to use a smaller receive buffer */ CINIT(BUFFERSIZE, LONG, 98), /* Instruct libcurl to not use any signal/alarm handlers, even when using timeouts. This option is useful for multi-threaded applications. See libcurl-the-guide for more background information. */ CINIT(NOSIGNAL, LONG, 99), /* Provide a CURLShare for mutexing non-ts data */ CINIT(SHARE, OBJECTPOINT, 100), /* indicates type of proxy. accepted values are CURLPROXY_HTTP (default), CURLPROXY_SOCKS4 and CURLPROXY_SOCKS5. */ CINIT(PROXYTYPE, LONG, 101), /* Set the Accept-Encoding string. Use this to tell a server you would like the response to be compressed. */ CINIT(ENCODING, OBJECTPOINT, 102), /* Set pointer to private data */ CINIT(PRIVATE, OBJECTPOINT, 103), /* Set aliases for HTTP 200 in the HTTP Response header */ CINIT(HTTP200ALIASES, OBJECTPOINT, 104), /* Continue to send authentication (user+password) when following locations, even when hostname changed. This can potentionally send off the name and password to whatever host the server decides. */ CINIT(UNRESTRICTED_AUTH, LONG, 105), /* Specificly switch on or off the FTP engine's use of the EPRT command ( it also disables the LPRT attempt). By default, those ones will always be attempted before the good old traditional PORT command. */ CINIT(FTP_USE_EPRT, LONG, 106), /* Set this to a bitmask value to enable the particular authentications methods you like. Use this in combination with CURLOPT_USERPWD. Note that setting multiple bits may cause extra network round-trips. */ CINIT(HTTPAUTH, LONG, 107), /* Set the ssl context callback function, currently only for OpenSSL ssl_ctx in second argument. The function must be matching the curl_ssl_ctx_callback proto. */ CINIT(SSL_CTX_FUNCTION, FUNCTIONPOINT, 108), /* Set the userdata for the ssl context callback function's third argument */ CINIT(SSL_CTX_DATA, OBJECTPOINT, 109), /* FTP Option that causes missing dirs to be created on the remote server */ CINIT(FTP_CREATE_MISSING_DIRS, LONG, 110), /* Set this to a bitmask value to enable the particular authentications methods you like. Use this in combination with CURLOPT_PROXYUSERPWD. Note that setting multiple bits may cause extra network round-trips. */ CINIT(PROXYAUTH, LONG, 111), /* FTP option that changes the timeout, in seconds, associated with getting a response. This is different from transfer timeout time and essentially places a demand on the FTP server to acknowledge commands in a timely manner. */ CINIT(FTP_RESPONSE_TIMEOUT, LONG , 112), /* Set this option to one of the CURL_IPRESOLVE_* defines (see below) to tell libcurl to resolve names to those IP versions only. This only has affect on systems with support for more than one, i.e IPv4 _and_ IPv6. */ CINIT(IPRESOLVE, LONG, 113), /* Set this option to limit the size of a file that will be downloaded from an HTTP or FTP server. Note there is also _LARGE version which adds large file support for platforms which have larger off_t sizes. See MAXFILESIZE_LARGE below. */ CINIT(MAXFILESIZE, LONG, 114), CINIT(INFILESIZE_LARGE, OFF_T, 115), CINIT(RESUME_FROM_LARGE, OFF_T, 116), CINIT(MAXFILESIZE_LARGE, OFF_T, 117), CINIT(NETRC_FILE, OBJECTPOINT, 118), CINIT(FTP_SSL, LONG, 119), CINIT(POSTFIELDSIZE_LARGE, OFF_T, 120), CINIT(TCP_NODELAY, LONG, 121), /* Collect certificate chain info and allow it to get retrievable with CURLINFO_CERTINFO after the transfer is complete. (Unfortunately) only working with OpenSSL-powered builds. */ CINIT(CERTINFO, LONG, 172), #endif }; RCurl/src/memoryManagement.c0000644000176000001440000001017712665243327015611 0ustar ripleyusers#include "Rcurl.h" #include CURLOptionMemoryManager *OptionMemoryManager = NULL; #ifdef RCURL_DEBUG_MEMORY struct { int handleCount; int ticketAddCount; int ticketReleaseCount; } RCurlMemoryDiagnostics; #endif RCurlMemory * RCurl_addMemoryAllocation(CURLoption opt, const void *data, CURL *curl) { RCurlMemory *el; el = (RCurlMemory *) malloc(sizeof(RCurlMemory)); if(!el) { PROBLEM "Can't allocate space for RCurlMemory structure." ERROR; } el->data = data; el->option = opt; el->type = VOID_TYPE; el->curl = curl; el->next = NULL; RCurl_addMemoryTicket(el); return(el); } CURLOptionMemoryManager * RCurl_addMemoryTicket(RCurlMemory *el) { CURLOptionMemoryManager *ptr; ptr = RCurl_getMemoryManager(el->curl); if(!ptr) { ptr = (CURLOptionMemoryManager *) malloc(sizeof(CURLOptionMemoryManager)); ptr->curl = el->curl; ptr->top = NULL; ptr->last = NULL; ptr->next = OptionMemoryManager; OptionMemoryManager = ptr; if(ptr->next) ptr->next->last = ptr; #ifdef RCURL_DEBUG_MEMORY ptr->numTickets = 0; RCurlMemoryDiagnostics.handleCount++; fprintf(stderr, "Adding CURL table: %p\n", el->curl);fflush(stderr); #endif } el->next = ptr->top; ptr->top = el; #ifdef RCURL_DEBUG_MEMORY RCurlMemoryDiagnostics.ticketAddCount++; ptr->numTickets++; fprintf(stderr, "Adding ticket for %p (%p)\n", el->curl, el->data);fflush(stderr); #endif return(ptr); } CURLOptionMemoryManager* RCurl_getMemoryManager(CURL *curl) { CURLOptionMemoryManager *ptr; ptr = OptionMemoryManager; while(ptr) { if(ptr->curl == curl) { break; } ptr = ptr->next; } return(ptr); } void RCurl_releaseMemoryTickets(CURL *curl) { RCurl_releaseManagerMemoryTickets( RCurl_getMemoryManager(curl) ); } void RCurl_releaseManagerMemoryTickets(CURLOptionMemoryManager *mgr) { RCurlMemory *ptr, *tmp; #ifdef RCURL_DEBUG_MEMORY int ctr = 0; #endif if(!mgr) { #if 0 /* This is okay as we may not have needed to protected it. */ PROBLEM "CURL object (%p) that is not handled in the RCurl memory management system.", (void*)curl WARN; #endif return; } #ifdef RCURL_DEBUG_MEMORY fprintf(stderr, "Releasing CURL data: %p, # tickets = %d\n", curl, mgr->numTickets);fflush(stderr); #endif ptr = mgr->top; while(ptr) { tmp = ptr->next; if(ptr->option == CURLOPT_HTTPHEADER) { /* */ #ifdef RCURL_DEBUG_MEMORY fprintf(stderr, "Releasing HTTPHEADER list %p\n", ptr->data);fflush(stderr); #endif curl_slist_free_all((struct curl_slist *) ptr->data); } else if(ptr->option == CURLOPT_HTTPPOST) { /* */ #ifdef RCURL_DEBUG_MEMORY fprintf(stderr, "Releasing HTTPPOST struct %p\n", ptr->data);fflush(stderr); #endif curl_formfree((struct curl_httppost *) ptr->data); } else if(ptr->option > CURLOPTTYPE_FUNCTIONPOINT && ptr->option < CURLOPTTYPE_OFF_T) { /* Leak here. We Preserved the R function, but if we unpreserve it, others may lose it also. */ } else if(ptr->type == R_OBJECT) { R_ReleaseObject((SEXP) ptr->data); } else free((void *) ptr->data); free(ptr); ptr = tmp; #ifdef RCURL_DEBUG_MEMORY mgr->numTickets--; RCurlMemoryDiagnostics.ticketReleaseCount++; ctr++; #endif } if(mgr == OptionMemoryManager) { /* head of the linked list so move global pointer to the next one. */ OptionMemoryManager = OptionMemoryManager->next; if(OptionMemoryManager) OptionMemoryManager->last = NULL; } else { /* Connect the one on the left and the right. */ if(mgr->next) mgr->next->last = mgr->last; if(mgr->last) mgr->last->next = mgr->next; } #ifdef RCURL_DEBUG_MEMORY fprintf(stderr, "Release %d items for %p (%d left)\n", ctr, curl, mgr->numTickets);fflush(stderr); #endif free(mgr); } #ifdef RCURL_DEBUG_MEMORY void Rcurl_showMemoryDebug(void) { fprintf(stderr,"# CURL handles %d\n# tickets %d\n# tickets released %d\n", RCurlMemoryDiagnostics.handleCount, RCurlMemoryDiagnostics.ticketAddCount, RCurlMemoryDiagnostics.ticketReleaseCount); fflush(stderr); } #endif RCurl/src/CURLINFOTable.h0000644000176000001440000000444612665243327014504 0ustar ripleyusers#ifdef HAVE_CURLINFO_EFFECTIVE_URL CURLINFO(EFFECTIVE_URL), #endif #ifdef HAVE_CURLINFO_RESPONSE_CODE CURLINFO(RESPONSE_CODE), #endif #ifdef HAVE_CURLINFO_TOTAL_TIME CURLINFO(TOTAL_TIME), #endif #ifdef HAVE_CURLINFO_NAMELOOKUP_TIME CURLINFO(NAMELOOKUP_TIME), #endif #ifdef HAVE_CURLINFO_CONNECT_TIME CURLINFO(CONNECT_TIME), #endif #ifdef HAVE_CURLINFO_PRETRANSFER_TIME CURLINFO(PRETRANSFER_TIME), #endif #ifdef HAVE_CURLINFO_SIZE_UPLOAD CURLINFO(SIZE_UPLOAD), #endif #ifdef HAVE_CURLINFO_SIZE_DOWNLOAD CURLINFO(SIZE_DOWNLOAD), #endif #ifdef HAVE_CURLINFO_SPEED_DOWNLOAD CURLINFO(SPEED_DOWNLOAD), #endif #ifdef HAVE_CURLINFO_SPEED_UPLOAD CURLINFO(SPEED_UPLOAD), #endif #ifdef HAVE_CURLINFO_HEADER_SIZE CURLINFO(HEADER_SIZE), #endif #ifdef HAVE_CURLINFO_REQUEST_SIZE CURLINFO(REQUEST_SIZE), #endif #ifdef HAVE_CURLINFO_SSL_VERIFYRESULT CURLINFO(SSL_VERIFYRESULT), #endif #ifdef HAVE_CURLINFO_FILETIME CURLINFO(FILETIME), #endif #ifdef HAVE_CURLINFO_CONTENT_LENGTH_DOWNLOAD CURLINFO(CONTENT_LENGTH_DOWNLOAD), #endif #ifdef HAVE_CURLINFO_CONTENT_LENGTH_UPLOAD CURLINFO(CONTENT_LENGTH_UPLOAD), #endif #ifdef HAVE_CURLINFO_STARTTRANSFER_TIME CURLINFO(STARTTRANSFER_TIME), #endif #ifdef HAVE_CURLINFO_CONTENT_TYPE CURLINFO(CONTENT_TYPE), #endif #ifdef HAVE_CURLINFO_REDIRECT_TIME CURLINFO(REDIRECT_TIME), #endif #ifdef HAVE_CURLINFO_REDIRECT_COUNT CURLINFO(REDIRECT_COUNT), #endif #ifdef HAVE_CURLINFO_PRIVATE CURLINFO(PRIVATE), #endif #ifdef HAVE_CURLINFO_HTTP_CONNECTCODE CURLINFO(HTTP_CONNECTCODE), #endif #ifdef HAVE_CURLINFO_HTTPAUTH_AVAIL CURLINFO(HTTPAUTH_AVAIL), #endif #ifdef HAVE_CURLINFO_PROXYAUTH_AVAIL CURLINFO(PROXYAUTH_AVAIL), #endif #ifdef HAVE_CURLINFO_OS_ERRNO CURLINFO(OS_ERRNO), #endif #ifdef HAVE_CURLINFO_NUM_CONNECTS CURLINFO(NUM_CONNECTS), #endif #ifdef HAVE_CURLINFO_SSL_ENGINES CURLINFO(SSL_ENGINES), #endif #ifdef HAVE_CURLINFO_COOKIELIST CURLINFO(COOKIELIST), #endif #ifdef HAVE_CURLINFO_LASTSOCKET CURLINFO(LASTSOCKET), #endif #ifdef HAVE_CURLINFO_FTP_ENTRY_PATH CURLINFO(FTP_ENTRY_PATH), #endif #ifdef HAVE_CURLINFO_REDIRECT_URL CURLINFO(REDIRECT_URL), #endif #ifdef HAVE_CURLINFO_PRIMARY_IP CURLINFO(PRIMARY_IP), #endif #ifdef HAVE_CURLINFO_APPCONNECT_TIME CURLINFO(APPCONNECT_TIME), #endif #ifdef HAVE_CURLINFO_CERTINFO CURLINFO(CERTINFO), #endif #ifdef HAVE_CURLINFO_CONDITION_UNMET CURLINFO(CONDITION_UNMET) #endif RCurl/src/Makevars.in0000644000176000001440000000055512665243327014240 0ustar ripleyusersCURL_CONFIG=@CURL_CONFIG@ # CURL_CFLAGS=$(shell $(CURL_CONFIG) --cflags) # CURL_LIBS=$(shell $(CURL_CONFIG) --libs) CURL_CFLAGS=@CURL_CFLAGS@ CURL_LIBS=@CURL_LIBS@ # -DRCURL_DEBUG_MEMORY DEFINES=@DEFINES@ PKG_CPPFLAGS=$(CURL_CFLAGS) $(DEFINES) $(shell xml2-config --cflags) PKG_LIBS=$(CURL_LIBS) $(shell xml2-config --libs) # enums.o: enums.c CurlOptEnums.h RCurl/src/CURLOptTable.h0000644000176000001440000002234512665243327014511 0ustar ripleyusers CINIT(FILE, OBJECTPOINT, 1), CINIT(URL, OBJECTPOINT, 2), CINIT(PORT, LONG, 3), CINIT(PROXY, OBJECTPOINT, 4), CINIT(USERPWD, OBJECTPOINT, 5), CINIT(PROXYUSERPWD, OBJECTPOINT, 6), CINIT(RANGE, OBJECTPOINT, 7), CINIT(INFILE, OBJECTPOINT, 9), CINIT(ERRORBUFFER, OBJECTPOINT, 10), CINIT(WRITEFUNCTION, FUNCTIONPOINT, 11), CINIT(READFUNCTION, FUNCTIONPOINT, 12), CINIT(TIMEOUT, LONG, 13), CINIT(INFILESIZE, LONG, 14), CINIT(POSTFIELDS, OBJECTPOINT, 15), CINIT(REFERER, OBJECTPOINT, 16), CINIT(FTPPORT, OBJECTPOINT, 17), CINIT(USERAGENT, OBJECTPOINT, 18), CINIT(LOW_SPEED_LIMIT, LONG, 19), CINIT(LOW_SPEED_TIME, LONG, 20), CINIT(RESUME_FROM, LONG, 21), CINIT(COOKIE, OBJECTPOINT, 22), CINIT(HTTPHEADER, OBJECTPOINT, 23), CINIT(HTTPPOST, OBJECTPOINT, 24), CINIT(SSLCERT, OBJECTPOINT, 25), #ifdef HAVE_CURLOPT_KEYPASSWD CINIT(KEYPASSWD, OBJECTPOINT, 26), #endif CINIT(CRLF, LONG, 27), CINIT(QUOTE, OBJECTPOINT, 28), CINIT(WRITEHEADER, OBJECTPOINT, 29), CINIT(COOKIEFILE, OBJECTPOINT, 31), CINIT(SSLVERSION, LONG, 32), CINIT(TIMECONDITION, LONG, 33), CINIT(TIMEVALUE, LONG, 34), CINIT(CUSTOMREQUEST, OBJECTPOINT, 36), CINIT(STDERR, OBJECTPOINT, 37), CINIT(POSTQUOTE, OBJECTPOINT, 39), CINIT(WRITEINFO, OBJECTPOINT, 40), CINIT(VERBOSE, LONG, 41), /* talk a lot */ CINIT(HEADER, LONG, 42), /* throw the header out too */ CINIT(NOPROGRESS, LONG, 43), /* shut off the progress meter */ CINIT(NOBODY, LONG, 44), /* use HEAD to get http document */ CINIT(FAILONERROR, LONG, 45), /* no output on http error codes >= 300 */ CINIT(UPLOAD, LONG, 46), /* this is an upload */ CINIT(POST, LONG, 47), /* HTTP POST method */ #ifdef HAVE_CURLOPT_DIRLISTONLY CINIT(DIRLISTONLY, LONG, 48), /* return bare names when listing directories */ #endif #ifdef HAVE_CURLOPT_APPEND CINIT(APPEND, LONG, 50), /* Append instead of overwrite on upload! */ #endif CINIT(NETRC, LONG, 51), CINIT(FOLLOWLOCATION, LONG, 52), /* use Location: Luke! */ CINIT(TRANSFERTEXT, LONG, 53), /* transfer data in text/ASCII format */ CINIT(PUT, LONG, 54), /* HTTP PUT */ CINIT(PROGRESSFUNCTION, FUNCTIONPOINT, 56), CINIT(PROGRESSDATA, OBJECTPOINT, 57), CINIT(AUTOREFERER, LONG, 58), CINIT(PROXYPORT, LONG, 59), CINIT(POSTFIELDSIZE, LONG, 60), CINIT(HTTPPROXYTUNNEL, LONG, 61), CINIT(INTERFACE, OBJECTPOINT, 62), #ifdef HAVE_CURLOPT_KRBLEVEL CINIT(KRBLEVEL, OBJECTPOINT, 63), #endif CINIT(SSL_VERIFYPEER, LONG, 64), CINIT(CAINFO, OBJECTPOINT, 65), CINIT(MAXREDIRS, LONG, 68), CINIT(FILETIME, LONG, 69), CINIT(TELNETOPTIONS, OBJECTPOINT, 70), CINIT(MAXCONNECTS, LONG, 71), CINIT(CLOSEPOLICY, LONG, 72), CINIT(FRESH_CONNECT, LONG, 74), CINIT(FORBID_REUSE, LONG, 75), CINIT(RANDOM_FILE, OBJECTPOINT, 76), CINIT(EGDSOCKET, OBJECTPOINT, 77), CINIT(CONNECTTIMEOUT, LONG, 78), CINIT(HEADERFUNCTION, FUNCTIONPOINT, 79), CINIT(HTTPGET, LONG, 80), CINIT(SSL_VERIFYHOST, LONG, 81), CINIT(COOKIEJAR, OBJECTPOINT, 82), CINIT(SSL_CIPHER_LIST, OBJECTPOINT, 83), CINIT(HTTP_VERSION, LONG, 84), CINIT(FTP_USE_EPSV, LONG, 85), CINIT(SSLCERTTYPE, OBJECTPOINT, 86), CINIT(SSLKEY, OBJECTPOINT, 87), CINIT(SSLKEYTYPE, OBJECTPOINT, 88), CINIT(SSLENGINE, OBJECTPOINT, 89), CINIT(SSLENGINE_DEFAULT, LONG, 90), CINIT(DNS_USE_GLOBAL_CACHE, LONG, 91), /* To become OBSOLETE soon */ CINIT(DNS_CACHE_TIMEOUT, LONG, 92), CINIT(PREQUOTE, OBJECTPOINT, 93), CINIT(DEBUGFUNCTION, FUNCTIONPOINT, 94), CINIT(DEBUGDATA, OBJECTPOINT, 95), CINIT(COOKIESESSION, LONG, 96), CINIT(CAPATH, OBJECTPOINT, 97), CINIT(BUFFERSIZE, LONG, 98), CINIT(NOSIGNAL, LONG, 99), CINIT(SHARE, OBJECTPOINT, 100), CINIT(PROXYTYPE, LONG, 101), CINIT(ENCODING, OBJECTPOINT, 102), CINIT(PRIVATE, OBJECTPOINT, 103), CINIT(HTTP200ALIASES, OBJECTPOINT, 104), CINIT(UNRESTRICTED_AUTH, LONG, 105), CINIT(FTP_USE_EPRT, LONG, 106), CINIT(HTTPAUTH, LONG, 107), CINIT(SSL_CTX_FUNCTION, FUNCTIONPOINT, 108), CINIT(SSL_CTX_DATA, OBJECTPOINT, 109), CINIT(FTP_CREATE_MISSING_DIRS, LONG, 110), CINIT(PROXYAUTH, LONG, 111), CINIT(FTP_RESPONSE_TIMEOUT, LONG, 112), CINIT(IPRESOLVE, LONG, 113), CINIT(MAXFILESIZE, LONG, 114), CINIT(INFILESIZE_LARGE, OFF_T, 115), CINIT(RESUME_FROM_LARGE, OFF_T, 116), CINIT(MAXFILESIZE_LARGE, OFF_T, 117), CINIT(NETRC_FILE, OBJECTPOINT, 118), #ifdef HAVE_CURLOPT_USE_SSL CINIT(USE_SSL, LONG, 119), #endif CINIT(POSTFIELDSIZE_LARGE, OFF_T, 120), CINIT(TCP_NODELAY, LONG, 121), CINIT(FTPSSLAUTH, LONG, 129), CINIT(IOCTLFUNCTION, FUNCTIONPOINT, 130), CINIT(IOCTLDATA, OBJECTPOINT, 131), CINIT(FTP_ACCOUNT, OBJECTPOINT, 134), #ifdef HAVE_CURLOPT_COOKIELIST CINIT(COOKIELIST, OBJECTPOINT, 135), #endif #ifdef HAVE_CURLOPT_IGNORE_CONTENT_LENGTH CINIT(IGNORE_CONTENT_LENGTH, LONG, 136), #endif #ifdef HAVE_CURLOPT_FTP_SKIP_PASV_IP CINIT(FTP_SKIP_PASV_IP, LONG, 137), #endif #ifdef HAVE_CURLOPT_FTP_FILEMETHOD CINIT(FTP_FILEMETHOD, LONG, 138), #endif #ifdef HAVE_CURLOPT_LOCALPORT CINIT(LOCALPORT, LONG, 139), #endif #ifdef HAVE_CURLOPT_LOCALPORTRANGE CINIT(LOCALPORTRANGE, LONG, 140), #endif #ifdef HAVE_CURLOPT_CONNECT_ONLY CINIT(CONNECT_ONLY, LONG, 141), #endif #ifdef HAVE_CURLOPT_CONV_FROM_NETWORK_FUNCTION CINIT(CONV_FROM_NETWORK_FUNCTION, FUNCTIONPOINT, 142), #endif #ifdef HAVE_CURLOPT_CONV_TO_NETWORK_FUNCTION CINIT(CONV_TO_NETWORK_FUNCTION, FUNCTIONPOINT, 143), #endif #ifdef HAVE_CURLOPT_CONV_FROM_UTF8_FUNCTION CINIT(CONV_FROM_UTF8_FUNCTION, FUNCTIONPOINT, 144), #endif #ifdef HAVE_CURLOPT_MAX_SEND_SPEED_LARGE CINIT(MAX_SEND_SPEED_LARGE, OFF_T, 145), #endif #ifdef HAVE_CURLOPT_MAX_RECV_SPEED_LARGE CINIT(MAX_RECV_SPEED_LARGE, OFF_T, 146), #endif #ifdef HAVE_CURLOPT_FTP_ALTERNATIVE_TO_USER CINIT(FTP_ALTERNATIVE_TO_USER, OBJECTPOINT, 147), #endif #ifdef HAVE_CURLOPT_SOCKOPTFUNCTION CINIT(SOCKOPTFUNCTION, FUNCTIONPOINT, 148), #endif #ifdef HAVE_CURLOPT_SOCKOPTDATA CINIT(SOCKOPTDATA, OBJECTPOINT, 149), #endif #ifdef HAVE_CURLOPT_SSL_SESSIONID_CACHE CINIT(SSL_SESSIONID_CACHE, LONG, 150), #endif #ifdef HAVE_CURLOPT_SSH_AUTH_TYPES CINIT(SSH_AUTH_TYPES, LONG, 151), #endif #ifdef HAVE_CURLOPT_SSH_PUBLIC_KEYFILE CINIT(SSH_PUBLIC_KEYFILE, OBJECTPOINT, 152), #endif #ifdef HAVE_CURLOPT_SSH_PRIVATE_KEYFILE CINIT(SSH_PRIVATE_KEYFILE, OBJECTPOINT, 153), #endif #ifdef HAVE_CURLOPT_FTP_SSL_CCC CINIT(FTP_SSL_CCC, LONG, 154), #endif #ifdef HAVE_CURLOPT_TIMEOUT_MS CINIT(TIMEOUT_MS, LONG, 155), #endif #ifdef HAVE_CURLOPT_CONNECTTIMEOUT_MS CINIT(CONNECTTIMEOUT_MS, LONG, 156), #endif #ifdef HAVE_CURLOPT_HTTP_TRANSFER_DECODING CINIT(HTTP_TRANSFER_DECODING, LONG, 157), #endif #ifdef HAVE_CURLOPT_HTTP_CONTENT_DECODING CINIT(HTTP_CONTENT_DECODING, LONG, 158), #endif #ifdef HAVE_CURLOPT_NEW_FILE_PERMS CINIT(NEW_FILE_PERMS, LONG, 159), #endif #ifdef HAVE_CURLOPT_NEW_DIRECTORY_PERMS CINIT(NEW_DIRECTORY_PERMS, LONG, 160), #endif #ifdef HAVE_CURLOPT_POSTREDIR CINIT(POSTREDIR, LONG, 161), #endif #ifdef HAVE_CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 CINIT(SSH_HOST_PUBLIC_KEY_MD5, OBJECTPOINT, 162), #endif #ifdef HAVE_CURLOPT_OPENSOCKETFUNCTION CINIT(OPENSOCKETFUNCTION, FUNCTIONPOINT, 163), #endif #ifdef HAVE_CURLOPT_OPENSOCKETDATA CINIT(OPENSOCKETDATA, OBJECTPOINT, 164), #endif #ifdef HAVE_CURLOPT_COPYPOSTFIELDS CINIT(COPYPOSTFIELDS, OBJECTPOINT, 165), #endif #ifdef HAVE_CURLOPT_PROXY_TRANSFER_MODE CINIT(PROXY_TRANSFER_MODE, LONG, 166), #endif #ifdef HAVE_CURLOPT_SEEKFUNCTION CINIT(SEEKFUNCTION, FUNCTIONPOINT, 167), #endif #ifdef HAVE_CURLOPT_SEEKDATA CINIT(SEEKDATA, OBJECTPOINT, 168), #endif #ifdef HAVE_CURLOPT_CRLFILE CINIT(CRLFILE, OBJECTPOINT, 169), #endif #ifdef HAVE_CURLOPT_ISSUERCERT CINIT(ISSUERCERT, OBJECTPOINT, 170), #endif #ifdef HAVE_CURLOPT_ADDRESS_SCOPE CINIT(ADDRESS_SCOPE, LONG, 171), #endif #ifdef HAVE_CURLOPT_CERTINFO CINIT(CERTINFO, LONG, 172), #endif #ifdef HAVE_CURLOPT_USERNAME CINIT(USERNAME, OBJECTPOINT, 173), #endif #ifdef HAVE_CURLOPT_PASSWORD CINIT(PASSWORD, OBJECTPOINT, 174), #endif #ifdef HAVE_CURLOPT_PROXYUSERNAME CINIT(PROXYUSERNAME, OBJECTPOINT, 175), #endif #ifdef HAVE_CURLOPT_PROXYPASSWORD CINIT(PROXYPASSWORD, OBJECTPOINT, 176), #endif #ifdef HAVE_CURLOPT_NOPROXY CINIT(NOPROXY, OBJECTPOINT, 177), #endif #ifdef HAVE_CURLOPT_TFTP_BLKSIZE CINIT(TFTP_BLKSIZE, LONG, 178), #endif #ifdef HAVE_CURLOPT_SOCKS5_GSSAPI_SERVICE CINIT(SOCKS5_GSSAPI_SERVICE, LONG, 179), #endif #ifdef HAVE_CURLOPT_SOCKS5_GSSAPI_NEC CINIT(SOCKS5_GSSAPI_NEC, LONG, 180), #endif #ifdef HAVE_CURLOPT_PROTOCOLS CINIT(PROTOCOLS, LONG, 181), #endif #ifdef HAVE_CURLOPT_REDIR_PROTOCOLS CINIT(REDIR_PROTOCOLS, LONG, 182), #endif #ifdef HAVE_CURLOPT_WRITEDATA { "WRITEDATA", CURLOPT_FILE}, #endif #ifdef CURLOPT_POST301 { "POST301", CURLOPT_POSTREDIR}, #endif #ifdef CURLOPT_FTP_SSL { "FTP_SSL", CURLOPT_USE_SSL}, #endif #ifdef CURLOPT_KRB4LEVEL { "KRB4LEVEL", CURLOPT_KRBLEVEL}, #endif #ifdef CURLOPT_HEADERDATA { "HEADERDATA", CURLOPT_WRITEHEADER}, #endif #ifdef CURLOPT_SSLKEYPASSWD { "SSLKEYPASSWD", CURLOPT_KEYPASSWD}, #endif #ifdef CURLOPT_FTPAPPEND { "FTPAPPEND", CURLOPT_APPEND}, #endif #ifdef CURLOPT_SSLCERTPASSWD { "SSLCERTPASSWD", CURLOPT_KEYPASSWD}, #endif #ifdef CURLOPT_READDATA { "READDATA", CURLOPT_INFILE}, #endif #ifdef CURLOPT_FTPLISTONLY { "FTPLISTONLY", CURLOPT_DIRLISTONLY} #endif RCurl/src/json.c0000644000176000001440000001047012665243327013251 0ustar ripleyusers/* This code is adapted from Alex Couture-Beil's rjson package. It converts strings containing Unicode of the form \u<4 hex characters> to R's format, i.e. by mapping them to 1, 2, 3 or 4 bytes. This is adapted so that it can be used independently of a JSON string and just converts an arbitrary character. It is distributed under the GPL-2 license. */ #if 0 static int x; #else #include #include #include #define MASKBITS 0x3F #define MASKBYTE 0x80 #define MASK2BYTES 0xC0 #define MASK3BYTES 0xE0 int UTF8Encode2BytesUnicode( unsigned short input, char * s ) { // 0xxxxxxx if( input < 0x80 ) { s[ 0 ] = input; return 1; } // 110xxxxx 10xxxxxx else if( input < 0x800 ) { s[ 0 ] = (MASK2BYTES | ( input >> 6 ) ); s[ 1 ] = (MASKBYTE | ( input & MASKBITS ) ); return 2; } // 1110xxxx 10xxxxxx 10xxxxxx else if( input < 0x10000 ) { s[ 0 ] = (MASK3BYTES | ( input >> 12 ) ); s[ 1 ] = (MASKBYTE | ( ( input >> 6 ) & MASKBITS ) ); s[ 2 ] = (MASKBYTE | ( input & MASKBITS ) ); return 3; } return 0; // avoid compiler warnings } #define ASSERT(cond) if(!(cond)) error("overrunning buffers in mapString"); /* Convert a string with \unnnn elements to its Unicode form. s - the input string nchar - the number of characters in s. buf - the output string bufLen - the number of bytes available in buf. */ SEXP mapString(const char *s, int nchar, char *buf, size_t bufLen) { int i = 0; buf[0] = '\0'; char *cur = buf; while( i < nchar ) { while(i < nchar && cur < buf + bufLen && s[ i ] != '\\' && s[ i ] != '\0') { cur[0] = s[i]; i++; cur++; } if(i >= nchar || cur >= buf + bufLen ) break; if(s[i] == '\0') break; if( s[ i ] == '\\' ) { i++; if(i >= nchar) { PROBLEM "ending string with an escape: %d > %d", (int) i, (int) nchar WARN; break; } switch( s[ i ] ) { case '"': cur[0] = '\\'; cur[1] = '"'; cur+=2; break; case '\\': case '/': cur[ 0 ] = s[ i ]; cur++; break; case 'r': cur[0] = '\r'; cur++; break; case 'n': cur[0] = '\n'; cur++; break; case 'b': cur[0] = '\b'; cur++; break; case 't': cur[0] = '\t'; cur++; break; case 'f': cur[0] = '\f'; cur++; break; case 'u': { int j; if(i > nchar - 3) { PROBLEM "walking passed the end" ERROR; } for(j = 1; j <= 4; j++ ) if( (i + j >= nchar) || ( ( s[ i + j ] >= 'a' && s[ i + j ] <= 'f' ) || ( s[ i + j ] >= 'A' && s[ i + j ] <= 'F' ) || ( s[ i + j ] >= '0' && s[ i + j ] <= '9' ) ) == FALSE ) { PROBLEM "unexpected unicode escaped char '%c'; 4 hex digits should follow the \\u (found %i valid digits)", s[ i + j ], j - 1 ERROR; } unsigned short unicode; char unicode_buf[ 5 ]; /* to hold 4 digit hex (to prevent scanning a 5th digit accidentally */ strncpy( unicode_buf, s + i + 1, 5 ); unicode_buf[ 4 ] = '\0'; sscanf( unicode_buf, "%hx", &unicode); cur += UTF8Encode2BytesUnicode( unicode, cur); i += 4; /* skip the four digits - actually point to last digit, which is then incremented outside of switch */ } break; default: cur[ 0 ] = s[ i ]; cur++; break; } i++; /* move to next char */ } } cur[0] = '\0'; ASSERT(i <= nchar && cur < buf + bufLen) return(mkCharCE( buf, CE_UTF8 )); } /* R interface to mapString. Takes a vector of strings and a a same length integer vector of lengths. */ SEXP R_mapString(SEXP str, SEXP suggestedLen) { int numEls = Rf_length(str), i; SEXP ans; PROTECT(ans = NEW_CHARACTER(numEls)); for(i = 0; i < numEls; i++) { int num; if(Rf_length(suggestedLen)) num = INTEGER(suggestedLen)[i]; else num = 4 * strlen(CHAR(STRING_ELT(str, i))); char * buf = (char *) R_alloc(num, sizeof(char)); if(!buf) { PROBLEM "can't allocate memory for working buffer" ERROR; } const char *tmp; tmp = CHAR(STRING_ELT(str, i)); SET_STRING_ELT(ans, i, mapString(tmp, strlen(tmp), buf, INTEGER(suggestedLen)[i])); } UNPROTECT(1); return(ans); } #endif RCurl/src/curl.c0000644000176000001440000012201712665243327013246 0ustar ripleyusers#include "Rcurl.h" #include "Rversion.h" /* Not thread-safe, but okay for now. */ static char RCurlErrorBuffer[1000] = ""; #define R_CURL_CHECK_ERROR(status, handle) if(status != CURLE_OK) getCurlError(handle, 1, status); #define MIN(a,b) ((a) < (b) ? (a) : (b)) /* Callback routines that can be used to call R functions as handlers. */ size_t R_curl_write_data(void *buffer, size_t size, size_t nmemb, RWriteDataInfo *); size_t R_curl_write_header_data(void *buffer, size_t size, size_t nmemb, RWriteDataInfo *data); int R_curl_getpasswd(SEXP fun, char *prompt, char* buffer, int buflen ); int R_curl_debug_callback (CURL *curl, curl_infotype type, char *msg, size_t len, SEXP fun); int R_curl_progress_callback (SEXP fun, double total, double now, double uploadTotal, double uploadNow); CURLcode R_curl_ssl_ctx_callback(CURL *curl, void *sslctx, void *parm); size_t R_curl_read_callback(void *ptr, size_t size, size_t nmemb, void *stream); size_t R_curl_read_file_callback(void *ptr, size_t size, size_t nmemb, void *stream); size_t R_curl_read_buffer_callback(void *ptr, size_t size, size_t nmemb, void *stream); typedef struct BufInfo { size_t length; size_t pos; char *buf; char *cur; } BufInfo; void * getCurlPointerForData(SEXP el, CURLoption option, Rboolean isProtected, CURL *handle); SEXP makeCURLcodeRObject(CURLcode val); CURL *getCURLPointerRObject(SEXP obj); SEXP makeCURLPointerRObject(CURL *obj, int addFinalizer); char *getCurlError(CURL *h, int throw, CURLcode status); SEXP RCreateNamesVec(const char * const *vals, int n); void addFormElement(SEXP el, SEXP name, struct curl_httppost **post, struct curl_httppost **last, int which); void buildForm(SEXP params, struct curl_httppost **post, struct curl_httppost **last); SEXP getRStringsFromNullArray(const char * const *d); SEXP RCurlVersionInfoToR(const curl_version_info_data *d); struct curl_slist* Rcurl_set_header(CURL *obj, SEXP headers, Rboolean isProtected); SEXP getCurlInfoElement(CURL *obj, CURLINFO id); SEXP makeUTF8String(void *buffer, size_t len, cetype_t encoding); SEXP R_curl_easy_init(void) { CURL *obj; CURLcode status; obj = curl_easy_init(); if(obj) { /*XX Debugging options */ curl_easy_setopt(obj, CURLOPT_HTTPAUTH, CURLAUTH_ANY); /* or CURLAUTH_BASIC*/ if( (status = curl_easy_setopt(obj, CURLOPT_ERRORBUFFER, RCurlErrorBuffer))) getCurlError(obj, 1, status); } return(makeCURLPointerRObject(obj, TRUE)); } SEXP R_curl_easy_duphandle(SEXP handle) { CURL *obj; obj = getCURLPointerRObject(handle); obj = curl_easy_duphandle(obj); return(makeCURLPointerRObject(obj, TRUE)); } SEXP R_curl_easy_perform(SEXP handle, SEXP opts, SEXP isProtected, SEXP encoding) { CURL *obj; CURLcode status; if(GET_LENGTH(opts)) { R_curl_easy_setopt(handle, VECTOR_ELT(opts, 1), VECTOR_ELT(opts, 0), isProtected, encoding); } obj = getCURLPointerRObject(handle); status = curl_easy_perform(obj); R_CURL_CHECK_ERROR(status, obj); return(makeCURLcodeRObject(status)); } SEXP R_curl_global_cleanup() { curl_global_cleanup(); return(R_NilValue); } SEXP R_curl_global_init(SEXP flag) { CURLcode status; status = curl_global_init(INTEGER(flag)[0]); return(makeCURLcodeRObject(status)); } #include SEXP R_curl_easy_reset(SEXP handle) { CURL *obj; obj = getCURLPointerRObject(handle); if(obj) { curl_easy_reset(obj); curl_easy_setopt(obj, CURLOPT_ERRORBUFFER, RCurlErrorBuffer); } return(ScalarLogical( obj ? TRUE : FALSE)); } SEXP R_curl_easy_setopt(SEXP handle, SEXP values, SEXP opts, SEXP isProtected, SEXP encoding) { CURL *obj; CURLcode status = 0; CURLoption opt; int i, n, isProtectedLength; void *val; SEXP el; RWriteDataInfo *data; int useData = 0; /* get the CURL * handler */ obj = getCURLPointerRObject(handle); /* Find out how many options we are setting. */ n = GET_LENGTH(values); isProtectedLength = GET_LENGTH(isProtected); data = (RWriteDataInfo *) calloc(1, sizeof(RWriteDataInfo)); data->encoding = CE_LATIN1; if(Rf_length(encoding) && INTEGER(encoding)[0] != NA_INTEGER ) { data->encoding = INTEGER(encoding)[0]; data->encodingSetByUser = 1; } /* Loop over all the options we are setting. */ for(i = 0; i < n; i++) { opt = INTEGER(opts)[i]; el = VECTOR_ELT(values, i); /* Turn the R value into something we can use in libcurl. */ val = getCurlPointerForData(el, opt, LOGICAL(isProtected)[ i % isProtectedLength ], obj); if(opt == CURLOPT_WRITEFUNCTION && TYPEOF(el) == CLOSXP) { data->fun = val; useData++; status = curl_easy_setopt(obj, CURLOPT_WRITEFUNCTION, &R_curl_write_data); status = curl_easy_setopt(obj, CURLOPT_FILE, data); status = curl_easy_setopt(obj, CURLOPT_HEADERFUNCTION, &R_curl_write_header_data); status = curl_easy_setopt(obj, CURLOPT_WRITEHEADER, data); } else if(opt == CURLOPT_WRITEFUNCTION && TYPEOF(el) == EXTPTRSXP) { curl_write_callback f; f = (curl_write_callback) val; status = curl_easy_setopt(obj, CURLOPT_WRITEFUNCTION, f); } else if(opt == CURLOPT_DEBUGFUNCTION && TYPEOF(el) == CLOSXP) { status = curl_easy_setopt(obj, opt, &R_curl_debug_callback); status = curl_easy_setopt(obj, CURLOPT_DEBUGDATA, val); } else if(opt == CURLOPT_DEBUGFUNCTION && TYPEOF(el) == EXTPTRSXP) { status = curl_easy_setopt(obj, opt, val); } else if(opt == CURLOPT_HEADERFUNCTION && TYPEOF(el) == CLOSXP) { data->headerFun = val; useData++; status = curl_easy_setopt(obj, opt, &R_curl_write_header_data); status = curl_easy_setopt(obj, CURLOPT_WRITEHEADER, data); } else if(opt == CURLOPT_HEADERFUNCTION && TYPEOF(el) == EXTPTRSXP) { status = curl_easy_setopt(obj, opt, val); } else if(opt == CURLOPT_PROGRESSFUNCTION && TYPEOF(el) == CLOSXP) { status = curl_easy_setopt(obj, opt, &R_curl_progress_callback); status = curl_easy_setopt(obj, CURLOPT_PROGRESSDATA, val); } else if(opt == CURLOPT_PROGRESSFUNCTION && TYPEOF(el) == EXTPTRSXP) { status = curl_easy_setopt(obj, opt, val); } else if(opt == CURLOPT_SSL_CTX_FUNCTION && TYPEOF(el) == CLOSXP) { status = curl_easy_setopt(obj, opt, &R_curl_ssl_ctx_callback); status = curl_easy_setopt(obj, CURLOPT_SSL_CTX_DATA, val); } else if(opt == CURLOPT_SSL_CTX_FUNCTION && TYPEOF(el) == EXTPTRSXP) { status = curl_easy_setopt(obj, opt, val); } else if(opt == CURLOPT_WRITEDATA && TYPEOF(el) == EXTPTRSXP) { status = curl_easy_setopt(obj, opt, val); } else if(opt == CURLOPT_POSTFIELDS && TYPEOF(el) == RAWSXP) { status = curl_easy_setopt(obj, opt, val); status = curl_easy_setopt(obj, CURLOPT_POSTFIELDSIZE, Rf_length(el)); } else if(opt == CURLOPT_READFUNCTION && TYPEOF(el) == CLOSXP) { status = curl_easy_setopt(obj, opt, &R_curl_read_callback); status = curl_easy_setopt(obj, CURLOPT_READDATA, val); } else if(opt == CURLOPT_READFUNCTION && TYPEOF(el) == RAWSXP) { BufInfo *buf = (BufInfo *) malloc(sizeof(BufInfo)); status = curl_easy_setopt(obj, opt, &R_curl_read_buffer_callback); buf->length = Rf_length(el); buf->pos = 0; buf->buf = RAW(el); buf->cur = buf->buf; status = curl_easy_setopt(obj, CURLOPT_READDATA, buf); } else if(opt == CURLOPT_READDATA) { /* status = curl_easy_setopt(obj, CURLOPT_READFUNCTION, &R_curl_read_file_callback); */ status = curl_easy_setopt(obj, CURLOPT_READDATA, val); } else { switch(TYPEOF(el)) { case REALSXP: case INTSXP: case LGLSXP: { long l = *(long *)val; status = curl_easy_setopt(obj, opt, l); } break; default: status = curl_easy_setopt(obj, opt, val); } } if(opt == CURLOPT_NOBODY && TYPEOF(el) == LGLSXP && LOGICAL(el)[0]) data->nobody = 1; if(status) { PROBLEM "Error setting the option for # %d (status = %d) (enum = %d) (value = %p): %s %s", i+1, status, opt, val, curl_easy_strerror(status), getCurlError(obj, 0, -1) WARN; } } if(!useData) free(data); return(makeCURLcodeRObject(status)); } void R_closeFILE(SEXP r_file) { FILE *f = (FILE *) R_ExternalPtrAddr(r_file); if(f) { fflush(f); fclose(f); R_SetExternalPtrAddr(r_file, NULL); // R_NilValue); } } SEXP R_closeCFILE(SEXP r_file) { R_closeFILE(r_file); return(r_file); } SEXP R_openFile(SEXP r_filename, SEXP r_mode) { const char *filename = CHAR(STRING_ELT(r_filename, 0)); const char *mode = CHAR(STRING_ELT(r_mode, 0)); FILE *ans; SEXP r_ans, klass, tmp; ans = fopen(filename, mode); if(!ans) { PROBLEM "Cannot open file %s", filename ERROR; } PROTECT(klass = MAKE_CLASS("CFILE")); PROTECT(r_ans = NEW(klass)); SET_SLOT(r_ans, Rf_install("ref"), tmp = R_MakeExternalPtr(ans, Rf_install("FILE"), R_NilValue)); R_RegisterCFinalizer(tmp, R_closeFILE); UNPROTECT(2); return(r_ans); } size_t R_curl_read_buffer_callback(void *ptr, size_t size, size_t nmemb, void *stream) { BufInfo *buf = (BufInfo *) stream; size_t numBytes; if(buf->pos >= buf->length) return(0); numBytes = MIN(size * nmemb, buf->length - buf->pos); /* used to have +1 */ memcpy(ptr, buf->cur, numBytes); buf->cur += numBytes; buf->pos += numBytes; return(numBytes); } size_t R_curl_read_file_callback(void *ptr, size_t size, size_t nmemb, void *stream) { FILE *f = (FILE *) stream; size_t num; num = fread(ptr, size, nmemb, f); return(num); } size_t R_curl_read_callback(void *ptr, size_t size, size_t nmemb, void *stream) { SEXP e, ans; size_t len = 0; PROTECT(e = allocVector(LANGSXP, 2)); SETCAR(e, (SEXP) stream); SETCAR(CDR(e), ScalarReal( size * nmemb)); ans = Rf_eval(e, R_GlobalEnv) ; /*, &errorOccurred); */ PROTECT(ans); if(Rf_length(ans) != 0) { if(TYPEOF(ans) == RAWSXP) { len = Rf_length(ans); if(len > size * nmemb) { PROBLEM "the read function returned too much data (%lf > %lf)", (double) len, (double) (size * nmemb) ERROR; } memcpy(ptr, RAW(ans), len); } else if(TYPEOF(ans) == STRSXP) { /* Deal with Encoding. */ const char * str; str = CHAR(STRING_ELT(ans, 0)); len = strlen(str); memcpy(ptr, str, len); } } UNPROTECT(2); return(len); } #include SEXP R_post_form(SEXP handle, SEXP opts, SEXP params, SEXP isProtected, SEXP r_style) { CURLcode status; CURL *obj; struct curl_httppost* post = NULL; struct curl_httppost* last = NULL; int style = CURLOPT_HTTPPOST; if(LENGTH(r_style)) { style = asInteger(r_style); if(style == NA_INTEGER) style = CURLOPT_HTTPPOST; if(style != CURLOPT_HTTPPOST && style != CURLOPT_POST) { PROBLEM "using form post style that is not HTTPPOST or POST" WARN } } /* get the CURL * handler */ obj = getCURLPointerRObject(handle); if(style == CURLOPT_HTTPPOST) { buildForm(params, &post, &last); /* Arrange to have this struct curl_httppost object cleaned. */ RCurl_addMemoryAllocation(style, post, obj); curl_easy_setopt(obj, style, post); } else { const char *body; body = CHAR(STRING_ELT(params, 0)); if(body && body[0]) curl_easy_setopt(obj, CURLOPT_POSTFIELDS, body); } if(GET_LENGTH(opts)) R_curl_easy_setopt(handle, VECTOR_ELT(opts, 1), VECTOR_ELT(opts, 0), isProtected, R_NilValue); status = curl_easy_perform(obj); if(style != CURLOPT_HTTPPOST) { curl_easy_setopt(obj, CURLOPT_POSTFIELDS, NULL); } /* Not supposed to call free here until we do the cleanup on the CURL object. We do it with the memory management for the CURL that we have for general allocations for that structure. Alternatively, we could duplicate the CURL object and then cleanup and free the form. curl_formfree(post) but this wouldn't be ideal. */ R_CURL_CHECK_ERROR(status, obj); return(makeCURLcodeRObject(status)); } void buildForm(SEXP params, struct curl_httppost **post, struct curl_httppost **last) { int i, n; SEXP names; n = GET_LENGTH(params); names = GET_NAMES(params); for(i =0; i < n ; i++) { addFormElement(VECTOR_ELT(params, i), STRING_ELT(names, i), post, last, i); } } void addFormElement(SEXP el, SEXP name, struct curl_httppost **post, struct curl_httppost **last, int which) { int i, n ; /* If the value is an UploadInfo object, then deal with that.*/ SEXP className = GET_CLASS(el); if(GET_LENGTH(className) && strcmp(CHAR(STRING_ELT(className, 0)), "FileUploadInfo") == 0) { const char *filename = NULL; const char *type = NULL; if(GET_LENGTH(VECTOR_ELT(el, 0))) filename = CHAR(STRING_ELT(VECTOR_ELT(el, 0), 0)); if(GET_LENGTH(VECTOR_ELT(el, 2))) type = CHAR(STRING_ELT(VECTOR_ELT(el, 2), 0)); if(GET_LENGTH(VECTOR_ELT(el, 1))) { const char *buf = CHAR(STRING_ELT(VECTOR_ELT(el, 1), 0)); if(type) curl_formadd(post, last, CURLFORM_PTRNAME, CHAR(name), CURLFORM_BUFFER, filename, CURLFORM_BUFFERPTR, buf, CURLFORM_BUFFERLENGTH, strlen(buf), CURLFORM_CONTENTTYPE, type, CURLFORM_END); else curl_formadd(post, last, CURLFORM_PTRNAME, CHAR(name), CURLFORM_BUFFER, filename, CURLFORM_BUFFERPTR, buf, CURLFORM_BUFFERLENGTH, strlen(buf), CURLFORM_END); } else if(filename) { if(type) curl_formadd(post, last, CURLFORM_PTRNAME, CHAR(name), CURLFORM_FILE, filename, CURLFORM_CONTENTTYPE, type, CURLFORM_END); else curl_formadd(post, last, CURLFORM_PTRNAME, CHAR(name), CURLFORM_FILE, filename, CURLFORM_END); } else { PROBLEM "need to specify either the contents or a file name when uploading the contents of a file" ERROR; } #if 0 if(GET_LENGTH(VECTOR_ELT(el, 2))) { char *type = CHAR(STRING_ELT(VECTOR_ELT(el, 2), 0)); curl_formadd(post, last, CURLFORM_PTRNAME, CHAR(name), CURLFORM_CONTENTTYPE, type, CURLFORM_END); } #endif return; } n = GET_LENGTH(el); for(i = 0; i < n ; i++) { curl_formadd(post, last, CURLFORM_PTRNAME, CHAR(name), CURLFORM_NAMELENGTH, strlen(CHAR(name)), CURLFORM_PTRCONTENTS, CHAR(STRING_ELT(el, i)), CURLFORM_END); } } /* Use R_curl_version_info instead from R and extract the piece you want. Not currently exported via the registration mechanism. */ SEXP R_curl_version() { return(mkString(curl_version())); } SEXP R_curl_version_info(SEXP flag) { curl_version_info_data *data; data = curl_version_info(INTEGER(flag)[0]); return(RCurlVersionInfoToR(data)); } #if 0 SEXP R_curl_set_header(SEXP handle, SEXP headers, SEXP isProtected) { CURL *obj; struct curl_slist *headerList; obj = getCURLPointerRObject(handle); headerList = Rcurl_set_header(obj, headers, LOGICAL(isProtected)[0]); /*XXX Do something with the list here. */ return(R_NilValue); } #endif struct curl_slist* Rcurl_set_header(CURL *obj, SEXP headers, Rboolean isProtected) { const char *val; int n, i; struct curl_slist *headerList = NULL; n = GET_LENGTH(headers); for(i = 0; i < n; i++) { val = CHAR(STRING_ELT(headers, i)); if(!val || !val[0]) { PROBLEM "No value for HTTP header entry %d, ignoring it", i+i WARN; continue; } val = isProtected ? val : strdup(val); headerList = curl_slist_append(headerList, val); if(!isProtected) RCurl_addMemoryAllocation(CURLOPT_LASTENTRY, val, obj); } #if 0 if(obj) curl_easy_setopt(obj, CURLOPT_HTTPHEADER, headerList); #endif return(headerList); } SEXP R_curl_easy_getinfo(SEXP handle, SEXP which) { CURL *obj; int i, n; SEXP ans; obj = getCURLPointerRObject(handle); n = GET_LENGTH(which); PROTECT(ans = allocVector(VECSXP, n)); for(i = 0; i < n; i++) { SET_VECTOR_ELT(ans, i, getCurlInfoElement(obj, INTEGER(which)[i])); } UNPROTECT(1); return(ans); } SEXP R_curl_escape(SEXP vals, SEXP escape) { int i, n; SEXP ans = R_NilValue; n = GET_LENGTH(vals); PROTECT(ans = allocVector(STRSXP, n)); for(i = 0; i < n ; i++) { char *tmp; const char *ptr; ptr = CHAR(STRING_ELT(vals, i)); if(ptr) { tmp = LOGICAL(escape)[0] ? curl_escape(ptr, 0) : curl_unescape(ptr, 0); if(tmp) { SET_STRING_ELT(ans, i, COPY_TO_USER_STRING(tmp ? tmp : "")); curl_free(tmp); } } } UNPROTECT(1); return(ans); } /****************************************************************/ SEXP curlSListToR(struct curl_slist *l) { int len = 0, i; struct curl_slist *p = l; SEXP ans; while(p) { if(p->data) len ++; p = p->next; } p = l; PROTECT(ans = NEW_CHARACTER(len)); for(i = 0; i < len; i++, p = p->next) { if(p->data) SET_STRING_ELT(ans, i, mkChar(p->data)); } UNPROTECT(1); return(ans); } SEXP curlCertInfoToR(struct curl_certinfo *certs) { #ifdef HAVE_CURLINFO_CERTINFO SEXP ans; int i; PROTECT(ans = NEW_LIST(certs->num_of_certs)); for(i = 0; i < certs->num_of_certs; i++) { SET_VECTOR_ELT(ans, i, curlSListToR(certs->certinfo[i])); } UNPROTECT(1); return(ans); #else PROBLEM "no suport for curl_certinfo in this version of libcurl. (Consider upgrading.)" WARN; return(R_NilValue); #endif } SEXP getCurlInfoElement(CURL *obj, CURLINFO id) { double d; long l; char *s; SEXP ans = R_NilValue; switch( id & CURLINFO_TYPEMASK) { case CURLINFO_STRING: curl_easy_getinfo(obj, id, &s); if(s) ans = mkString(s); break; case CURLINFO_DOUBLE: curl_easy_getinfo(obj, id, &d); ans = ScalarReal(d); break; case CURLINFO_LONG: curl_easy_getinfo(obj, id, &l); ans = ScalarReal((double) l); break; case CURLINFO_SLIST: { struct curl_slist *list = NULL; #ifdef HAVE_CURLINFO_CERTINFO if(id == CURLINFO_CERTINFO) { struct curl_certinfo *certs = NULL; curl_easy_getinfo(obj, id, &certs); ans = curlCertInfoToR(certs); } else #endif { curl_easy_getinfo(obj, id, &list); ans = curlSListToR(list); } } break; default: PROBLEM "invalid getinfo option identifier" ERROR; } return(ans); } int R_curl_getpasswd(SEXP fun, char *prompt, char* buffer, int buflen ) { SEXP e, ans; int errorOccurred, status = 0; PROTECT(e = allocVector(LANGSXP, 3)); SETCAR(e, fun); SETCAR(CDR(e), mkString(prompt)); SETCAR(CDR(CDR(e)), ScalarInteger(buflen)); ans = R_tryEval(e, R_GlobalEnv, &errorOccurred); if(GET_LENGTH(ans) > 0 && TYPEOF(ans) == STRSXP) { strncpy(buffer, CHAR(STRING_ELT(ans, 0)), buflen); } else status = 1; UNPROTECT(1); return(status); } char * getCurlError(CURL *h, int throw, CURLcode status) { #if 0 if(throw) { PROBLEM "%s", RCurlErrorBuffer ERROR; } #else if(throw) { SEXP e, ptr, fun; fun = Rf_findVarInFrame(R_FindNamespace(ScalarString(mkChar("RCurl"))), Rf_install("curlError")); PROTECT(e = Rf_allocVector(LANGSXP, 4)); SETCAR(e, fun); ptr = CDR(e); SETCAR(ptr, ScalarInteger(status)); ptr = CDR(ptr); SETCAR(ptr, ScalarString(mkChar(RCurlErrorBuffer))); ptr = CDR(ptr); SETCAR(ptr, ScalarLogical(throw)); ptr = CDR(ptr); Rf_eval(e, R_GlobalEnv); UNPROTECT(1); } #endif return(RCurlErrorBuffer); } #include void * getCurlPointerForData(SEXP el, CURLoption option, Rboolean isProtected, CURL *curl) { void *ptr = NULL; int i, n; if(el == R_NilValue) return(ptr); switch(TYPEOF(el)) { case STRSXP: if(option == CURLOPT_HTTPHEADER || option == CURLOPT_QUOTE || option == CURLOPT_PREQUOTE || option == CURLOPT_POSTQUOTE) { /* struct curl_slist */ ptr = (void *) Rcurl_set_header(curl, el, isProtected); isProtected = FALSE; } else { /*XX Memory management */ if(GET_LENGTH(el) == 1) { ptr = (void *) (isProtected ? CHAR(STRING_ELT(el, 0)) : strdup(CHAR(STRING_ELT(el, 0)))); } else { const char **els; n = GET_LENGTH(el); /* '(void *) els' broke RCurl under gcc4 */ ptr = els = (const char **) malloc(sizeof(char *) * n); for(i = 0; i < n; i++) { els[i] = (isProtected ? CHAR(STRING_ELT(el, i)) : strdup(CHAR(STRING_ELT(el, i)))); } } } break; case CLOSXP: if(!isProtected) { R_PreserveObject(el); } ptr = (void *) el; break; case LGLSXP: ptr = (void *) malloc(sizeof(long)); *( (long*) ptr) = (long) LOGICAL(el)[0]; break; case REALSXP: ptr = (void *) malloc(sizeof(long)); *( (long*) ptr) = (long) REAL(el)[0]; break; case INTSXP: ptr = (void *) malloc(sizeof(long)); *( (long*) ptr) = (long) INTEGER(el)[0]; break; case EXTPTRSXP: ptr = (void *) R_ExternalPtrAddr(el); isProtected = 1; break; case RAWSXP: ptr = (void *) RAW(el); isProtected = 1; break; default: PROBLEM "Unhandled case for the value of curl_easy_setopt (R type = %d, option %d)", TYPEOF(el), option ERROR; break; } if(ptr && !isProtected) { RCurlMemory *mem; mem = RCurl_addMemoryAllocation(option, ptr, curl); if(TYPEOF(el) == CLOSXP) mem->type = R_OBJECT; } return(ptr); } /* Create an RCurl_BinaryData object and give it a hint at how big we want the initial buffer, but don't allocate it. Leave that until we are in the actual call to R and the we can use R_alloc() and have R clean up. Alternatively, we can just register a finalizer on this and clean up directly. */ typedef struct { unsigned char *data; /* the start of the data */ unsigned char *cursor; /* where to put next insertion */ unsigned int len; /* how many bytes we have already. */ unsigned int alloc_len; /* how much space we have allocated already. */ } RCurl_BinaryData; RCurl_BinaryData * getBinaryDataFromR(SEXP r_ref) { RCurl_BinaryData *data; if(TYPEOF(r_ref) != EXTPTRSXP) { PROBLEM "BinaryData_to_raw expects and external pointer to access the C-level data structure" ERROR; } if(R_ExternalPtrTag(r_ref) != Rf_install("RCurl_BinaryData")) { PROBLEM "external pointer passed to BinaryData_to_raw is not an RCurl_BinaryData" ERROR; } data = (RCurl_BinaryData *) R_ExternalPtrAddr(r_ref); if(!data) { PROBLEM "nil value passed for RCurl_BinaryData object" ERROR; } return(data); } void R_curl_BinaryData_free(SEXP r_ref) { RCurl_BinaryData *data = getBinaryDataFromR(r_ref); if(data->data) free(data->data); free(data); } SEXP R_curl_BinaryData_new(SEXP r_size) { int size = INTEGER(r_size)[0]; SEXP r_ans; RCurl_BinaryData *data; data = (RCurl_BinaryData *) malloc(sizeof(RCurl_BinaryData)); if(!data) { PROBLEM "cannot allocate space for RCurl_BinaryData: %d bytes", (int) sizeof(RCurl_BinaryData) ERROR; } size = size > 0 ? size : 1; data->alloc_len = size; data->data = (unsigned char *) malloc( size * sizeof(unsigned char )); data->cursor = data->data; data->len = 0; if(!data->data) { PROBLEM "cannot allocate more space: %d bytes", data->alloc_len ERROR; } PROTECT(r_ans = R_MakeExternalPtr(data, Rf_install("RCurl_BinaryData"), R_NilValue)); R_RegisterCFinalizer(r_ans, R_curl_BinaryData_free); UNPROTECT(1); return(r_ans); } SEXP R_curl_BinaryData_to_raw(SEXP r_ref) { RCurl_BinaryData *data; SEXP r_ans; data = getBinaryDataFromR(r_ref); r_ans = allocVector(RAWSXP, data->len * sizeof(unsigned char )); memcpy(RAW(r_ans), data->data, data->len * sizeof(unsigned char )); return(r_ans); } #define MAX(a, b) ((a) < (b) ? (b) : (a)) size_t R_curl_write_binary_data(void *buffer, size_t size, size_t nmemb, void *userData) { RCurl_BinaryData *data; int total = size*nmemb; data = ( RCurl_BinaryData *) userData; if(!data->data || (data->cursor + total >= data->data + data->alloc_len )) { data->alloc_len = MAX( 2 * data->alloc_len, data->alloc_len + total); data->data = (unsigned char *) realloc(data->data, sizeof(unsigned char ) * data->alloc_len); if(!data->data) { PROBLEM "cannot allocate more space: %d bytes", data->alloc_len ERROR; } data->cursor = data->data + data->len; } memcpy(data->cursor, buffer, total); data->len += total; data->cursor += total; return(total); } size_t R_call_R_write_function(SEXP fun, void *buffer, size_t size, size_t nmemb, RWriteDataInfo *data, cetype_t encoding) { SEXP str, e, ans; int errorOccurred = 0; size_t numRead = 0; PROTECT(e = allocVector(LANGSXP, 2)); SETCAR(e, fun); /* Use Latin-1 encoding for now. Look into more intelligent, dynamic and adaptive schemes such as allowing the user to specify the encoding or read it from the HTTP response header but I am not certain we can believe that, so potentially read the contents a little e.g. use IsASCII. */ #if defined(R_VERSION) && R_VERSION >= R_Version(2, 8, 0) #if 0 if(FALSE && encoding != CE_NATIVE) PROTECT(str = makeUTF8String(buffer, size * nmemb, encoding)); else #endif // if(((char *) buffer)[0] == '\377' && ((char *) buffer)[1] == '\376') { // buffer = buffer + 2; // nmemb =- 2; // } // probably don't need the encoding at this point! #if 0 const char *tmp; int len = size * nmemb; tmp = Rf_reEnc(buffer, CE_NATIVE, CE_UTF8, 0); len = strlen(tmp); PROTECT(str = mkCharLenCE(tmp, len, encoding)); #else PROTECT(str = mkCharLenCE(buffer, size * nmemb, encoding)); #endif #else /* PROTECT(str = mkCharLen(buffer, size * nmemb)); */ // PROTECT(str = mkCharLen(buffer, size *nmemb)); /* Problems with the upload example in complete.Rd */ { /* Can't use mkCharLen because we need the encoding to be latin1 for at least some of our examples e.g. the HTML files from the RCurl website that were generated from XML via xsltproc. */ char *tmp = (char *) R_alloc(size * nmemb + 1, sizeof(char)); memcpy(tmp, buffer, size*nmemb); tmp[size*nmemb] = '\0'; PROTECT(str = mkCharCE(tmp, encoding)); } /* This would avoid the copy, but doesn't allow us to specify the latin encoding. PROTECT(str = mkChar(translateChar(mkCharLen(buffer, size * nmemb)))); */ #endif SETCAR(CDR(e), TYPEOF(str) == CHARSXP ? ScalarString(str) : str); PROTECT(ans = Rf_eval(e, R_GlobalEnv)); /* , &errorOccurred); */ if(TYPEOF(ans) == LGLSXP) { if(LOGICAL(ans)[0]) numRead = size*nmemb; else numRead = 0; /* if(LOGICAL(ans)[0] == 1) errorOccurred = 1; */ } else if(TYPEOF(ans) == INTSXP) { numRead = INTEGER(ans)[0]; } else numRead = asInteger(ans); UNPROTECT(3); if(numRead < size*nmemb && encoding != CE_NATIVE) { PROBLEM "only read %d of the %d input bytes/characters", (int) numRead, (int) (size*nmemb) WARN; } #ifndef WITH_CE /* When we use PROTECT(str = mkCharCE(buffer, CE_LATIN1)); , the R string can appear to have more characters via nchar() than nmemb * size tells us. */ if(errorOccurred) return(0); if(encoding != CE_NATIVE) return(size * nmemb); else return(numRead); // return(errorOccurred ? 0 : (numRead >= size * nmemb ? size *nmemb : numRead)) ; #else // return(errorOccurred ? 0 : size *nmemb); return(errorOccurred ? 0 : (numRead >= size * nmemb ? size *nmemb : numRead)) ; #endif } void checkEncoding(char *buffer, size_t len, RWriteDataInfo *data) { SEXP e, ns_env, ns_name; int ans; PROTECT(e = allocVector(LANGSXP, 2)); #if 0 SETCAR(e, Rf_install("findHTTPHeaderEncoding")); #else PROTECT(ns_name = mkString("RCurl")); ns_env = R_FindNamespace(ns_name); SETCAR(e, findVarInFrame(ns_env, Rf_install("findHTTPHeaderEncoding"))); UNPROTECT(1); #endif SETCAR(CDR(e), ScalarString(mkCharLen(buffer, len))); ans = INTEGER(Rf_eval(e, R_GlobalEnv))[0]; UNPROTECT(1); if(ans != -1) { data->encoding = ans; } } size_t R_curl_write_header_data(void *buffer, size_t size, size_t nmemb, RWriteDataInfo *data) { if(data->nobody == 0 && data->encodingSetByUser == 0) checkEncoding(buffer, nmemb*size, data); if(data->headerFun) { return(R_call_R_write_function(data->headerFun, buffer, size, nmemb, data, CE_NATIVE)); } return(nmemb*size); } size_t R_curl_write_data(void *buffer, size_t size, size_t nmemb, RWriteDataInfo *data) { return(R_call_R_write_function(data->fun, buffer, size, nmemb, data, data->encoding)); } #include const char const *CurlInfoTypeNames[] = { "TEXT", "HEADER_IN", "HEADER_OUT", "DATA_IN", "DATA_OUT", "SSL_DATA_IN", "SSL_DATA_OUT", "END" }; int R_curl_debug_callback (CURL *curl, curl_infotype type, char *msg, size_t len, SEXP fun) { SEXP str, e, tmp; int errorOccurred; PROTECT(e = allocVector(LANGSXP, 4)); SETCAR(e, fun); #if defined(R_VERSION) && R_VERSION >= R_Version(2, 6, 0) { char * buf = (char *) malloc((len + 1)* sizeof(char)); if(!buf) { PROBLEM "cannot allocate memory for string (%d bytes)", (int) len ERROR; } memcpy(buf, msg, len); buf[len] = '\0'; PROTECT(str = mkChar(buf)); free(buf); } #else #if 0 PROTECT(str = allocString(len * sizeof(char) + 1)); memcpy(CHAR(str), msg, len); CHAR(str)[len] = '\0'; #else // PROTECT(str = mkCharLen(msg, len * nmemb)); PROTECT(str = mkCharLenCE(msg, len * nmemb, CE_LATIN1)); #endif #endif SETCAR(CDR(e), ScalarString(str)); SETCAR(CDR(CDR(e)), tmp = ScalarInteger(type)); SET_NAMES(tmp, mkString( CurlInfoTypeNames[type] )); SETCAR(CDR(CDR(CDR(e))), makeCURLPointerRObject(curl, FALSE)); R_tryEval(e, R_GlobalEnv, &errorOccurred); UNPROTECT(2); return(0); } int R_curl_progress_callback (SEXP fun, double total, double now, double uploadTotal, double uploadNow) { SEXP down, up, e, ans; int errorOccurred, status; static const char * const names[] = {"downloadTotal", "downloadNow", "uplodateTotal", "uploadNow"}; PROTECT(e = allocVector(LANGSXP, 3)); SETCAR(e, fun); PROTECT(down = allocVector(REALSXP, 2)); REAL(down)[0] = total; REAL(down)[1] = now; SET_NAMES(down, RCreateNamesVec(names, 2)); SETCAR(CDR(e), down); PROTECT(up = allocVector(REALSXP, 2)); REAL(up)[0] = uploadTotal; REAL(up)[1] = uploadNow; SET_NAMES(up, RCreateNamesVec(names+2, 2)); SETCAR(CDR(CDR(e)), up); ans = R_tryEval(e, R_GlobalEnv, &errorOccurred); if(GET_LENGTH(ans) && TYPEOF(ans) == INTSXP) { status = INTEGER(ans)[0]; } else status = errorOccurred; UNPROTECT(3); return(status); } SEXP makeCURLcodeRObject(CURLcode val) { SEXP ans; ans = allocVector(INTSXP, 1); /*XXX Put a name on this to get the symbolic value. */ INTEGER(ans)[0] = val; return(ans); } CURL * getCURLPointerRObject(SEXP obj) { CURL *handle; SEXP ref; if(TYPEOF(obj) != EXTPTRSXP) ref = GET_SLOT(obj, Rf_install("ref")); else ref = obj; handle = (CURL *) R_ExternalPtrAddr(ref); if(!handle) { PROBLEM "Stale CURL handle being passed to libcurl" ERROR; } if(R_ExternalPtrTag(ref) != Rf_install("CURLHandle")) { PROBLEM "External pointer with wrong tag passed to libcurl. Was %s", CHAR(PRINTNAME(R_ExternalPtrTag(ref))) ERROR; } return(handle); } static void R_finalizeCurlHandle(SEXP h) { CURL *curl = getCURLPointerRObject(h); if(curl) { #ifdef RCURL_DEBUG_MEMORY fprintf(stderr, "Clearing %p\n", (void *)curl);fflush(stderr); #endif CURLOptionMemoryManager *mgr = RCurl_getMemoryManager(curl); curl_easy_cleanup(curl); RCurl_releaseManagerMemoryTickets(mgr); } } SEXP R_test_finalizeCurlHandle(SEXP h) { R_finalizeCurlHandle(h); return(ScalarLogical(TRUE)); } SEXP makeCURLPointerRObject(CURL *obj, int addFinalizer) { SEXP ans, klass, ref; if(!obj) { PROBLEM "NULL CURL handle being returned" ERROR; } #if 0 PROTECT(ans = R_MakeExternalPtr((void *) obj, Rf_install("CURLHandle"), R_NilValue)); SET_CLASS(ans, mkString("CURLHandle")); if(addFinalizer) R_RegisterCFinalizer(ans, R_finalizeCurlHandle); UNPROTECT(1); #else PROTECT(klass = MAKE_CLASS("CURLHandle")); PROTECT(ans = NEW(klass)); PROTECT(ref = R_MakeExternalPtr((void *) obj, Rf_install("CURLHandle"), R_NilValue)); if(addFinalizer) { #ifdef RCURL_DEBUG_MEMORY fprintf(stderr, "adding finalizer to curl object %p\n", obj);fflush(stderr); #endif R_RegisterCFinalizer(ref, R_finalizeCurlHandle); } ans = SET_SLOT(ans, Rf_install("ref"), ref); UNPROTECT(3); #endif return(ans); } #if 0 SEXP R_getCURLOptionEnum() { SEXP ans; int i = 0; ans = allocVector(INTSXP, 31); INTEGER(ans)[i++] = CURLOPT_FILE; INTEGER(ans)[i++] = CURLOPT_URL; INTEGER(ans)[i++] = CURLOPT_PORT; INTEGER(ans)[i++] = CURLOPT_PROXY; INTEGER(ans)[i++] = CURLOPT_USERPWD; INTEGER(ans)[i++] = CURLOPT_PROXYUSERPWD; INTEGER(ans)[i++] = CURLOPT_RANGE; INTEGER(ans)[i++] = CURLOPT_INFILE; INTEGER(ans)[i++] = CURLOPT_ERRORBUFFER; INTEGER(ans)[i++] = CURLOPT_WRITEFUNCTION; INTEGER(ans)[i++] = CURLOPT_READFUNCTION; INTEGER(ans)[i++] = CURLOPT_TIMEOUT; INTEGER(ans)[i++] = CURLOPT_INFILESIZE; INTEGER(ans)[i++] = CURLOPT_POSTFIELDS; INTEGER(ans)[i++] = CURLOPT_REFERER; INTEGER(ans)[i++] = CURLOPT_FTPPORT; INTEGER(ans)[i++] = CURLOPT_USERAGENT; INTEGER(ans)[i++] = CURLOPT_LOW_SPEED_LIMIT; INTEGER(ans)[i++] = CURLOPT_LOW_SPEED_TIME; INTEGER(ans)[i++] = CURLOPT_RESUME_FROM; INTEGER(ans)[i++] = CURLOPT_COOKIE; INTEGER(ans)[i++] = CURLOPT_COOKIE; INTEGER(ans)[i++] = CURLOPT_HTTPHEADER; INTEGER(ans)[i++] = CURLOPT_HTTPPOST; INTEGER(ans)[i++] = CURLOPT_SSLCERT; INTEGER(ans)[i++] = CURLOPT_VERBOSE; INTEGER(ans)[i++] = CURLOPT_FOLLOWLOCATION; INTEGER(ans)[i++] = CURLOPT_NETRC; INTEGER(ans)[i++] = CURLOPT_HTTPAUTH; INTEGER(ans)[i++] = CURLOPT_COOKIEFILE; INTEGER(ans)[i++] = CURLOPT_PASSWDFUNCTION; return(ans); } #endif static const char *const VersionInfoFieldNames[] = {"age", "version", "vesion_num", "host", "features", "ssl_version", "ssl_version_num", "libz_version", "protocols", "ares", "ares_num","libidn" }; SEXP RCurlVersionInfoToR(const curl_version_info_data *d) { SEXP ans, tmp; int n; n = sizeof(VersionInfoFieldNames)/sizeof(VersionInfoFieldNames[0]); PROTECT(ans = allocVector(VECSXP, n)); SET_VECTOR_ELT(ans, 0, ScalarInteger(d->age)); SET_VECTOR_ELT(ans, 1, mkString(d->version)); SET_VECTOR_ELT(ans, 2, ScalarInteger(d->version_num)); SET_VECTOR_ELT(ans, 3, mkString(d->host)); SET_VECTOR_ELT(ans, 4, ScalarInteger(d->features)); SET_VECTOR_ELT(ans, 5, mkString(d->ssl_version ? d->ssl_version : "")); SET_VECTOR_ELT(ans, 6, ScalarInteger(d->ssl_version_num)); SET_VECTOR_ELT(ans, 7, mkString(d->libz_version)); SET_VECTOR_ELT(ans, 8, getRStringsFromNullArray(d->protocols)); SET_VECTOR_ELT(ans, 9, mkString(d->ares ? d->ares : "")); SET_VECTOR_ELT(ans, 10, ScalarInteger(d->ares_num)); #ifdef HAVE_LIBIDN_FIELD PROTECT(tmp = mkString(d->libidn ? d->libidn : "")); #else PROTECT(tmp = allocVector(STRSXP, 1)); SET_STRING_ELT(tmp, 0, R_NaString); #endif SET_VECTOR_ELT(ans, 11, tmp); UNPROTECT(1); SET_NAMES(ans, RCreateNamesVec(VersionInfoFieldNames, n)); UNPROTECT(1); return(ans); } SEXP RCreateNamesVec(const char * const *vals, int n) { SEXP ans; int i; PROTECT(ans = allocVector(STRSXP, n)); for(i = 0; i < n ; i++) { SET_STRING_ELT(ans, i, mkChar(vals[i])); } UNPROTECT(1); return(ans); } SEXP getRStringsFromNullArray(const char * const *d) { int i, n; const char * const *p; SEXP ans; for(p = d, n = 0; *p; p++, n++) ; PROTECT(ans = allocVector(STRSXP, n)); for(p = d, i = 0; i < n; i++, p++) { SET_STRING_ELT(ans, i, mkChar(*p)); } UNPROTECT(1); return(ans); } #if 0 char *DefaultURL = "http://www.omegahat.net/index.html"; void R_test_curl(void) { CURL *h; char **url = &DefaultURL; CURLcode status; h = curl_easy_init(); status = curl_easy_setopt(h, CURLOPT_URL, NULL); if(status) { fprintf(stderr, "Expected error %d", status);fflush(stderr); } curl_easy_setopt(h, CURLOPT_URL, *url); curl_easy_perform(h); } #endif void R_check_bits(int *val, int *bits, int *ans, int *n) { int i; for(i = 0; i < *n; i++) { ans[i] = *val & bits[i]; } } SEXP makeMultiCURLPointerRObject(CURLM *obj) { SEXP ans, klass; if(!obj) { PROBLEM "NULL CURL handle being returned" ERROR; } PROTECT(klass = MAKE_CLASS("MultiCURLHandle")); PROTECT(ans = NEW(klass)); PROTECT(ans = SET_SLOT(ans, Rf_install("ref"), R_MakeExternalPtr((void *) obj, Rf_install("MultiCURLHandle"), R_NilValue))); /*XXX R_RegisterCFinalizer(ans, R_finalizeMultiCurlHandle); */ UNPROTECT(3); return(ans); } CURLM * getMultiCURLPointerRObject(SEXP obj) { CURLM *handle; SEXP ref; handle = (CURLM *) R_ExternalPtrAddr(ref = GET_SLOT(obj, Rf_install("ref"))); if(!handle) { PROBLEM "Stale MultiCURL handle being passed to libcurl" ERROR; } if(R_ExternalPtrTag(ref) != Rf_install("MultiCURLHandle")) { PROBLEM "External pointer with wrong tag passed to libcurl (not MultiCURLHandle), but %s", CHAR(PRINTNAME(R_ExternalPtrTag(ref))) ERROR; } return(handle); } SEXP R_getCurlMultiHandle() { CURLM *h; h = curl_multi_init(); return(makeMultiCURLPointerRObject(h)); } SEXP R_pushCurlMultiHandle(SEXP m, SEXP curl) { CURL *c; CURLM *h; CURLMcode status; c = getCURLPointerRObject(curl); h = getMultiCURLPointerRObject(m); status = curl_multi_add_handle(h, c); return(makeCURLcodeRObject(status)); } SEXP R_popCurlMultiHandle(SEXP m, SEXP curl) { CURL *c; CURLM *h; CURLMcode status; c = getCURLPointerRObject(curl); h = getMultiCURLPointerRObject(m); status = curl_multi_remove_handle(h, c); return(makeCURLcodeRObject(status)); } SEXP R_curlMultiPerform(SEXP m, SEXP repeat) { CURLM *h; CURLMcode status; int n; SEXP ans; fd_set read_fd_set, write_fd_set, exc_fd_set; int max_fd = 0; int ctr = 0; h = getMultiCURLPointerRObject(m); do { int state; if(ctr > 0) { FD_ZERO(&read_fd_set); FD_ZERO(&write_fd_set); FD_ZERO(&exc_fd_set); max_fd = 0; state = curl_multi_fdset(h, &read_fd_set, &write_fd_set, &exc_fd_set, &max_fd); if(state != CURLM_OK /* || max_fd == -1 */) { PROBLEM "curl_multi_fdset" ERROR; } if(max_fd != -1) { state = select(max_fd+1, &read_fd_set, &write_fd_set, &exc_fd_set, NULL /* &tm */); #if 0 fprintf(stderr, " %d state = %d, max_fd = %d\n", ctr, state, max_fd); #endif } } do { status = curl_multi_perform(h, &n); if(n <= 0) break; #if 0 fprintf(stderr, "status %d, num running %d\n", status, n); #endif ctr ++; } while(LOGICAL(repeat)[0] && status == CURLM_CALL_MULTI_PERFORM); } while(LOGICAL(repeat)[0] && n > 0); PROTECT(ans = allocVector(VECSXP, 2)); SET_VECTOR_ELT(ans, 0, makeCURLcodeRObject(status)); SET_VECTOR_ELT(ans, 1, ScalarInteger(n)); UNPROTECT(1); return(ans); } /* Test routine that we can pass to (R code) curlPerform(...., writefunction = getNativeSymbolInfo("R_internalWriteTest")$address) to have this routine be called when there is data on the HTTP response. */ size_t R_internalWriteTest(void *buffer, size_t size, size_t nmemb, void *data) { fprintf(stderr," size = %d, nmemb = %d\n", (int) size, (int) nmemb); return(size * nmemb); } CURLcode R_curl_ssl_ctx_callback(CURL *curl, void *sslctx, void *parm) { SEXP fun = (SEXP) parm; SEXP e, ctx, ans; CURLcode status; PROTECT(e = allocVector(LANGSXP, 3)); SETCAR(e, fun); SETCAR(CDR(e), makeCURLPointerRObject(curl, FALSE)); PROTECT(ctx= R_MakeExternalPtr(sslctx, Rf_install("SSL_CTX"), R_NilValue)); SET_CLASS(ctx, mkString("SSL_CTX")); SETCAR(CDR(CDR(e)), ctx); ans = eval(e, R_GlobalEnv); status = asInteger(ans); UNPROTECT(2); return(status); } #if 0 /*XXX not working need to be able to get at cookies but these are in an opaque data type. */ SEXP R_get_Cookies(SEXP handle, SEXP fileName) { CURL *obj = getCURLPointerRObject(handle); int status; status = Curl_cookie_output(obj->cookies, CHAR(STRING_ELT(fileName, 0))); return(Rf_ScalarLogical(status)); } #endif SEXP R_global_releaseObject(SEXP obj) { fprintf(stderr, "releasing %p\n", obj); Rf_PrintValue(obj); R_ReleaseObject(obj); return(R_NilValue); } #include size_t doIconv(const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft, cetype_t encoding) { void *handle; size_t status; handle = Riconv_open("", "UCS-4BE"); status = Riconv(handle, inbuf, inbytesleft, outbuf, outbytesleft); Riconv_close(handle); return(status); } RCurl/src/Makevars.win0000644000176000001440000000646212665243327014432 0ustar ripleyusers DEFINES= -DHAVE_LIBIDN_FIELD=1 -DHAVE_CURLOPT_URL=1 -DHAVE_CURLINFO_EFFECTIVE_URL=1 -DHAVE_CURLINFO_RESPONSE_CODE=1 -DHAVE_CURLINFO_TOTAL_TIME=1 -DHAVE_CURLINFO_NAMELOOKUP_TIME=1 -DHAVE_CURLINFO_CONNECT_TIME=1 -DHAVE_CURLINFO_PRETRANSFER_TIME=1 -DHAVE_CURLINFO_SIZE_UPLOAD=1 -DHAVE_CURLINFO_SIZE_DOWNLOAD=1 -DHAVE_CURLINFO_SPEED_DOWNLOAD=1 -DHAVE_CURLINFO_SPEED_UPLOAD=1 -DHAVE_CURLINFO_HEADER_SIZE=1 -DHAVE_CURLINFO_REQUEST_SIZE=1 -DHAVE_CURLINFO_SSL_VERIFYRESULT=1 -DHAVE_CURLINFO_FILETIME=1 -DHAVE_CURLINFO_CONTENT_LENGTH_DOWNLOAD=1 -DHAVE_CURLINFO_CONTENT_LENGTH_UPLOAD=1 -DHAVE_CURLINFO_STARTTRANSFER_TIME=1 -DHAVE_CURLINFO_CONTENT_TYPE=1 -DHAVE_CURLINFO_REDIRECT_TIME=1 -DHAVE_CURLINFO_REDIRECT_COUNT=1 -DHAVE_CURLINFO_PRIVATE=1 -DHAVE_CURLINFO_HTTP_CONNECTCODE=1 -DHAVE_CURLINFO_HTTPAUTH_AVAIL=1 -DHAVE_CURLINFO_PROXYAUTH_AVAIL=1 -DHAVE_CURLINFO_OS_ERRNO=1 -DHAVE_CURLINFO_NUM_CONNECTS=1 -DHAVE_CURLINFO_SSL_ENGINES=1 -DHAVE_CURLINFO_COOKIELIST=1 -DHAVE_CURLINFO_LASTSOCKET=1 -DHAVE_CURLINFO_FTP_ENTRY_PATH=1 -DHAVE_CURLINFO_REDIRECT_URL=1 -DHAVE_CURLINFO_PRIMARY_IP=1 -DHAVE_CURLINFO_APPCONNECT_TIME=1 -DHAVE_CURLINFO_CERTINFO=1 -DHAVE_CURLINFO_CONDITION_UNMET=1 -DHAVE_CURLOPT_KEYPASSWD=1 -DHAVE_CURLOPT_DIRLISTONLY=1 -DHAVE_CURLOPT_APPEND=1 -DHAVE_CURLOPT_KRBLEVEL=1 -DHAVE_CURLOPT_USE_SSL=1 -DHAVE_CURLOPT_TIMEOUT_MS=1 -DHAVE_CURLOPT_CONNECTTIMEOUT_MS=1 -DHAVE_CURLOPT_HTTP_TRANSFER_DECODING=1 -DHAVE_CURLOPT_HTTP_CONTENT_DECODING=1 -DHAVE_CURLOPT_NEW_FILE_PERMS=1 -DHAVE_CURLOPT_NEW_DIRECTORY_PERMS=1 -DHAVE_CURLOPT_POSTREDIR=1 -DHAVE_CURLOPT_OPENSOCKETFUNCTION=1 -DHAVE_CURLOPT_OPENSOCKETDATA=1 -DHAVE_CURLOPT_COPYPOSTFIELDS=1 -DHAVE_CURLOPT_PROXY_TRANSFER_MODE=1 -DHAVE_CURLOPT_SEEKFUNCTION=1 -DHAVE_CURLOPT_SEEKDATA=1 -DHAVE_CURLOPT_CRLFILE=1 -DHAVE_CURLOPT_ISSUERCERT=1 -DHAVE_CURLOPT_ADDRESS_SCOPE=1 -DHAVE_CURLOPT_CERTINFO=1 -DHAVE_CURLOPT_USERNAME=1 -DHAVE_CURLOPT_PASSWORD=1 -DHAVE_CURLOPT_PROXYUSERNAME=1 -DHAVE_CURLOPT_PROXYPASSWORD=1 -DHAVE_CURLOPT_SSH_HOST_PUBLIC_KEY_MD5=1 -DHAVE_CURLOPT_NOPROXY=1 -DHAVE_CURLOPT_TFTP_BLKSIZE=1 -DHAVE_CURLOPT_SOCKS5_GSSAPI_SERVICE=1 -DHAVE_CURLOPT_SOCKS5_GSSAPI_NEC=1 -DHAVE_CURLOPT_PROTOCOLS=1 -DHAVE_CURLOPT_REDIR_PROTOCOLS=1 -DHAVE_CURLOPT_SSH_AUTH_TYPES=1 -DHAVE_CURLOPT_SSH_PUBLIC_KEYFILE=1 -DHAVE_CURLOPT_SSH_PRIVATE_KEYFILE=1 -DHAVE_CURLOPT_FTP_SSL_CCC=1 -DHAVE_CURLOPT_COOKIELIST=1 -DHAVE_CURLOPT_IGNORE_CONTENT_LENGTH=1 -DHAVE_CURLOPT_FTP_SKIP_PASV_IP=1 -DHAVE_CURLOPT_FTP_FILEMETHOD=1 -DHAVE_CURLOPT_LOCALPORT=1 -DHAVE_CURLOPT_LOCALPORTRANGE=1 -DHAVE_CURLOPT_CONNECT_ONLY=1 -DHAVE_CURLOPT_CONV_FROM_NETWORK_FUNCTION=1 -DHAVE_CURLOPT_CONV_TO_NETWORK_FUNCTION=1 -DHAVE_CURLOPT_CONV_FROM_UTF8_FUNCTION=1 -DHAVE_CURLOPT_MAX_SEND_SPEED_LARGE=1 -DHAVE_CURLOPT_MAX_RECV_SPEED_LARGE=1 -DHAVE_CURLOPT_FTP_ALTERNATIVE_TO_USER=1 -DHAVE_CURLOPT_SOCKOPTFUNCTION=1 -DHAVE_CURLOPT_SOCKOPTDATA=1 -DHAVE_CURLOPT_SSL_SESSIONID_CACHE=1 -DHAVE_CURLOPT_WRITEDATA=1 CURL_INCLUDE_DIR = ${LIB_CURL}/include CURL_LIB_DIR = ${LIB_CURL}/lib${R_ARCH} DEFINES += -DCURL_STATICLIB PKG_CPPFLAGS = -I${CURL_INCLUDE_DIR} $(DEFINES) ifeq "${R_ARCH}" "/x64" PKG_LIBS = -L${CURL_LIB_DIR} -lcurl -lrtmp -lssl -lssh2 -lcrypto -lgdi32 -lcrypt32 -lz -lws2_32 -lgdi32 -lcrypt32 -lwldap32 -lwinmm else PKG_LIBS = -L${CURL_LIB_DIR} -lcurl -lrtmp -lssl -lssh2 -lcrypto -lgdi32 -lcrypt32 -lz -lws2_32 -lgdi32 -lcrypt32 -lwldap32 -lwinmm -lidn endif RCurl/src/CurlErrorEnums.h0000644000176000001440000000370612665243327015240 0ustar ripleyusers/* Currently this is not used. */ #define CURLE(a) {#a), CURLE_##a} NameValue CurlErrorNames[] = { CURLE(UNSUPPORTED_PROTOCOL), CURLE(FAILED_INIT), CURLE(URL_MALFORMAT), CURLE(URL_MALFORMAT_USER), CURLE(COULDNT_RESOLVE_PROXY), CURLE(COULDNT_RESOLVE_HOST), CURLE(COULDNT_CONNECT), CURLE(FTP_WEIRD_SERVER_REPLY), CURLE(FTP_ACCESS_DENIED), CURLE(FTP_USER_PASSWORD_INCORRECT), CURLE(FTP_WEIRD_PASS_REPLY), CURLE(FTP_WEIRD_USER_REPLY), CURLE(FTP_WEIRD_PASV_REPLY), CURLE(FTP_WEIRD_227_FORMAT), CURLE(FTP_CANT_GET_HOST), CURLE(FTP_CANT_RECONNECT), CURLE(FTP_COULDNT_SET_BINARY), CURLE(PARTIAL_FILE), CURLE(FTP_COULDNT_RETR_FILE), CURLE(FTP_WRITE_ERROR), CURLE(FTP_QUOTE_ERROR), CURLE(HTTP_RETURNED_ERROR), CURLE(WRITE_ERROR), CURLE(MALFORMAT_USER), CURLE(FTP_COULDNT_STOR_FILE), CURLE(READ_ERROR), CURLE(OUT_OF_MEMORY), CURLE(OPERATION_TIMEOUTED), CURLE(FTP_COULDNT_SET_ASCII), CURLE(FTP_PORT_FAILED), CURLE(FTP_COULDNT_USE_REST), CURLE(FTP_COULDNT_GET_SIZE), CURLE(HTTP_RANGE_ERROR), CURLE(HTTP_POST_ERROR), CURLE(SSL_CONNECT_ERROR), CURLE(BAD_DOWNLOAD_RESUME), CURLE(FILE_COULDNT_READ_FILE), CURLE(LDAP_CANNOT_BIND), CURLE(LDAP_SEARCH_FAILED), CURLE(LIBRARY_NOT_FOUND), CURLE(FUNCTION_NOT_FOUND), CURLE(ABORTED_BY_CALLBACK), CURLE(BAD_FUNCTION_ARGUMENT), CURLE(BAD_CALLING_ORDER), CURLE(INTERFACE_FAILED), CURLE(BAD_PASSWORD_ENTERED), CURLE(TOO_MANY_REDIRECTS ), CURLE(UNKNOWN_TELNET_OPTION), CURLE(TELNET_OPTION_SYNTAX ), CURLE(OBSOLETE), CURLE(SSL_PEER_CERTIFICATE), CURLE(GOT_NOTHING), CURLE(SSL_ENGINE_NOTFOUND), CURLE(SSL_ENGINE_SETFAILED), CURLE(SEND_ERROR), CURLE(RECV_ERROR), CURLE(SHARE_IN_USE), CURLE(SSL_CERTPROBLEM), CURLE(SSL_CIPHER), CURLE(SSL_CACERT), CURLE(BAD_CONTENT_ENCODING), CURLE(LDAP_INVALID_URL), CURLE(FILESIZE_EXCEEDED), CURLE(FTP_SSL_FAILED) }; RCurl/src/Rcurl.h0000644000176000001440000000434512665243327013400 0ustar ripleyusers#ifndef R_CURL_H #define R_CURL_H #include #include #include /* #define RCURL_DEBUG_MEMORY 1 */ typedef enum {VOID_TYPE, R_OBJECT} RCurl_OptValueType; typedef struct _RCurlMemory RCurlMemory; struct _RCurlMemory { CURL *curl; /* the CURL object for which this data was allocated.*/ const void *data; /* the data */ CURLoption option; /* the option, so we can tell what it was for.*/ RCurl_OptValueType type; RCurlMemory *next; }; typedef struct _CURLOptionMemoryManager CURLOptionMemoryManager; struct _CURLOptionMemoryManager { CURL *curl; RCurlMemory *top; int numTickets; /* Number of entries in the top. Used for debugging here. */ CURLOptionMemoryManager *next; CURLOptionMemoryManager *last; }; RCurlMemory *RCurl_addMemoryAllocation(CURLoption, const void *, CURL *); CURLOptionMemoryManager *RCurl_addMemoryTicket(RCurlMemory *); void RCurl_releaseMemoryTickets(CURL *curl); CURLOptionMemoryManager* RCurl_getMemoryManager(CURL *curl); void RCurl_releaseManagerMemoryTickets(CURLOptionMemoryManager *mgr); typedef struct { SEXP fun; SEXP headerFun; cetype_t encoding; int encodingSetByUser; int nobody; } RWriteDataInfo; SEXP R_curl_easy_setopt(SEXP handle, SEXP values, SEXP opts, SEXP isProtected, SEXP encoding); SEXP R_curl_easy_init(void); SEXP R_curl_easy_duphandle(SEXP); SEXP R_curl_global_cleanup(); SEXP R_curl_global_init(SEXP); SEXP R_curl_version_info(SEXP flag); SEXP R_curl_easy_perform(SEXP handle, SEXP opts, SEXP isProtected, SEXP encoding); SEXP R_curl_easy_getinfo(SEXP handle, SEXP which); SEXP R_curl_escape(SEXP vals, SEXP escape); SEXP R_post_form(SEXP handle, SEXP opts, SEXP params, SEXP isProtected, SEXP style); SEXP R_getCURLErrorEnum(void); SEXP R_getCURLInfoEnum(void); SEXP R_getCURLOptionEnum(void); #ifdef USE_LOCAL_BAS64_ENCODING /* This is going away and we will use the version on*/ extern size_t Curl_base64_decode(const char *src, unsigned char **outptr); extern size_t Curl_base64_encode(const char *inp, size_t insize, char **outptr); #endif size_t R_Curl_base64_decode(const char *src, unsigned char **outptr); size_t R_Curl_base64_encode(const char *inp, size_t insize, char **outptr); SEXP R_curl_easy_reset(SEXP handle); #endif RCurl/exampleCode/0000755000176000001440000000000012665241523013565 5ustar ripleyusersRCurl/exampleCode/encoding.R0000644000176000001440000000055412437571707015511 0ustar ripleyuserslibrary(RCurl) sURL <- "http://www.nseindia.com/marketinfo/ipo/ipo_pastissues.jsp?year=ALL#" tt = getURLContent(sURL, binary = TRUE, useragent = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6;en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12") txt = paste(rawToChar(tt, TRUE), collapse = "") doc = htmlParse(txt, asText = TRUE) length(getNodeSet(doc, "//a")) RCurl/NAMESPACE0000644000176000001440000000373712665242275012575 0ustar ripleyusersimport(methods) importFrom(bitops, bitAnd, bitOr) importFrom(utils, data) export(getURL, getURI, postForm, getForm, getURLContent) export(.postForm) export(curlGlobalInit,curlVersion) export(curlOptions) export(getCurlInfoConstants, getCurlOptionsConstants, listCurlOptions) export(curlSetOpt, curlPerform, getCurlInfo) export(getCurlHandle, dupCurlHandle) export(CurlFeatureBits, CurlGlobalBits, CurlNetrc) export(curlOptions) export(basicTextGatherer, debugGatherer, basicHeaderGatherer) export(curlEscape, curlUnescape, curlPercentEncode) export(getBitIndicators, setBitIndicators) export(parseHTTPHeader) export(chunkToLineReader) S3method("[<-", CURLOptions) S3method("[[<-", CURLOptions) exportMethods("pop", "push") export(curlMultiPerform, getCurlMultiHandle, getURLAsynchronous, getURIAsynchronous, multiTextGatherer) export(complete) exportClasses(MultiCURLHandle, CURLHandle) export(merge.list) export(binaryBuffer) exportMethods("coerce") export(base64, base64Encode, base64Decode) useDynLib(RCurl, R_curl_BinaryData_new, R_curl_BinaryData_to_raw, R_base64_decode, R_base64_encode) export(fileUpload) export(findHTTPHeaderEncoding) export(getBinaryURL) export(reset) exportMethods('reset') export(ftpUpload) export(dynCurlReader) export(getCurlOptionTypes) exportPattern("HTTP_VERSION_.*") exportPattern("SSLVERSION_.*") exportClass("CFILE") export(CFILE) exportMethods(close) export(scp) export(guessMIMEType) # do we want a httpPOST. export(httpPUT, httpDELETE, httpGET, httpPOST, httpHEAD) export(httpOPTIONS) export(getFormParams) export(url.exists) export(curlError) export(AUTH_ONLY, AUTH_ANY, AUTH_NTLM, AUTH_ANYSAFE, AUTH_NTLM_WB, AUTH_DIGEST_IE, AUTH_BASIC, AUTH_DIGEST, AUTH_GSSNEGOTIATE, AUTH_NONE) #export(CURLAUTH_ONLY, CURLAUTH_ANY, CURLAUTH_NTLM, CURLAUTH_ANYSAFE, CURLAUTH_NTLM_WB, # CURLAUTH_DIGEST_IE, CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NONE) export(clone) exportMethods(clone) export(getCurlErrorClassNames) RCurl/dynGC.R0000644000176000001440000000045112437571707012475 0ustar ripleyuserslibrary(RCurl) u = "http://localhost/~duncan" curl = getCurlHandle() r = dynCurlReader(curl) x = getURLContent(u, header = r, curl = curl) r$value() rm(r, curl) gc() x = getURLContent(u, followlocation = TRUE) curl = getCurlHandle() x = getURLContent(u, followlocation = TRUE, curl = curl) RCurl/libcurlLicense0000644000176000001440000000202412437571707014226 0ustar ripleyusersCOPYRIGHT AND PERMISSION NOTICE Copyright (c) 1996 - 2006, Daniel Stenberg, . All rights reserved. Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder. RCurl/encoding.R0000644000176000001440000000074612437571707013266 0ustar ripleyuserslibrary(XML) xmlParse("", asText = TRUE) myParse = function(x) parse(text = x) foo = function(x) { browser() iconv(x, "", "UTF8") } foo = function(x) { tt = readLines(file(x, encoding = "UTF8")) browser() tt } library(RCurl) url <- "http://search.twitter.com/search.json?q=%E5%95%A4%E9%85%92&result_type=recent&rpp=1&page=1" doc <- getURLContent(URLencode(url), .encoding = "UTF-8") Encoding(doc) library(RJSONIO) j <- fromJSON(doc) tweet <- j$results[[1]]$text RCurl/data/0000755000176000001440000000000012665241523012250 5ustar ripleyusersRCurl/data/mimeTypeExtensions.rda0000644000176000001440000001141712445322745016617 0ustar ripleyusers\Is8v.%vg{Ì;Z}Ç9$ % )3@0Ta!뇇}x޽=v`F ٽBn]#J-R 5.v.Qw\\&1F4njZy۬zk/e9[jF욷]^e2iNzKY,*褖J6(f$H[zW}P&eS2~=aWHݻ8-yUyh69D>xJy}ubf+aFye71װvUmyOZ6شV9vpî- ݯ6ue}C@xr Pd阒_]&JVu(x!o쌽Rpn^y_ma"eZmuEO.j3CWV*-jq\i8 diw.36RO$ OCN đ$PGXy),s``ډNn/~NkxK|W㡯xy34uTM5ڒ17J}ԨfœFUxrrw%qR~Ǡ+w@V |XQOC lxK7k^ ;'vA/鬪#{zjkgfaFiȤ<8gYnep$ U-a! y;ۉq |LL'Y͔d#X ޸"x 0Lbnj[ :k5Y@yd8'+Q<Ϻ^x`+kJgE7RqӮ:<5p'k̨wwuGG:vK+6Ιbg}ǖ^K>F;4pwzUw.3nJQH]mŲb{LԢLUnԛ |[&jZ"-E6EpL\ pvPNIdXxMҾX_v+Q}h\2 mJNUYvfA_L] M(0")w F]8EWmL!1 6J 9R4;8lW*j߶1kejӢ21]lx+0l,8t]j "v{3-𜯜7YA dTNopT4/e%%^99;nw]upoT"2n]u$:dԻ: \,E +lJ&&8Vƈa ~ %aD;V$,c P 8}uۇG2V* ZgBt1:ejT}OLlUL(…Jnv_;=;Wھ,ZB%W7cb+\k막06ip&@7 j]|?@]z]~hGNLXI3Y߸cvG兮zq5O v[iYr;_eU[ 'LG4@c/ٯ /u&&#{L[JB, ˪"xh/Hy'kb%j!\qVy0(߿ oSop-q\y47~ߟ`)*OkqmOğBu ZUUeާ04`m$3 + :X"Y´{j qJ^ 岸Ҟ |7ժ78P EF?WU#.^K93[uKPw 'q9oÇq@E2gd\ZU[QB߰+Wzt8ݥxlzM6׉w% #sv~8oolcsQumwڹWoEM\]f в:c$=s 0M2d+ت26 sCenm+E\7;85Շf93*0=|6C&*8 )Yņ{_*:%=ôc!yv;:xL`-5}Cf"s $XA hI8#oIC@KRljZ}8DO+O<{j\t2}鬓N'-ܮD^}ZIᑝʻ/:^g278kg*O\N&ّF7]ࡉj-ҘTAk*'"vݴYި68 .d>Cd>Tkp3Ք?MY2멠QZY ؝tD;kK+bfTZ62ϡrYp\12g$'qS ^HB1M!9g@NwVXŸJ6[މ:G,g<gMUәԂaj-,xL)4Wz=*eVRtyUٞ2DMNud?*Ljnܺ@ ldۄF`[TEL]܂ fB|Ucc%L$ͯ*\a9IJ]cR x[.đ|Qh<{6Ry[^K>npN)!s8ևJ4ؐӊ7OC*2%Nkh9UNC(ofIzK݇gν#$C$>h,l*;&^,]"%-IOp$E>>^mQ+2F؀Pw(!w zYG]H89V(OQL%ƒD$fڂa_|z6 -{ +NoqRɳ nlykBKy J9,H-# 0×*%~)pj kwGo#b@h~N^3w VV 90[pVX"|%>`?絋$(4L$0W;#>ŝ1èO L#Q a3! wAcib>:e)`xRTZ"bd *\Sڅ":xi W3pA< X1&we>`{dЁHЅB`V`3Hsڅ 0cDzr/ @- dD\Vfש@]k&z@ 78!jNjd JKAF1_rQ#B"$T ܭ/jl̆{|p7 f}ysL/A0ynF:E)s.偉p.yjdpxQ\45u/ &9p68 zۨ[`{1]!Xa4$줾qRƣ7%B2IKb4 mrqҔ CN"`P䎌aV HC=sv$RˆPhp! MK4  `X 簑`ekP8,vXwuw |KfNlb0"!1 &uGQFq5p۝ .Xӄ {X#j nDVgu v˂Y @1> 0`/_Wi^㐀\$% mۀmD#Cݡ10䟂947Ab;& ܞ ; `2$zNn] ԰߽ [RCurl/R/0000755000176000001440000000000012665241523011540 5ustar ripleyusersRCurl/R/upload.R0000644000176000001440000000264112437571707013161 0ustar ripleyusersftpUpload = # # what is the name of the file or the contents of the file # function(what, to, asText = inherits(what, "AsIs") || is.raw(what), ..., curl = getCurlHandle()) { if(!asText && !inherits(what, "connection")) { file = file(what, "rb") on.exit(close(file)) } else file = what curlPerform(url = to, upload = TRUE, readfunction = uploadFunctionHandler(file, asText), ..., curl = curl) } uploadFunctionHandler = # # returns the function that is called as the READFUNCTION callback. # # This handles raw, character and file contents. # function(file, asText = inherits(file, "AsIs") || is.raw(file)) { if(asText) { pos = 1 isRaw = is.raw(file) len = if(isRaw) length(file) else nchar(file) function(size) { if(pos > len) return(if(isRaw) raw(0) else character(0)) ans = if(isRaw) file[seq(pos, length = size)] else substring(file, pos, pos + size) pos <<- pos + len ans } } else function(size) { readBin(file, raw(), size) } } CFILE = function(filename, mode = "r") { filename = path.expand(filename) .Call("R_openFile", filename, as.character(mode)) } setMethod("close", "CFILE", function(con, ...) { .Call("R_closeCFILE", con@ref, PACKAGE = "RCurl") con }) RCurl/R/getFormParams.R0000644000176000001440000000243612665241535014442 0ustar ripleyusers# This function is for parsing the parameters in a URL # for a form. # It is based on mail and a function from Chris Davis (Delft Uni.) # getFormParams = # # getFormParams("http://www.omegahat.net/foo/bob.R?xyz=1&abc=verylong") # getFormParams("xyz=1&abc=verylong") # getFormParams("xyz=1&abc=") # getFormParams("xyz=1&abc=&on=true") # getFormParams("") # getFormParams(character()) # This handles but doesn't detect that there is no = # getFormParams("abc") function(query, isURL = grepl("^(http|\\?)", query)) { if(length(query) == 0) return(NULL) # allow for either a full URL with the query parameters # or alternative, just the query parameters. if(isURL) # use parseURI from the XML package, but could # use gsub(). # parseURI(query)$query query = gsub(".*\\?", "", query) if(nchar(query) == 0) return(character()) els = strsplit(query, "[&=]")[[1]] i = seq(1, by = 2, length = length(els)/2) ans = structure(els[i+1L], names = els[i]) # if the last parameter didn't have a value, we'll get an NA # Not any of the the internal ones. if(any(i <- is.na(ans))) ans[i] = "" names(ans) = trim(names(ans)) ans } trim = function(x) gsub("(^[[:space:]]+|[[:space:]]$)", "", x) RCurl/R/urlExists.R0000644000176000001440000000126712437571707013702 0ustar ripleyusersurl.exists = function(url, ..., .opts = list(...), curl = getCurlHandle(.opts = .opts), .header = FALSE) { g = basicTextGatherer() failed = FALSE ans = tryCatch(curlPerform(url = url, followlocation = TRUE, headerfunction = g$update, nobody = TRUE, writefunction = g$update, curl = curl), COULDNT_RESOLVE_HOST = function(x) failed <<- TRUE, error = function(x) failed <<- TRUE) if(failed) return(FALSE) if(grepl("^ftp", url)) { return(TRUE) } else header = parseHTTPHeader(g$value()) if(.header) header else as.integer(as.integer(header["status"])/100) == 2 } RCurl/R/multi.S0000644000176000001440000001114112437571707013023 0ustar ripleyusers getURLAsynchronous = getURIAsynchronous = # # Getting the flexibility and semantics correct can be a little hard. # We want to allow people to pass in a different write function/routine # but also to handle the different streams separately. # # A first cut is simply to no allow any customized write functions. # Or to insist that they present the write functions as a list. # We just replicate the object. If it is a closure using shared state, # the text will be interleaved! # If you call this function, you get to download the # function(url, ..., .opts = list(), write = NULL, curl = getCurlHandle(), multiHandle = getCurlMultiHandle(), perform = Inf, .encoding = integer(), binary = rep(NA, length(url))) { writeSupplied = !missing(write) if(!is.null(write) && !is.list(write)) write = replicate(length(url), write) if(length(url) > 1) curl = lapply(url, function(id) dupCurlHandle(curl)) else curl = list(curl) if(length(.encoding)) .encoding = rep(.encoding, length = length(url)) if(is.null(write)) { writeSupplied = FALSE write = mapply(function(curl, url, binary) { force(url); force(curl); force(binary) dynCurlReader(curl, baseURL = url, binary = binary) }, curl, url, binary, SIMPLIFY = FALSE) } for(i in seq(along = url)) { w = write[[i]] if(inherits(w, "DynamicRCurlTextHandler")) { .opts[["headerfunction"]] = w$update .opts[["writefunction"]] = w$update } else if(inherits(w, "RCurlCallbackFunction")) .opts[["writefunction"]] = w$update else .opts[["writefunction"]] = w opts = curlOptions(URL = url[i], ..., .opts = .opts) curlSetOpt(.opts = opts, curl = curl[[i]], .encoding = if(length(.encoding)) .encoding[i] else integer()) multiHandle = push(multiHandle, curl[[i]]) } if(perform > 0) { ctr = 0 while(TRUE) { status = curlMultiPerform(multiHandle) ctr <- ctr + 1 if(status[2] == 0 || ctr > perform) break } if(status[2] == 0 && (!writeSupplied || inherits(write, "MultiTextGatherer"))) return(sapply(write, function(w) w$value())) } # Need to get the new write functions back if we didn't list(multiHandle = multiHandle, write = write) } setGeneric("complete", function(obj, ...) standardGeneric("complete")) setMethod("complete", "MultiCURLHandle", function(obj, ...) { while(TRUE) { status = curlMultiPerform(obj) if(status[2] == 0) break } }) multiTextGatherer = function(uris, binary = rep(NA, length(uris))) { if(is.numeric(uris)) ans = lapply(1:uris, basicTextGatherer) else { ans = lapply(uris, basicTextGatherer) names(ans) = uris } class(ans) <- "MultiTextGatherer" ans } getCurlMultiHandle = function(..., .handles = list(...)) { ans = .Call("R_getCurlMultiHandle", PACKAGE = "RCurl") lapply(.handles, function(h) push(ans, h)) ans } setGeneric("push", function(obj, val, id = character()) standardGeneric("push")) setGeneric("pop", function(obj, val) standardGeneric("pop")) setMethod("push", c("MultiCURLHandle", "CURLHandle"), function(obj, val, id = character()) { .Call("R_pushCurlMultiHandle", obj, val, PACKAGE = "RCurl") # Should check id is not a number. That should not be allowed. if(length(id) == 0) id = length(obj@subhandles) + 1 else id = as.character(id) obj@subhandles[[id]] = val obj }) setMethod("pop", c("MultiCURLHandle", "CURLHandle"), function(obj, val) { .Call("R_popCurlMultiHandle", obj, val, PACKAGE = "RCurl") obj }) setMethod("pop", c("MultiCURLHandle", "character"), function(obj, val) { if(!length(names(obj@subhandles)) || !(val %in% names(obj@subhandles))) stop("No such element in the collection of sub-handles") .Call("R_popCurlMultiHandle", obj, obj@subhandles[[val]], PACKAGE = "RCurl") obj }) curlMultiPerform = function(curl, multiple = TRUE) { status = .Call("R_curlMultiPerform", curl, as.logical(multiple), PACKAGE = "RCurl") names(status) = c("status", "numHandlesRemaining") status } RCurl/R/header.R0000644000176000001440000000463212437571707013127 0ustar ripleyusersparseHTTPHeader = # # Reads the lines from the HTTP response # header and converts them into a # name=value collection as a character vector. # # returns a named list of the fields. Allows duplicates. function(lines, multi = TRUE) { if(length(lines) < 1) return(NULL) if(length(lines) == 1) lines = strsplit(lines, "\r\n")[[1]] if(multi) { i = grep("^HTTP", lines) status = lines[max(i)] lines = lines[seq(max(i), length(lines))] } else status = lines[1] # Get the status and if it is 100, then throw away the first 2 lines # e.g. HTTP/1.1 100 Continue # \r\n st = getStatus(status) if(st[["status"]] == 100) { # Have to worry about whether we just get a 100 and nothing else # and so lines[3] won't exist. if((length(lines) - length(grep("^[[:space:]]*$", lines))) == 1) return(st) # We seem to jump to the 3 rd line as the real status # and discard the first two lines. Is this the Expect. # status = lines[3] # lines = lines[-(1:2)] } lines = lines[-1] lines = gsub("\r\n$", "", lines) # was \r\n\0$ lines = lines[ lines != "" ] if(FALSE) { # Doesn't behave. Duplicates! header = lines[-1] header <- read.dcf(textConnection(header)) } else { # els <- sapply(lines, function(x) strsplit(x, ": *")) # header <- sapply(els, function(x) paste(x[2]) #XX what if more than 2 els. # names(header) <- sapply(els, function(x) x[1]) header = structure(sub("[^:]+: (.*)", "\\1", lines), names = sub("([^:]+):.*", "\\1", lines)) } # st = getStatus(status) header[["status"]] = st[["status"]] header[["statusMessage"]] = st[["message"]] header } getStatus = # # Reads the first line of the HTTP header, e.g of the form # HTTP/1.1 200 OK # or # HTTP/1.1 404 Not Found # and returns # list(status = 404, message = "Not Found") function(status) { els <- strsplit(status, " ")[[1]] list(status = as.integer(els[2]), message = paste(els[-c(1,2)], collapse = " ")) } getEncoding = function(x) { val = gsub("Content-Type:.*;\\W*charset=", "", x) if(all(nchar(val) == nchar(x))) # See if there was any substitution done, i.e. a match. return(NA) switch(val, "UTF-8" =, "utf-8" = 1L, "ISO-8859-1" = 2L, -1L) } findHTTPHeaderEncoding = function(str) { els = strsplit(str, "\\\r\\\n") v = lapply(els, getEncoding) if(any(!is.na(v))) { v[[!is.na(v)]][[1]] } else -1L } RCurl/R/aclassesEnums.R0000644000176000001440000001563712437571707014514 0ustar ripleyusers# EnumValue is typically for individual values. # Bitwise can support a vector. # These are for values. The definition is separate. setClass("SymbolicConstant", representation = c(names = "character"), contains = "integer") setClass("EnumValue", contains = "SymbolicConstant", prototype = as.integer(NA)) setClass("BitwiseValue", contains = "SymbolicConstant", prototype = as.integer(NA)) ################################## # IGNORE # These 3 and the next classes look like versions of the same idea. if(FALSE) { setClass("SymbolicConstantsDefinition", representation(name = "character")) setClass("EnumValueDefinition", contains = c("EnumValue", "SymbolicConstantsDefinition")) setClass("BitwiseValueDefinition", contains = c("BitwiseValue", "SymbolicConstantsDefinition")) BitwiseValueDefinition = function(values, name = names(values), class = "BitwiseValueDefinition") { ans = new("BitwiseValueDefinition", wxStretchValues, name = "wxStretch") names(ans) = name ans } setMethod("[", "BitwiseValueDefinition", function(x, i, j, ..., drop = TRUE) { k = class(x[[1]]) ans = callNextMethod() BitwiseValue(ans, class = k) }) } # IGNORE ################################## setClass("EnumDef", representation(EnumName = "character"), contains = "integer") EnumDef = function(name, values, symbolicNames = names(values)) { values = as(values, "integer") ans = new("EnumDef", structure(values, names = symbolicNames), EnumName = name) names(ans) = symbolicNames ans } # General types that can be used in an S4 method signature in setMethod # to cover an enumeration or bitwise in its various forms of specification, # i.e. as a number, a string or as an actual EnumValue or BitwiseValue setClassUnion("EnumerationValue", c("numeric", "integer", "character", "EnumValue")) # Display with the name. setMethod("show", "SymbolicConstant", function(object) # avoid the bitlist coercion show(structure(as(unclass(object), "numeric"), names = names(object))) ) # display as a 1 row matrix with the name of the enum type as the row name. # Do we need this or can we have the generic SymbolicConstant. tmp = function(object) show(matrix(as(object, "integer"), 1, , dimnames = list(paste(object@EnumName, ":", sep = ""), names(object)))) #setMethod("show", "EnumValue", tmp) # do we want this. setMethod("show", "EnumDef", tmp) setMethod("show", "SymbolicConstant", function(object) show(matrix(as(object, "integer"), 1, , dimnames = list(class(object), names(object))))) setMethod("[", "EnumDef", function(x, i, j, ..., drop = TRUE) { vals = get(paste(x@EnumName, "Values", sep = "")) asEnumValue( unclass(x)[i], vals) }) makeSymbolicVariables = # # For element in the def, create a corresponding R variable with that name # which contains that value. # e.g. # c(a = 1, b = 2) # for a class MyEnum, we would end up with # variables named a and b with values 1 and 2 respectively # and each would be of class MyEnum. # # The target class must have been defined before this. # function(def, className = class(def), where = globalenv()) { invisible(sapply(names(def), function(i) { if(is(def, "BitwiseValue")) el = BitwiseValue(def[i], i, class = className) else el = def[i] assign(i, el, where) })) } cumBitOr = bitlist = function(...) { x = unlist(list(...)) if(length(x) == 1) return(x) ans = x[1] for(i in 2:length(x)) { ans = bitOr(ans, x[i]) } ans } asEnumValue = # # if fixCloseMatches is TRUE, we continue on if we can find a match # for all of the possible values that were specified slightly incorrectly. # function(val, values, class = values@EnumName, fromString = NA, fixCloseMatches = TRUE, prefix = character(), S3 = is.null(getClassDef(class))) { # handle multiple entries. if(length(val) > 1) { tmp = sapply(val, asEnumValue, values, class, fromString, fixCloseMatches, prefix, USE.NAMES = FALSE) # if we have multiple values and they relate to a BitwiseValue enumeration, # collapse them into a single value. # class was getClass(class) if(extends(class, "BitwiseValue")) #XXX augment for S3 return(bitlist(tmp)) if(S3) class(tmp) = c(class, "EnumValue") else tmp = as(tmp, class) return(tmp) } if(is.na(fromString)) fromString = is(val, "character") if(fromString) { i = pmatch(val, names(values)) # allowing pmatch, but should type it explicitly in code. # deal with lowercase matches for covenience if(is.na(i)) i = pmatch(val, tolower(names(values))) # and if still not there, remove the prefix. if(is.na(i) && length(prefix)) i = pmatch(val, tolower(gsub(paste("^", prefix, sep = ""), "", names(values)))) } else i = match(val, values) if(any(is.na(i))) { i = raiseEnumError(val, values, fromString, fixCloseMatches, index = i) } if(S3) { ans = structure(unclass(values)[i], names = names(values)[i]) class(ans) = c(class, "EnumValue") return(ans) } else { ans = new(class, unclass(values)[i]) names(ans) = names(values)[i] } ans } GenericEnumValue = function(name, val, class = "EnumValue", S3 = FALSE) { if(S3) { ans = structure(val, names = name, class = unique(c(class, "EnumValue"))) } else { ans = new(class, val) names(ans) = name } ans } raiseEnumError = function(val, values, fromString = is(fromString, "character"), fixCloseMatches = TRUE, index = match(val, if(fromString) names(values) else values)) { # see if we can find values that were close to the ones the user gave us incorrectly. if(fromString) { possibles = names(values)[m <- agrep(val[is.na(index)], names(values))] } else { possibles = values[ m <- agrep(as.character(val), as.character(values)) ] } if(length(possibles)) { txt = paste("\n\tPerhaps you meant", if(length(possibles) > 1) "one of", paste(possibles, collapse = ", ")) txt = paste("No such value(s) ", val[is.na(index)], " in ", paste(names(values), collapse = ", "), txt, sep = "") msg = list(message = txt, call = NULL, possibleValues = possibles, class = class) if(fixCloseMatches && all(!is.na(m))) { class(msg) = c("EnumCoercionWarning", "warning", "condition") warning(msg) index[is.na(index)] = m return(index) } else { class(msg) = c("EnumCoercionError", "error", "condition") stop(msg) } } else stop("No such value(s) ", val[is.na(index)], " in ", paste(names(values), collapse = ", ")) } RCurl/R/curlInfo.S0000644000176000001440000000262112437571707013455 0ustar ripleyusers curlVersion <- function(id = 0) { x = .Call("R_curl_version_info", as.integer(id), PACKAGE = "RCurl") # Now break up the features. x$features = getBitIndicators(x$features, CurlFeatureBits) x } CurlFeatureBits = as.integer(2^(0:15)) names(CurlFeatureBits) = c("ipv6", "kerberos4", "ssl", "libz", "ntlm", "gssnegotiate", "debug", "asynchdns", "spnego", "largefile", "idn", "sspi", "conv", "curldebug", "tlsauth_srp", "ntlm_wb") class(CurlFeatureBits) = c("CurlFeatureBits", "BitIndicator") CurlGlobalBits = as.integer(c(0, 1, 2, 3)) names(CurlGlobalBits) = c("none", "ssl", "win32", "all") class(CurlGlobalBits) = c("CurlGlobalBits", "BitIndicator") setBitIndicators = # # if the caller gives an integer, sum them # if the give a vector of strings, resolve them relative to the # names in defs and then sum those. # # # If we hand this a value that is a composition of flags, # we don't do the right thing. # function(vals, defs) { if(is.character(vals)) { i = match(vals, names(defs)) if(any(is.na(i))) stop("Unmatched bit field names ", paste(vals[is.na(i)], collapse=", ")) vals = defs[i] } as.integer(sum(vals)) } getBitIndicators = function(val, defs) { n = length(defs) ans = .C("R_check_bits", as.integer(val), as.integer(defs), ans = logical(n), n, PACKAGE = "RCurl")$ans defs[ans] } RCurl/R/httpErrors.R0000644000176000001440000000241612437571707014051 0ustar ripleyusers# Generated from inst/HTTPErrors/makeErrorClasses.R httpErrorClasses = c( '100' = 'Continue', '101' = 'Switching_Protocols', '200' = 'OK', '201' = 'Created', '202' = 'Accepted', '203' = 'Non-Authoritative_Information', '204' = 'No_Content', '205' = 'Reset_Content', '206' = 'Partial_Content', '300' = 'Multiple_Choices', '301' = 'Moved_Permanently', '302' = 'Found', '303' = 'See_Other', '304' = 'Not_Modified', '305' = 'Use_Proxy', '306' = '(Unused)', '307' = 'Temporary_Redirect', '400' = 'Bad_Request', '401' = 'Unauthorized', '402' = 'Payment_Required', '403' = 'Forbidden', '404' = 'Not_Found', '405' = 'Method_Not_Allowed', '406' = 'Not_Acceptable', '407' = 'Proxy_Authentication_Required', '408' = 'Request_Timeout', '409' = 'Conflict', '410' = 'Gone', '411' = 'Length_Required', '412' = 'Precondition_Failed', '413' = 'Request_Entity_Too_Large', '414' = 'Request-URI_Too_Long', '415' = 'Unsupported_Media_Type', '416' = 'Requested_Range_Not_Satisfiable', '417' = 'Expectation_Failed', '500' = 'Internal_Server_Error', '501' = 'Not_Implemented', '502' = 'Bad_Gateway', '503' = 'Service_Unavailable', '504' = 'Gateway_Timeout', '505' = 'HTTP_Version_Not_Supported' )RCurl/R/binary.S0000644000176000001440000000117012437571707013156 0ustar ripleyuserssetClass("RCurlBinaryBuffer", representation(ref = "externalptr")) binaryBuffer = function(initialSize = 5000) { a = .Call(R_curl_BinaryData_new, as.integer(initialSize)) new("RCurlBinaryBuffer", ref = a) } setAs("RCurlBinaryBuffer", "raw", function(from, to) { .Call(R_curl_BinaryData_to_raw, from@ref) }) getBinaryURL = function(url, ..., .opts = list(), curl = getCurlHandle(), .buf = binaryBuffer(.len), .len = 5000) { getURL(url, ..., write = getNativeSymbolInfo("R_curl_write_binary_data")$address, file = .buf@ref, curl = curl, .opts = .opts) as(.buf, "raw") } RCurl/R/support.S0000644000176000001440000000172212437571707013411 0ustar ripleyuserscollectChunks = # Not exported but can be used via RCurl:::collectChunks() function(max = 10) { chunks = character() ctr = 0 list(chunks = function() chunks, read = function(txt) { ctr <<- ctr + 1 chunks[ctr] <<- txt if(ctr >= max) stop("Got enough") }) } chunkToLineReader = function(f, verbose = FALSE) { leftOvers = "" read = function(txt) { if(nzchar(leftOvers)) { txt = paste(leftOvers, txt, sep = "") leftOvers <<- "" } # Now find the bit at the end if there is any that is not a complete line. leftOvers <<- gsub('^.*\n', '', txt) if(verbose && nchar(leftOvers)) cat("Left over:", leftOvers, "\n") Lines = strsplit(txt, "\n")[[1]] if(nchar(leftOvers)) Lines = Lines[-length(Lines)] if(length(Lines)) f(Lines) nchar(txt) } list(read = read, pending = function() leftOvers) } RCurl/R/curlEnums.R0000644000176000001440000005604012437571707013654 0ustar ripleyusersif(!is.null(getClassDef('EnumValue'))) { setClass('curl_infotype', contains = 'EnumValue') `curl_infotypeValues` = EnumDef('curl_infotype', structure(as.integer(c(0, 1, 2, 3, 4, 5, 6, 7)), names = c("CURLINFO_TEXT", "CURLINFO_HEADER_IN", "CURLINFO_HEADER_OUT", "CURLINFO_DATA_IN", "CURLINFO_DATA_OUT", "CURLINFO_SSL_DATA_IN", "CURLINFO_SSL_DATA_OUT", "CURLINFO_END"))) setAs('numeric', 'curl_infotype', function(from) asEnumValue(from, `curl_infotypeValues`, 'curl_infotype', prefix = "CURLINFO_")) setAs('character', 'curl_infotype', function(from) asEnumValue(from, `curl_infotypeValues`, 'curl_infotype', prefix = "CURLINFO_")) setAs('integer', 'curl_infotype', function(from) asEnumValue(from, `curl_infotypeValues`, 'curl_infotype', prefix = "CURLINFO_")) `CURLINFO_TEXT` <- GenericEnumValue('CURLINFO_TEXT', 0, 'curl_infotype') `CURLINFO_HEADER_IN` <- GenericEnumValue('CURLINFO_HEADER_IN', 1, 'curl_infotype') `CURLINFO_HEADER_OUT` <- GenericEnumValue('CURLINFO_HEADER_OUT', 2, 'curl_infotype') `CURLINFO_DATA_IN` <- GenericEnumValue('CURLINFO_DATA_IN', 3, 'curl_infotype') `CURLINFO_DATA_OUT` <- GenericEnumValue('CURLINFO_DATA_OUT', 4, 'curl_infotype') `CURLINFO_SSL_DATA_IN` <- GenericEnumValue('CURLINFO_SSL_DATA_IN', 5, 'curl_infotype') `CURLINFO_SSL_DATA_OUT` <- GenericEnumValue('CURLINFO_SSL_DATA_OUT', 6, 'curl_infotype') `CURLINFO_END` <- GenericEnumValue('CURLINFO_END', 7, 'curl_infotype') ##################### setClass('CURLcode', contains = 'EnumValue') `CURLcodeValues` = EnumDef('CURLcode', structure(as.integer(c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84)), names = c("CURLE_OK", "CURLE_UNSUPPORTED_PROTOCOL", "CURLE_FAILED_INIT", "CURLE_URL_MALFORMAT", "CURLE_OBSOLETE4", "CURLE_COULDNT_RESOLVE_PROXY", "CURLE_COULDNT_RESOLVE_HOST", "CURLE_COULDNT_CONNECT", "CURLE_FTP_WEIRD_SERVER_REPLY", "CURLE_REMOTE_ACCESS_DENIED", "CURLE_OBSOLETE10", "CURLE_FTP_WEIRD_PASS_REPLY", "CURLE_OBSOLETE12", "CURLE_FTP_WEIRD_PASV_REPLY", "CURLE_FTP_WEIRD_227_FORMAT", "CURLE_FTP_CANT_GET_HOST", "CURLE_OBSOLETE16", "CURLE_FTP_COULDNT_SET_TYPE", "CURLE_PARTIAL_FILE", "CURLE_FTP_COULDNT_RETR_FILE", "CURLE_OBSOLETE20", "CURLE_QUOTE_ERROR", "CURLE_HTTP_RETURNED_ERROR", "CURLE_WRITE_ERROR", "CURLE_OBSOLETE24", "CURLE_UPLOAD_FAILED", "CURLE_READ_ERROR", "CURLE_OUT_OF_MEMORY", "CURLE_OPERATION_TIMEDOUT", "CURLE_OBSOLETE29", "CURLE_FTP_PORT_FAILED", "CURLE_FTP_COULDNT_USE_REST", "CURLE_OBSOLETE32", "CURLE_RANGE_ERROR", "CURLE_HTTP_POST_ERROR", "CURLE_SSL_CONNECT_ERROR", "CURLE_BAD_DOWNLOAD_RESUME", "CURLE_FILE_COULDNT_READ_FILE", "CURLE_LDAP_CANNOT_BIND", "CURLE_LDAP_SEARCH_FAILED", "CURLE_OBSOLETE40", "CURLE_FUNCTION_NOT_FOUND", "CURLE_ABORTED_BY_CALLBACK", "CURLE_BAD_FUNCTION_ARGUMENT", "CURLE_OBSOLETE44", "CURLE_INTERFACE_FAILED", "CURLE_OBSOLETE46", "CURLE_TOO_MANY_REDIRECTS", "CURLE_UNKNOWN_TELNET_OPTION", "CURLE_TELNET_OPTION_SYNTAX", "CURLE_OBSOLETE50", "CURLE_PEER_FAILED_VERIFICATION", "CURLE_GOT_NOTHING", "CURLE_SSL_ENGINE_NOTFOUND", "CURLE_SSL_ENGINE_SETFAILED", "CURLE_SEND_ERROR", "CURLE_RECV_ERROR", "CURLE_OBSOLETE57", "CURLE_SSL_CERTPROBLEM", "CURLE_SSL_CIPHER", "CURLE_SSL_CACERT", "CURLE_BAD_CONTENT_ENCODING", "CURLE_LDAP_INVALID_URL", "CURLE_FILESIZE_EXCEEDED", "CURLE_USE_SSL_FAILED", "CURLE_SEND_FAIL_REWIND", "CURLE_SSL_ENGINE_INITFAILED", "CURLE_LOGIN_DENIED", "CURLE_TFTP_NOTFOUND", "CURLE_TFTP_PERM", "CURLE_REMOTE_DISK_FULL", "CURLE_TFTP_ILLEGAL", "CURLE_TFTP_UNKNOWNID", "CURLE_REMOTE_FILE_EXISTS", "CURLE_TFTP_NOSUCHUSER", "CURLE_CONV_FAILED", "CURLE_CONV_REQD", "CURLE_SSL_CACERT_BADFILE", "CURLE_REMOTE_FILE_NOT_FOUND", "CURLE_SSH", "CURLE_SSL_SHUTDOWN_FAILED", "CURLE_AGAIN", "CURLE_SSL_CRL_BADFILE", "CURLE_SSL_ISSUER_ERROR", "CURL_LAST"))) setAs('numeric', 'CURLcode', function(from) asEnumValue(from, `CURLcodeValues`, 'CURLcode', prefix = "CURL")) setAs('character', 'CURLcode', function(from) asEnumValue(from, `CURLcodeValues`, 'CURLcode', prefix = "CURL")) setAs('integer', 'CURLcode', function(from) asEnumValue(from, `CURLcodeValues`, 'CURLcode', prefix = "CURL")) `CURLE_OK` <- GenericEnumValue('CURLE_OK', 0, 'CURLcode') `CURLE_UNSUPPORTED_PROTOCOL` <- GenericEnumValue('CURLE_UNSUPPORTED_PROTOCOL', 1, 'CURLcode') `CURLE_FAILED_INIT` <- GenericEnumValue('CURLE_FAILED_INIT', 2, 'CURLcode') `CURLE_URL_MALFORMAT` <- GenericEnumValue('CURLE_URL_MALFORMAT', 3, 'CURLcode') `CURLE_OBSOLETE4` <- GenericEnumValue('CURLE_OBSOLETE4', 4, 'CURLcode') `CURLE_COULDNT_RESOLVE_PROXY` <- GenericEnumValue('CURLE_COULDNT_RESOLVE_PROXY', 5, 'CURLcode') `CURLE_COULDNT_RESOLVE_HOST` <- GenericEnumValue('CURLE_COULDNT_RESOLVE_HOST', 6, 'CURLcode') `CURLE_COULDNT_CONNECT` <- GenericEnumValue('CURLE_COULDNT_CONNECT', 7, 'CURLcode') `CURLE_FTP_WEIRD_SERVER_REPLY` <- GenericEnumValue('CURLE_FTP_WEIRD_SERVER_REPLY', 8, 'CURLcode') `CURLE_REMOTE_ACCESS_DENIED` <- GenericEnumValue('CURLE_REMOTE_ACCESS_DENIED', 9, 'CURLcode') `CURLE_OBSOLETE10` <- GenericEnumValue('CURLE_OBSOLETE10', 10, 'CURLcode') `CURLE_FTP_WEIRD_PASS_REPLY` <- GenericEnumValue('CURLE_FTP_WEIRD_PASS_REPLY', 11, 'CURLcode') `CURLE_OBSOLETE12` <- GenericEnumValue('CURLE_OBSOLETE12', 12, 'CURLcode') `CURLE_FTP_WEIRD_PASV_REPLY` <- GenericEnumValue('CURLE_FTP_WEIRD_PASV_REPLY', 13, 'CURLcode') `CURLE_FTP_WEIRD_227_FORMAT` <- GenericEnumValue('CURLE_FTP_WEIRD_227_FORMAT', 14, 'CURLcode') `CURLE_FTP_CANT_GET_HOST` <- GenericEnumValue('CURLE_FTP_CANT_GET_HOST', 15, 'CURLcode') `CURLE_OBSOLETE16` <- GenericEnumValue('CURLE_OBSOLETE16', 16, 'CURLcode') `CURLE_FTP_COULDNT_SET_TYPE` <- GenericEnumValue('CURLE_FTP_COULDNT_SET_TYPE', 17, 'CURLcode') `CURLE_PARTIAL_FILE` <- GenericEnumValue('CURLE_PARTIAL_FILE', 18, 'CURLcode') `CURLE_FTP_COULDNT_RETR_FILE` <- GenericEnumValue('CURLE_FTP_COULDNT_RETR_FILE', 19, 'CURLcode') `CURLE_OBSOLETE20` <- GenericEnumValue('CURLE_OBSOLETE20', 20, 'CURLcode') `CURLE_QUOTE_ERROR` <- GenericEnumValue('CURLE_QUOTE_ERROR', 21, 'CURLcode') `CURLE_HTTP_RETURNED_ERROR` <- GenericEnumValue('CURLE_HTTP_RETURNED_ERROR', 22, 'CURLcode') `CURLE_WRITE_ERROR` <- GenericEnumValue('CURLE_WRITE_ERROR', 23, 'CURLcode') `CURLE_OBSOLETE24` <- GenericEnumValue('CURLE_OBSOLETE24', 24, 'CURLcode') `CURLE_UPLOAD_FAILED` <- GenericEnumValue('CURLE_UPLOAD_FAILED', 25, 'CURLcode') `CURLE_READ_ERROR` <- GenericEnumValue('CURLE_READ_ERROR', 26, 'CURLcode') `CURLE_OUT_OF_MEMORY` <- GenericEnumValue('CURLE_OUT_OF_MEMORY', 27, 'CURLcode') `CURLE_OPERATION_TIMEDOUT` <- GenericEnumValue('CURLE_OPERATION_TIMEDOUT', 28, 'CURLcode') `CURLE_OBSOLETE29` <- GenericEnumValue('CURLE_OBSOLETE29', 29, 'CURLcode') `CURLE_FTP_PORT_FAILED` <- GenericEnumValue('CURLE_FTP_PORT_FAILED', 30, 'CURLcode') `CURLE_FTP_COULDNT_USE_REST` <- GenericEnumValue('CURLE_FTP_COULDNT_USE_REST', 31, 'CURLcode') `CURLE_OBSOLETE32` <- GenericEnumValue('CURLE_OBSOLETE32', 32, 'CURLcode') `CURLE_RANGE_ERROR` <- GenericEnumValue('CURLE_RANGE_ERROR', 33, 'CURLcode') `CURLE_HTTP_POST_ERROR` <- GenericEnumValue('CURLE_HTTP_POST_ERROR', 34, 'CURLcode') `CURLE_SSL_CONNECT_ERROR` <- GenericEnumValue('CURLE_SSL_CONNECT_ERROR', 35, 'CURLcode') `CURLE_BAD_DOWNLOAD_RESUME` <- GenericEnumValue('CURLE_BAD_DOWNLOAD_RESUME', 36, 'CURLcode') `CURLE_FILE_COULDNT_READ_FILE` <- GenericEnumValue('CURLE_FILE_COULDNT_READ_FILE', 37, 'CURLcode') `CURLE_LDAP_CANNOT_BIND` <- GenericEnumValue('CURLE_LDAP_CANNOT_BIND', 38, 'CURLcode') `CURLE_LDAP_SEARCH_FAILED` <- GenericEnumValue('CURLE_LDAP_SEARCH_FAILED', 39, 'CURLcode') `CURLE_OBSOLETE40` <- GenericEnumValue('CURLE_OBSOLETE40', 40, 'CURLcode') `CURLE_FUNCTION_NOT_FOUND` <- GenericEnumValue('CURLE_FUNCTION_NOT_FOUND', 41, 'CURLcode') `CURLE_ABORTED_BY_CALLBACK` <- GenericEnumValue('CURLE_ABORTED_BY_CALLBACK', 42, 'CURLcode') `CURLE_BAD_FUNCTION_ARGUMENT` <- GenericEnumValue('CURLE_BAD_FUNCTION_ARGUMENT', 43, 'CURLcode') `CURLE_OBSOLETE44` <- GenericEnumValue('CURLE_OBSOLETE44', 44, 'CURLcode') `CURLE_INTERFACE_FAILED` <- GenericEnumValue('CURLE_INTERFACE_FAILED', 45, 'CURLcode') `CURLE_OBSOLETE46` <- GenericEnumValue('CURLE_OBSOLETE46', 46, 'CURLcode') `CURLE_TOO_MANY_REDIRECTS` <- GenericEnumValue('CURLE_TOO_MANY_REDIRECTS', 47, 'CURLcode') `CURLE_UNKNOWN_TELNET_OPTION` <- GenericEnumValue('CURLE_UNKNOWN_TELNET_OPTION', 48, 'CURLcode') `CURLE_TELNET_OPTION_SYNTAX` <- GenericEnumValue('CURLE_TELNET_OPTION_SYNTAX', 49, 'CURLcode') `CURLE_OBSOLETE50` <- GenericEnumValue('CURLE_OBSOLETE50', 50, 'CURLcode') `CURLE_PEER_FAILED_VERIFICATION` <- GenericEnumValue('CURLE_PEER_FAILED_VERIFICATION', 51, 'CURLcode') `CURLE_GOT_NOTHING` <- GenericEnumValue('CURLE_GOT_NOTHING', 52, 'CURLcode') `CURLE_SSL_ENGINE_NOTFOUND` <- GenericEnumValue('CURLE_SSL_ENGINE_NOTFOUND', 53, 'CURLcode') `CURLE_SSL_ENGINE_SETFAILED` <- GenericEnumValue('CURLE_SSL_ENGINE_SETFAILED', 54, 'CURLcode') `CURLE_SEND_ERROR` <- GenericEnumValue('CURLE_SEND_ERROR', 55, 'CURLcode') `CURLE_RECV_ERROR` <- GenericEnumValue('CURLE_RECV_ERROR', 56, 'CURLcode') `CURLE_OBSOLETE57` <- GenericEnumValue('CURLE_OBSOLETE57', 57, 'CURLcode') `CURLE_SSL_CERTPROBLEM` <- GenericEnumValue('CURLE_SSL_CERTPROBLEM', 58, 'CURLcode') `CURLE_SSL_CIPHER` <- GenericEnumValue('CURLE_SSL_CIPHER', 59, 'CURLcode') `CURLE_SSL_CACERT` <- GenericEnumValue('CURLE_SSL_CACERT', 60, 'CURLcode') `CURLE_BAD_CONTENT_ENCODING` <- GenericEnumValue('CURLE_BAD_CONTENT_ENCODING', 61, 'CURLcode') `CURLE_LDAP_INVALID_URL` <- GenericEnumValue('CURLE_LDAP_INVALID_URL', 62, 'CURLcode') `CURLE_FILESIZE_EXCEEDED` <- GenericEnumValue('CURLE_FILESIZE_EXCEEDED', 63, 'CURLcode') `CURLE_USE_SSL_FAILED` <- GenericEnumValue('CURLE_USE_SSL_FAILED', 64, 'CURLcode') `CURLE_SEND_FAIL_REWIND` <- GenericEnumValue('CURLE_SEND_FAIL_REWIND', 65, 'CURLcode') `CURLE_SSL_ENGINE_INITFAILED` <- GenericEnumValue('CURLE_SSL_ENGINE_INITFAILED', 66, 'CURLcode') `CURLE_LOGIN_DENIED` <- GenericEnumValue('CURLE_LOGIN_DENIED', 67, 'CURLcode') `CURLE_TFTP_NOTFOUND` <- GenericEnumValue('CURLE_TFTP_NOTFOUND', 68, 'CURLcode') `CURLE_TFTP_PERM` <- GenericEnumValue('CURLE_TFTP_PERM', 69, 'CURLcode') `CURLE_REMOTE_DISK_FULL` <- GenericEnumValue('CURLE_REMOTE_DISK_FULL', 70, 'CURLcode') `CURLE_TFTP_ILLEGAL` <- GenericEnumValue('CURLE_TFTP_ILLEGAL', 71, 'CURLcode') `CURLE_TFTP_UNKNOWNID` <- GenericEnumValue('CURLE_TFTP_UNKNOWNID', 72, 'CURLcode') `CURLE_REMOTE_FILE_EXISTS` <- GenericEnumValue('CURLE_REMOTE_FILE_EXISTS', 73, 'CURLcode') `CURLE_TFTP_NOSUCHUSER` <- GenericEnumValue('CURLE_TFTP_NOSUCHUSER', 74, 'CURLcode') `CURLE_CONV_FAILED` <- GenericEnumValue('CURLE_CONV_FAILED', 75, 'CURLcode') `CURLE_CONV_REQD` <- GenericEnumValue('CURLE_CONV_REQD', 76, 'CURLcode') `CURLE_SSL_CACERT_BADFILE` <- GenericEnumValue('CURLE_SSL_CACERT_BADFILE', 77, 'CURLcode') `CURLE_REMOTE_FILE_NOT_FOUND` <- GenericEnumValue('CURLE_REMOTE_FILE_NOT_FOUND', 78, 'CURLcode') `CURLE_SSH` <- GenericEnumValue('CURLE_SSH', 79, 'CURLcode') `CURLE_SSL_SHUTDOWN_FAILED` <- GenericEnumValue('CURLE_SSL_SHUTDOWN_FAILED', 80, 'CURLcode') `CURLE_AGAIN` <- GenericEnumValue('CURLE_AGAIN', 81, 'CURLcode') `CURLE_SSL_CRL_BADFILE` <- GenericEnumValue('CURLE_SSL_CRL_BADFILE', 82, 'CURLcode') `CURLE_SSL_ISSUER_ERROR` <- GenericEnumValue('CURLE_SSL_ISSUER_ERROR', 83, 'CURLcode') `CURL_LAST` <- GenericEnumValue('CURL_LAST', 84, 'CURLcode') ##################### setClass('curl_proxytype', contains = 'EnumValue') `curl_proxytypeValues` = EnumDef('curl_proxytype', structure(as.integer(c(0, 1, 4, 5, 6, 7)), names = c("CURLPROXY_HTTP", "CURLPROXY_HTTP_1_0", "CURLPROXY_SOCKS4", "CURLPROXY_SOCKS5", "CURLPROXY_SOCKS4A", "CURLPROXY_SOCKS5_HOSTNAME"))) setAs('numeric', 'curl_proxytype', function(from) asEnumValue(from, `curl_proxytypeValues`, 'curl_proxytype', prefix = "CURLPROXY_")) setAs('character', 'curl_proxytype', function(from) asEnumValue(from, `curl_proxytypeValues`, 'curl_proxytype', prefix = "CURLPROXY_")) setAs('integer', 'curl_proxytype', function(from) asEnumValue(from, `curl_proxytypeValues`, 'curl_proxytype', prefix = "CURLPROXY_")) `CURLPROXY_HTTP` <- GenericEnumValue('CURLPROXY_HTTP', 0, 'curl_proxytype') `CURLPROXY_HTTP_1_0` <- GenericEnumValue('CURLPROXY_HTTP_1_0', 1, 'curl_proxytype') `CURLPROXY_SOCKS4` <- GenericEnumValue('CURLPROXY_SOCKS4', 4, 'curl_proxytype') `CURLPROXY_SOCKS5` <- GenericEnumValue('CURLPROXY_SOCKS5', 5, 'curl_proxytype') `CURLPROXY_SOCKS4A` <- GenericEnumValue('CURLPROXY_SOCKS4A', 6, 'curl_proxytype') `CURLPROXY_SOCKS5_HOSTNAME` <- GenericEnumValue('CURLPROXY_SOCKS5_HOSTNAME', 7, 'curl_proxytype') ##################### setClass('curl_usessl', contains = 'EnumValue') `curl_usesslValues` = EnumDef('curl_usessl', structure(as.integer(c(0, 1, 2, 3, 4)), names = c("CURLUSESSL_NONE", "CURLUSESSL_TRY", "CURLUSESSL_CONTROL", "CURLUSESSL_ALL", "CURLUSESSL_LAST"))) setAs('numeric', 'curl_usessl', function(from) asEnumValue(from, `curl_usesslValues`, 'curl_usessl', prefix = "CURLUSESSL_")) setAs('character', 'curl_usessl', function(from) asEnumValue(from, `curl_usesslValues`, 'curl_usessl', prefix = "CURLUSESSL_")) setAs('integer', 'curl_usessl', function(from) asEnumValue(from, `curl_usesslValues`, 'curl_usessl', prefix = "CURLUSESSL_")) `CURLUSESSL_NONE` <- GenericEnumValue('CURLUSESSL_NONE', 0, 'curl_usessl') `CURLUSESSL_TRY` <- GenericEnumValue('CURLUSESSL_TRY', 1, 'curl_usessl') `CURLUSESSL_CONTROL` <- GenericEnumValue('CURLUSESSL_CONTROL', 2, 'curl_usessl') `CURLUSESSL_ALL` <- GenericEnumValue('CURLUSESSL_ALL', 3, 'curl_usessl') `CURLUSESSL_LAST` <- GenericEnumValue('CURLUSESSL_LAST', 4, 'curl_usessl') ##################### setClass('curl_ftpccc', contains = 'EnumValue') `curl_ftpcccValues` = EnumDef('curl_ftpccc', structure(as.integer(c(0, 1, 2, 3)), names = c("CURLFTPSSL_CCC_NONE", "CURLFTPSSL_CCC_PASSIVE", "CURLFTPSSL_CCC_ACTIVE", "CURLFTPSSL_CCC_LAST"))) setAs('numeric', 'curl_ftpccc', function(from) asEnumValue(from, `curl_ftpcccValues`, 'curl_ftpccc', prefix = "CURLFTPSSL_CCC_")) setAs('character', 'curl_ftpccc', function(from) asEnumValue(from, `curl_ftpcccValues`, 'curl_ftpccc', prefix = "CURLFTPSSL_CCC_")) setAs('integer', 'curl_ftpccc', function(from) asEnumValue(from, `curl_ftpcccValues`, 'curl_ftpccc', prefix = "CURLFTPSSL_CCC_")) `CURLFTPSSL_CCC_NONE` <- GenericEnumValue('CURLFTPSSL_CCC_NONE', 0, 'curl_ftpccc') `CURLFTPSSL_CCC_PASSIVE` <- GenericEnumValue('CURLFTPSSL_CCC_PASSIVE', 1, 'curl_ftpccc') `CURLFTPSSL_CCC_ACTIVE` <- GenericEnumValue('CURLFTPSSL_CCC_ACTIVE', 2, 'curl_ftpccc') `CURLFTPSSL_CCC_LAST` <- GenericEnumValue('CURLFTPSSL_CCC_LAST', 3, 'curl_ftpccc') ##################### setClass('curl_ftpauth', contains = 'EnumValue') `curl_ftpauthValues` = EnumDef('curl_ftpauth', structure(as.integer(c(0, 1, 2, 3)), names = c("CURLFTPAUTH_DEFAULT", "CURLFTPAUTH_SSL", "CURLFTPAUTH_TLS", "CURLFTPAUTH_LAST"))) setAs('numeric', 'curl_ftpauth', function(from) asEnumValue(from, `curl_ftpauthValues`, 'curl_ftpauth', prefix = "CURLFTPAUTH_")) setAs('character', 'curl_ftpauth', function(from) asEnumValue(from, `curl_ftpauthValues`, 'curl_ftpauth', prefix = "CURLFTPAUTH_")) setAs('integer', 'curl_ftpauth', function(from) asEnumValue(from, `curl_ftpauthValues`, 'curl_ftpauth', prefix = "CURLFTPAUTH_")) `CURLFTPAUTH_DEFAULT` <- GenericEnumValue('CURLFTPAUTH_DEFAULT', 0, 'curl_ftpauth') `CURLFTPAUTH_SSL` <- GenericEnumValue('CURLFTPAUTH_SSL', 1, 'curl_ftpauth') `CURLFTPAUTH_TLS` <- GenericEnumValue('CURLFTPAUTH_TLS', 2, 'curl_ftpauth') `CURLFTPAUTH_LAST` <- GenericEnumValue('CURLFTPAUTH_LAST', 3, 'curl_ftpauth') ##################### setClass('curl_ftpcreatedir', contains = 'EnumValue') `curl_ftpcreatedirValues` = EnumDef('curl_ftpcreatedir', structure(as.integer(c(0, 1, 2, 3)), names = c("CURLFTP_CREATE_DIR_NONE", "CURLFTP_CREATE_DIR", "CURLFTP_CREATE_DIR_RETRY", "CURLFTP_CREATE_DIR_LAST"))) setAs('numeric', 'curl_ftpcreatedir', function(from) asEnumValue(from, `curl_ftpcreatedirValues`, 'curl_ftpcreatedir', prefix = "CURLFTP_CREATE_DIR")) setAs('character', 'curl_ftpcreatedir', function(from) asEnumValue(from, `curl_ftpcreatedirValues`, 'curl_ftpcreatedir', prefix = "CURLFTP_CREATE_DIR")) setAs('integer', 'curl_ftpcreatedir', function(from) asEnumValue(from, `curl_ftpcreatedirValues`, 'curl_ftpcreatedir', prefix = "CURLFTP_CREATE_DIR")) `CURLFTP_CREATE_DIR_NONE` <- GenericEnumValue('CURLFTP_CREATE_DIR_NONE', 0, 'curl_ftpcreatedir') `CURLFTP_CREATE_DIR` <- GenericEnumValue('CURLFTP_CREATE_DIR', 1, 'curl_ftpcreatedir') `CURLFTP_CREATE_DIR_RETRY` <- GenericEnumValue('CURLFTP_CREATE_DIR_RETRY', 2, 'curl_ftpcreatedir') `CURLFTP_CREATE_DIR_LAST` <- GenericEnumValue('CURLFTP_CREATE_DIR_LAST', 3, 'curl_ftpcreatedir') ##################### setClass('curl_ftpmethod', contains = 'EnumValue') `curl_ftpmethodValues` = EnumDef('curl_ftpmethod', structure(as.integer(c(0, 1, 2, 3, 4)), names = c("CURLFTPMETHOD_DEFAULT", "CURLFTPMETHOD_MULTICWD", "CURLFTPMETHOD_NOCWD", "CURLFTPMETHOD_SINGLECWD", "CURLFTPMETHOD_LAST"))) setAs('numeric', 'curl_ftpmethod', function(from) asEnumValue(from, `curl_ftpmethodValues`, 'curl_ftpmethod', prefix = "CURLFTPMETHOD_")) setAs('character', 'curl_ftpmethod', function(from) asEnumValue(from, `curl_ftpmethodValues`, 'curl_ftpmethod', prefix = "CURLFTPMETHOD_")) setAs('integer', 'curl_ftpmethod', function(from) asEnumValue(from, `curl_ftpmethodValues`, 'curl_ftpmethod', prefix = "CURLFTPMETHOD_")) `CURLFTPMETHOD_DEFAULT` <- GenericEnumValue('CURLFTPMETHOD_DEFAULT', 0, 'curl_ftpmethod') `CURLFTPMETHOD_MULTICWD` <- GenericEnumValue('CURLFTPMETHOD_MULTICWD', 1, 'curl_ftpmethod') `CURLFTPMETHOD_NOCWD` <- GenericEnumValue('CURLFTPMETHOD_NOCWD', 2, 'curl_ftpmethod') `CURLFTPMETHOD_SINGLECWD` <- GenericEnumValue('CURLFTPMETHOD_SINGLECWD', 3, 'curl_ftpmethod') `CURLFTPMETHOD_LAST` <- GenericEnumValue('CURLFTPMETHOD_LAST', 4, 'curl_ftpmethod') ##################### setClass('CURL_NETRC_OPTION', contains = 'EnumValue') `CURL_NETRC_OPTIONValues` = EnumDef('CURL_NETRC_OPTION', structure(as.integer(c(0, 1, 2, 3)), names = c("CURL_NETRC_IGNORED", "CURL_NETRC_OPTIONAL", "CURL_NETRC_REQUIRED", "CURL_NETRC_LAST"))) setAs('numeric', 'CURL_NETRC_OPTION', function(from) asEnumValue(from, `CURL_NETRC_OPTIONValues`, 'CURL_NETRC_OPTION', prefix = "CURL_NETRC_")) setAs('character', 'CURL_NETRC_OPTION', function(from) asEnumValue(from, `CURL_NETRC_OPTIONValues`, 'CURL_NETRC_OPTION', prefix = "CURL_NETRC_")) setAs('integer', 'CURL_NETRC_OPTION', function(from) asEnumValue(from, `CURL_NETRC_OPTIONValues`, 'CURL_NETRC_OPTION', prefix = "CURL_NETRC_")) `CURL_NETRC_IGNORED` <- GenericEnumValue('CURL_NETRC_IGNORED', 0, 'CURL_NETRC_OPTION') `CURL_NETRC_OPTIONAL` <- GenericEnumValue('CURL_NETRC_OPTIONAL', 1, 'CURL_NETRC_OPTION') `CURL_NETRC_REQUIRED` <- GenericEnumValue('CURL_NETRC_REQUIRED', 2, 'CURL_NETRC_OPTION') `CURL_NETRC_LAST` <- GenericEnumValue('CURL_NETRC_LAST', 3, 'CURL_NETRC_OPTION') ##################### setClass('CURLFORMcode', contains = 'EnumValue') `CURLFORMcodeValues` = EnumDef('CURLFORMcode', structure(as.integer(c(0, 1, 2, 3, 4, 5, 6, 7, 8)), names = c("CURL_FORMADD_OK", "CURL_FORMADD_MEMORY", "CURL_FORMADD_OPTION_TWICE", "CURL_FORMADD_NULL", "CURL_FORMADD_UNKNOWN_OPTION", "CURL_FORMADD_INCOMPLETE", "CURL_FORMADD_ILLEGAL_ARRAY", "CURL_FORMADD_DISABLED", "CURL_FORMADD_LAST"))) setAs('numeric', 'CURLFORMcode', function(from) asEnumValue(from, `CURLFORMcodeValues`, 'CURLFORMcode', prefix = "CURL_FORMADD_")) setAs('character', 'CURLFORMcode', function(from) asEnumValue(from, `CURLFORMcodeValues`, 'CURLFORMcode', prefix = "CURL_FORMADD_")) setAs('integer', 'CURLFORMcode', function(from) asEnumValue(from, `CURLFORMcodeValues`, 'CURLFORMcode', prefix = "CURL_FORMADD_")) `CURL_FORMADD_OK` <- GenericEnumValue('CURL_FORMADD_OK', 0, 'CURLFORMcode') `CURL_FORMADD_MEMORY` <- GenericEnumValue('CURL_FORMADD_MEMORY', 1, 'CURLFORMcode') `CURL_FORMADD_OPTION_TWICE` <- GenericEnumValue('CURL_FORMADD_OPTION_TWICE', 2, 'CURLFORMcode') `CURL_FORMADD_NULL` <- GenericEnumValue('CURL_FORMADD_NULL', 3, 'CURLFORMcode') `CURL_FORMADD_UNKNOWN_OPTION` <- GenericEnumValue('CURL_FORMADD_UNKNOWN_OPTION', 4, 'CURLFORMcode') `CURL_FORMADD_INCOMPLETE` <- GenericEnumValue('CURL_FORMADD_INCOMPLETE', 5, 'CURLFORMcode') `CURL_FORMADD_ILLEGAL_ARRAY` <- GenericEnumValue('CURL_FORMADD_ILLEGAL_ARRAY', 6, 'CURLFORMcode') `CURL_FORMADD_DISABLED` <- GenericEnumValue('CURL_FORMADD_DISABLED', 7, 'CURLFORMcode') `CURL_FORMADD_LAST` <- GenericEnumValue('CURL_FORMADD_LAST', 8, 'CURLFORMcode') ##################### setClass('curl_TimeCond', contains = 'EnumValue') `curl_TimeCondValues` = EnumDef('curl_TimeCond', structure(as.integer(c(0, 1, 2, 3, 4)), names = c("CURL_TIMECOND_NONE", "CURL_TIMECOND_IFMODSINCE", "CURL_TIMECOND_IFUNMODSINCE", "CURL_TIMECOND_LASTMOD", "CURL_TIMECOND_LAST"))) setAs('numeric', 'curl_TimeCond', function(from) asEnumValue(from, `curl_TimeCondValues`, 'curl_TimeCond', prefix = "CURL_TIMECOND_")) setAs('character', 'curl_TimeCond', function(from) asEnumValue(from, `curl_TimeCondValues`, 'curl_TimeCond', prefix = "CURL_TIMECOND_")) setAs('integer', 'curl_TimeCond', function(from) asEnumValue(from, `curl_TimeCondValues`, 'curl_TimeCond', prefix = "CURL_TIMECOND_")) `CURL_TIMECOND_NONE` <- GenericEnumValue('CURL_TIMECOND_NONE', 0, 'curl_TimeCond') `CURL_TIMECOND_IFMODSINCE` <- GenericEnumValue('CURL_TIMECOND_IFMODSINCE', 1, 'curl_TimeCond') `CURL_TIMECOND_IFUNMODSINCE` <- GenericEnumValue('CURL_TIMECOND_IFUNMODSINCE', 2, 'curl_TimeCond') `CURL_TIMECOND_LASTMOD` <- GenericEnumValue('CURL_TIMECOND_LASTMOD', 3, 'curl_TimeCond') `CURL_TIMECOND_LAST` <- GenericEnumValue('CURL_TIMECOND_LAST', 4, 'curl_TimeCond') ##################### setClass('curl_closepolicy', contains = 'EnumValue') `curl_closepolicyValues` = EnumDef('curl_closepolicy', structure(as.integer(c(0, 1, 2, 3, 4, 5, 6)), names = c("CURLCLOSEPOLICY_NONE", "CURLCLOSEPOLICY_OLDEST", "CURLCLOSEPOLICY_LEAST_RECENTLY_USED", "CURLCLOSEPOLICY_LEAST_TRAFFIC", "CURLCLOSEPOLICY_SLOWEST", "CURLCLOSEPOLICY_CALLBACK", "CURLCLOSEPOLICY_LAST"))) setAs('numeric', 'curl_closepolicy', function(from) asEnumValue(from, `curl_closepolicyValues`, 'curl_closepolicy', prefix = "CURLCLOSEPOLICY_")) setAs('character', 'curl_closepolicy', function(from) asEnumValue(from, `curl_closepolicyValues`, 'curl_closepolicy', prefix = "CURLCLOSEPOLICY_")) setAs('integer', 'curl_closepolicy', function(from) asEnumValue(from, `curl_closepolicyValues`, 'curl_closepolicy', prefix = "CURLCLOSEPOLICY_")) `CURLCLOSEPOLICY_NONE` <- GenericEnumValue('CURLCLOSEPOLICY_NONE', 0, 'curl_closepolicy') `CURLCLOSEPOLICY_OLDEST` <- GenericEnumValue('CURLCLOSEPOLICY_OLDEST', 1, 'curl_closepolicy') `CURLCLOSEPOLICY_LEAST_RECENTLY_USED` <- GenericEnumValue('CURLCLOSEPOLICY_LEAST_RECENTLY_USED', 2, 'curl_closepolicy') `CURLCLOSEPOLICY_LEAST_TRAFFIC` <- GenericEnumValue('CURLCLOSEPOLICY_LEAST_TRAFFIC', 3, 'curl_closepolicy') `CURLCLOSEPOLICY_SLOWEST` <- GenericEnumValue('CURLCLOSEPOLICY_SLOWEST', 4, 'curl_closepolicy') `CURLCLOSEPOLICY_CALLBACK` <- GenericEnumValue('CURLCLOSEPOLICY_CALLBACK', 5, 'curl_closepolicy') `CURLCLOSEPOLICY_LAST` <- GenericEnumValue('CURLCLOSEPOLICY_LAST', 6, 'curl_closepolicy') ##################### HTTP_VERSION_NONE = 0L HTTP_VERSION_1_0 = 1L HTTP_VERSION_1_1 = 2L HTTP_VERSION_LAST = 3L SSLVERSION_DEFAULT = 0L SSLVERSION_TLSv1 = 1L SSLVERSION_SSLv2 = 2L SSLVERSION_SSLv3 = 3L SSLVERSION_LAST = 4L } RCurl/R/iconv.R0000644000176000001440000000062712437571707013015 0ustar ripleyusers RCurlIconv = function(str, from = "C99", to = "UTF-8", check = TRUE, quiet = FALSE) { to = toupper(to) from = toupper(from) if(check) { w = c(from, to) %in% iconvlist() if(!all(w)) { if(!quiet) warning(paste(c(from, to)[w], collapse = ", "), " not supported iconv entries") return(str) } } ans = iconv(str, from, to) if(is.na(ans)) str else ans } RCurl/R/bitClasses.R0000644000176000001440000000006012437571707013762 0ustar ripleyuserssetClass("CURLAuth", contains = "BitwiseValue") RCurl/R/mime.R0000644000176000001440000000174012437571707012623 0ustar ripleyusersgetExtension = # # getExtension("foo.R") # getExtension("foo.tar.gz") # function(name, multiple = FALSE) { gsub(".*\\.([a-zA-Z0-9]+)$", "\\1", name) } otherMIMETypes = c("r" = "text/R-code", # perhaps x-application/r-code "svg" = "image/svg+xml", "json" = "application/json") globalVariables("mimeTypeExtensions") guessMIMEType = # # Determine the MIME type # # guessMIMEType("foo.txt") # guessMIMEType("foo.png") # guessMIMEType("foo.jpeg") # guessMIMEType("foo.Z") # guessMIMEType(c("foo.txt", "foo.png", "foo.jpeg", "foo.Z")) # # No svg in standard database we constructued, so add in via otherMIMETypes. # function(name, default = NA) { data("mimeTypeExtensions", envir = environment()) ext = getExtension(name) ans = mimeTypeExtensions[tolower(ext)] if(any(i <- is.na(ans)) ) ans[i] = otherMIMETypes[tolower(ext[i])] if(any(i <- is.na(ans))) ans[i] = default structure(ans, names = name) } RCurl/R/options.S0000644000176000001440000001210012437571707013360 0ustar ripleyusersif(FALSE) { setClass("CurlOptions", representation(ids="integer", values="list")) curlOptions = function(..., .opts = list()) { .args = rev(list(...)) # Why rev()? if(length(.args) == 0) return(NULL) dups = duplicated(names(.args)) if(any(dups)) { warning("Duplicated curl options: ", paste(names(.args)[dups], collapse = ", ")) .args = .args[!dup] } if(length(names(.args)) == 0) stop("curl options with no names") else if(any(names(.args) == "")) stop("unnamed curl option(s): ", .args[names(.args) == "" ]) opts = mapCurlOptNames(names(.args)) o = new("CurlOptions") o@ids = opts o@values = .args o } } # FALSE if(FALSE) { # Try to get these using GccTranslationUnit. # Yes. See CodeGeneration. CurlConstants = c(file = 1, writedata = 1, url = 2, port = 3, proxy = 4, userpwd = 5, proxyuserpwd = 6, range = 7, infile = 9, errorbufffer = 10, writefunction = 11, readfunction = 12, timeout = 13, infilesize = 14, postfields = 15, referer = 16, ftpport = 17, useragent = 18, low.speed.limit = 19, low.speed.time = 20, resume.from = 21, cookie = 22, httpheader = 23, httppost = 24, sslcert =25, verbose = 26, followlocation=27, netrc = 28, httpauth=29, cookiefile=30, crlf=31, headerfunction=32, sslversion=33, # long customerequest = 34, # string interface = 35, # string krb4level = 36, # "string" ssl.verifypeer = 37, # long cainfo = 38, # string capath = 39, # string passwdfunction = 40, # function filetime=41, # long maxredirs = 42, # long maxconnects = 43, # long fresh.connect = 44, #long forbid.reuse = 45, # long egdsocket = 46, # string connecttimeout = 47, # long httpget = 48, # long ssl.verifyhost = 49, # long cookiejar = 50, # string ssl.cipher.list = 51, # string (colon separated) http.version = 52, # enum (long) dns.cache.timeout = 53, # long dns.use.global.cache = 54 , # long debugfunction = 55 # function ) } # FALSE CurlNetrc = c(ignored = 0, optional = 1, required = 2) mode(CurlNetrc) = "integer" class(CurlNetrc) = c("CurlNetrcEnum", "Enum") setClass("Enum", contains = "integer") setMethod("show", "Enum", function(object) show(paste(names(object), " (", object, ")", sep = ""))) setClass("NetrcEnum", contains = "Enum") setMethod("coerce", c("numeric", "NetrcEnum"), function(from, to, strict = TRUE) { asEnum(from, CurlNetrc, "NetrcEnum") }) asEnum = function(val, def, className) { idx = ifelse(is.character(val), pmatch(val, names(def)), match(val, def)) if(is.na(idx)) stop("no match for enumeration value ", val, " of type ", className) new(className, .Data = def[idx]) } listCurlOptions = function() { sort(names(getCurlOptionsConstants())) } getCurlOptionsConstants = function() { x = .Call("R_getCURLOptionEnum", PACKAGE = "RCurl") names(x) = gsub("_", ".", tolower(names(x))) x } getCurlOptionTypes = function(opts = getCurlOptionsConstants()) { typeName = c("integer/logical", "string/pointer", "function", "large number") type = floor(opts / 10000) structure(typeName[type + 1], names = names(opts)) } mapCurlOptNames = function(ids, asNames = FALSE, error = FALSE) { const = getCurlOptionsConstants() ids = tolower(ids) # Could use charmatch and differentiate between multiple matches # e.g. head matching header and headerfunction. w = pmatch(ids, names(const)) if(any(is.na(w))) { (if(error) stop else warning) ("Unrecognized CURL options: ", paste(ids[is.na(w)], collapse = ", ")) # w = w[!is.na(w)] } if(asNames) return(names(const)[w]) as.integer(const[w]) } curlOptions = function(..., .opts = list()) { .els = rev(merge(list(...), .opts)) dups = duplicated(names(.els)) if(any(dups)) { warning("Duplicated curl options: ", paste(names(.els)[dups], collapse = ", ")) .els = .els[!dups] } if(length(.els)) { if(any(names(.els) == "")) stop("unnamed curl option(s): ", .els[names(.els) == "" ]) names(.els) <- mapCurlOptNames(names(.els), asNames = TRUE) .els = .els[!is.na(names(.els))] } else .els = list() class(.els) = "CURLOptions" .els } merge.list <- function(x, y, ...) { if(length(x) == 0) return(y) if(length(y) == 0) return(x) i = match(names(y), names(x)) i = is.na(i) if(any(i)) x[names(y)[which(i)]] = y[which(i)] x } "[<-.CURLOptions" <- function(x, i, value) { if(is.character(i)) i = mapCurlOptNames(i, asNames = TRUE) NextMethod("[<-") } "[[<-.CURLOptions" <- function(x, i, value) { if(is.character(i)) i = mapCurlOptNames(i, asNames = TRUE) NextMethod("[[<-") } if(FALSE) { setCurlHeaders = # # This can be done via the setCurlOpt # # Do we want a ... To specialized a function for general interactive use. # function(headers, curl) { headers = paste(names(headers), headers, sep = ": ") .Call("R_curl_set_header", curl, headers, FALSE, PACKAGE = "RCurl") } } RCurl/R/httpError.R0000644000176000001440000000040112437571707013656 0ustar ripleyusersgetHTTPErrorClass = function(status) { if("status" %in% names(status)) status = status[["status"]] i = match(as.character(status), names(httpErrorClasses)) if(is.na(i)) "GenericHTTPError" else c(httpErrorClasses[i], "HTTPError") } RCurl/R/curlAuthConstants.R0000644000176000001440000000230212437571707015353 0ustar ripleyusers# RCurl:::AUTH_BASIC | RCurl:::AUTH_DIGEST | RCurl:::AUTH_NTLM CURLAUTHValues = structure(c(-.Machine$integer.max, -17, 8, -18, 32, 16, 1, 2, 4, 0), .Names = c("CURLAUTH_ONLY", "CURLAUTH_ANY", "CURLAUTH_NTLM", "CURLAUTH_ANYSAFE", "CURLAUTH_NTLM_WB", "CURLAUTH_DIGEST_IE", "CURLAUTH_BASIC", "CURLAUTH_DIGEST", "CURLAUTH_GSSNEGOTIATE", "CURLAUTH_NONE")) # BitwiseValue( ) AUTH_ONLY <- CURLAUTH_ONLY <- BitwiseValue(-.Machine$integer.max, 'CURLAUTH_ONLY', 'CURLAuth') AUTH_ANY <- CURLAUTH_ANY <- BitwiseValue(-17, 'CURLAUTH_ANY', 'CURLAuth') AUTH_NTLM <- CURLAUTH_NTLM <- BitwiseValue(8, 'CURLAUTH_NTLM', 'CURLAuth') AUTH_ANYSAFE <- CURLAUTH_ANYSAFE <- BitwiseValue(-18, 'CURLAUTH_ANYSAFE', 'CURLAuth') AUTH_NTLM_WB <- CURLAUTH_NTLM_WB <- BitwiseValue(32, 'CURLAUTH_NTLM_WB', 'CURLAuth') AUTH_DIGEST_IE <- CURLAUTH_DIGEST_IE <- BitwiseValue(16, 'CURLAUTH_DIGEST_IE', 'CURLAuth') AUTH_BASIC <- CURLAUTH_BASIC <- BitwiseValue(1, 'CURLAUTH_BASIC', 'CURLAuth') AUTH_DIGEST <- CURLAUTH_DIGEST <- BitwiseValue(2, 'CURLAUTH_DIGEST', 'CURLAuth') AUTH_GSSNEGOTIATE <- CURLAUTH_GSSNEGOTIATE <- BitwiseValue(4, 'CURLAUTH_GSSNEGOTIATE', 'CURLAuth') AUTH_NONE <- CURLAUTH_NONE <- BitwiseValue(0, 'CURLAUTH_NONE', 'CURLAuth') RCurl/R/getURLContent.R0000644000176000001440000001120312437571707014364 0ustar ripleyusersgetURLContent = # # Used to be # header = basicTextGatherer() # ans = getBinaryURL(url, headerfunction = header$update, curl = header$curl()) # processContent(ans, header$header(), .encoding) # but now we use the dynamic reader. # function(url, ..., curl = getCurlHandle(.opts = .opts), .encoding = NA, binary = NA, .opts = list(...), header = dynCurlReader(curl, binary = binary, baseURL = url, isHTTP = isHTTP, encoding = .encoding), isHTTP = length(grep('^[[:space:]]*http', url)) > 0) { url = as(url, "character") if(!missing(curl)) curlSetOpt(.opts = .opts, curl = curl) if(is.logical(header)) { returnHeader = header header = dynCurlReader(curl, binary = binary, baseURL = url, isHTTP = isHTTP, encoding = .encoding) } else returnHeader = FALSE if(!('headerfunction' %in% names(.opts))) { # .opts$headerfunction = header$update protect = missing(header) curlSetOpt(curl = curl, .isProtected = protect, headerfunction = header$update) } if(!isHTTP && !('writefunction' %in% names(.opts))) { # If for example this is scp where there is no header # or headerfunction will never get called. So we have to # set the writefunction as well. # .opts$headerfunction = header$update protect = missing(header) curlSetOpt(curl = curl, .isProtected = protect, writefunction = header$update) } curlPerform(url = url, curl = curl, .opts = .opts) if(isHTTP && length(header$header())) { http.header = parseHTTPHeader(header$header()) stop.if.HTTP.error(http.header) } if(returnHeader) list(header = if(is(returnHeader, "AsIs")) header$header() else parseHTTPHeader(header$header()), body = header$value()) else header$value() } stop.if.HTTP.error = function(http.header) { if(length(http.header) == 0) return(NA) # or TRUE if( floor(as.integer(http.header[["status"]])/100) >= 4) { klass = getHTTPErrorClass(http.header[["status"]]) err = simpleError(http.header[["statusMessage"]]) err$httpHeader = http.header class(err) = c(klass, class(err)) #signalCondition(err) stop(err) } TRUE } processContent = # # Figure out how to interpret the contents based on the HTTP response's header # i.e. look at its Content-Type. # function(ans, header, .encoding = NA) { headerText = if(is.character(header)) header else header$value() http.header = parseHTTPHeader(headerText) stop.if.HTTP.error(http.header) content.type = getContentType(http.header) binary = isBinaryContent(http.header, content.type) if(!(is.na(binary) || binary)) { ans = rawToChar(ans) if(length(.encoding) == 0 || is.na(.encoding)) { charset = grep("charset", content.type, value = TRUE) if(length(charset)) .encoding = strsplit(charset, "=")[[1]][2] } if(length(.encoding) && !is.na(.encoding)) Encoding(ans) = .encoding } else { attr(ans, "Content-Type") = getContentType(http.header) ans } ans } trim = function(x) { gsub("(^[[:space:]]+|[[:space:]]+$)", "", x, perl = TRUE) } getContentType = function(header, full = FALSE) { i = match("content-type", tolower(names(header))) if( is.na( i ) ) return(character()) tmp = trim(strsplit(header[i[1]], "; *")[[1]]) if(!full) return(tmp) vals = strsplit(tmp, "=") structure(gsub(";$", "", sapply(vals, function(x) x[length(x)])), names = sapply(vals, function(x) if(length(x) > 1) x[1] else "")) } # See http://www.iana.org/assignments/media-types/ textContentTypes = c("html", "text", "xhtml", "plain", "xml", "x-latex", "css", "latex", "sgml", "postscript", "texinfo", "ecmascript", "javascript", "atom+xml", "json") isBinaryContent = # # type can be given as a list intended to be separate header elements # e.g. Content-Type, Content-Encoding, etc. # Each can be a vector. # function(header, type = getContentType(header)[1], textTypes = getOption("text.content.types")) { if(is.list(type) && length(type) > 1) { last <- TRUE for(i in type) { if(length(i) && !is.na(i) && (last <- isBinaryContent(header, i, textTypes))) return(TRUE) } return(last) } if(length(type) == 0) return(NA) if(is.null(textTypes)) textTypes = textContentTypes type.els = strsplit(type, "/")[[1]] if(type.els[1] == "text") return(FALSE) if(any(type.els %in% textContentTypes)) return(FALSE) if(length(grep("\\+xml$", type.els))) return(FALSE) TRUE } RCurl/R/http.R0000644000176000001440000000251412437571707012653 0ustar ripleyusershttpGET = function(url, ..., curl = getCurlHandle()) { getURLContent(url, ..., curl = curl) } httpPOST = function(url, ..., curl = getCurlHandle()) { getURLContent(url, .opts = list(customrequest = "POST", ...), curl = curl, post = 1L) } PUT = httpPUT = function(url, content = NULL, ..., curl = getCurlHandle()) { if(!missing(content)) { val = if(is.character(content)) charToRaw(paste(content, collapse = "\n")) else if(is.raw(content)) content else stop("not certain how to convert content to the target type for a PUT request") getURLContent(url, infilesize = length(val), readfunction = val, upload = TRUE, ..., curl = curl, customrequest = "PUT") } else getURLContent(url, ..., curl = curl, customrequest = "PUT") } DELETE = httpDELETE = function(url, ..., curl = getCurlHandle()) { getURLContent(url, customrequest = "DELETE", ..., curl = curl) } HEAD = httpHEAD = function(url, ..., curl = getCurlHandle()) { getURLContent(url, customrequest = "HEAD", nobody = TRUE, ..., curl = curl) } httpOPTIONS = function(url, ..., curl = getCurlHandle()) { ans = getURLContent(url, customrequest = "OPTIONS", ..., curl = curl, header = TRUE) ans$header } RCurl/R/scp.R0000644000176000001440000000257112437571707012464 0ustar ripleyusersgetUserName = function() { Sys.getenv(if(.Platform$OS.type == "windows") "USERNAME" else "USER") } scp = function(host, path, keypasswd = NA, user = getUserName(), rsa = TRUE, key = sprintf(c("~/.ssh/id_%s.pub", "~/.ssh/id_%s"), if(rsa) "rsa" else "dsa"), binary = NA, size = 5000, curl = getCurlHandle(), ...) { if(!is.na(user) && length(grep("@", host)) == 0) host = paste(user, "@", host, sep = "") if(length(grep("^scp", host)) == 0) host = paste("scp://", host, sep = "") if(!missing(path)) host = paste(host, path, sep = "/") key = path.expand(key) opts = list(ssh.public.keyfile = key[1], ssh.private.keyfile = key[2], ...) if(!is.na(keypasswd)) opts$keypasswd = keypasswd # We don't use getURLContent() as it wants to process the HTTP header # which isn't part of this. We could provide our own version of the header # argument but this is essentially what we are doing by specifying writefunction. # getURLContent(host, .opts = opts) opts$url = host if(is.na(binary) || binary) { binary = TRUE opts$writefunction = getNativeSymbolInfo("R_curl_write_binary_data")$address buf <- binaryBuffer(size) opts$file = buf@ref } else { h = basicTextGatherer() opts$writefunction = h$update } curlPerform(.opts = opts, curl = curl) if(binary) as(buf, "raw") else h$value() } RCurl/R/curl.S0000644000176000001440000002432312437571707012644 0ustar ripleyusers curlGlobalInit = function(flags = c("ssl", "win32")) # This is the same as all. { status = .Call("R_curl_global_init", setBitIndicators(flags, CurlGlobalBits), PACKAGE = "RCurl") asCurlErrorCode(status) } curlGlobalCleanup = function() { .Call("R_curl_global_cleanup", PACKAGE = "RCurl") } asCurlErrorCode = function(val) { defs =.Call("R_getCURLErrorEnum", PACKAGE = "RCurl") defs[defs == val] } debugGatherer = function() { els = NULL info = NULL update = function(msg, type, curl) { els[[type + 1]] <<- c(els[[type + 1]], msg) info[[length(info) + 1]] <<- msg names(info)[length(info)] <<- names(type) 0 } reset = function() { els <<- list(text=character(), headerIn = character(), headerOut = character(), dataIn = character(), dataOut = character(), sslDataIn = character(), sslDataOut = character()) info <<- list() } ans = list(update = update, value = function(collapse = "", ordered = FALSE, ...) { if(ordered) return(info) if(is.null(collapse)) return(els) sapply(els, function(x) paste(x, collapse = collapse, ...)) }, reset = reset) class(ans) <- c("RCurlDebugHandler", "RCurlCallbackFunction") ans$reset() ans } basicTextGatherer = # # This is a function that is used to create a closure (i.e. a function with its own local variables # whose values persist across invocations). This is called to provide an instance of a function that is # called when the libcurl engine has some text to be processed as it is reading the HTTP response from the # server. # The function that reads the text can do whatever it wants with it. This one simply # cumulates it and makes it available via a second function. # function(txt = character(), max = NA, value = NULL, .mapUnicode = TRUE) { update = function(str) { txt <<- c(txt, str) if(!is.na(max) && nchar(txt) >= max) return(0) nchar(str, "bytes") # use bytes rather than chars as for UTF-8, etc. we may have fewer characters, # but the C code for libcurl works in bytes. If we report chars and < bytes, # libcurl terminates the download. } reset = function() { txt <<- character() } val = if(missing(value)) function(collapse = "", ...) { if(!is.null(collapse)) txt = paste(txt, collapse = collapse) if(.mapUnicode) txt = mapUnicodeEscapes(txt) return(txt) } else function(collapse = "") { if(!is.null(collapse)) txt = paste(txt, collapse = collapse) if(.mapUnicode) txt = mapUnicodeEscapes(txt) value(txt) } ans = list(update = update, value = val, reset = reset) class(ans) <- c("RCurlTextHandler", "RCurlCallbackFunction") ans$reset() ans } basicHeaderGatherer = function(txt = character(), max = NA) basicTextGatherer(txt, max, parseHTTPHeader) getURL = getURI = # # initializes a curl handle, populates its settingsc # function(url, ..., .opts = list(), write = basicTextGatherer(.mapUnicode = .mapUnicode), curl = getCurlHandle(), async = length(url) > 1, .encoding = integer(), .mapUnicode = TRUE) { # write = getNativeSymbolInfo("R_curl_write_data", PACKAGE = "RCurl")$address url = as.character(url) if(async) { if(missing(write)) write = multiTextGatherer(url) return(getURIAsynchronous(url, ..., .opts = .opts, write = write, curl = curl, .encoding = .encoding)) } if(length(url) > 1) { # typically will go to async. But if async is explicitly set to FALSE # then the caller wants to use a serialized sequence of requests and collect # the results into a single string if write is specified and as a character vector # of strings otherwise. # If write wasn't specified, then dupWriter = FALSE if(missing(write)) dupWriter = TRUE return(sapply(url, function(u) { if(dupWriter) write = basicTextGatherer() getURI(u, ..., .opts = .opts, write = write, curl = curl, async = FALSE, .encoding = .encoding) })) } returnWriter = FALSE if(missing(write) || inherits(write, "RCurlCallbackFunction")) { writeFun = write$update } else { writeFun = write returnWriter = TRUE } # Don't set them, just compute them. opts = curlOptions(URL = url, writefunction = writeFun, ..., .opts = .opts) status = curlPerform(curl = curl, .opts = opts, .encoding = .encoding) if(returnWriter) return(write) write$value() } curlPerform = function(..., .opts = list(), curl = getCurlHandle(), .encoding = integer()) { isProtected = missing(curl) .encoding = getEncodingValue(.encoding) .opts = curlSetOpt(..., .opts = .opts, curl = NULL, .encoding = .encoding) # The 3rd argument - TRUE - is just so that we don't need to create it in the # C code to pass to R_curl_easy_setopt. status = .Call("R_curl_easy_perform", curl, .opts, isProtected, .encoding, PACKAGE = "RCurl") asCurlErrorCode(status) } CE_NATIVE = 0L CE_UTF8 = 1L CE_LATIN1 = 2L CE_SYMBOL = 5L getEncodingValue = function(val) { if(length(val) == 0) return(val) if(is.character(val)) switch(val, "UTF-8" =, "utf-8" = CE_UTF8, "ISO-8859-1" =, "iso-8859-1" = CE_LATIN1, CE_NATIVE) else as.integer(val) } curlSetOpt = # # This is used when setting the values globally. # # No sense in generating a default CURL handle and then throwing # it way. It is only here to allow people to create it in a call # when they set the options. # This could go as most people will call this having already created # the CURL object. function(..., .opts = list(), curl = getCurlHandle(), .encoding = integer(), .forceHeaderNames = FALSE, .isProtected = FALSE) { .opts = curlOptions(..., .opts = .opts) if("httpheader" %in% names(.opts)) { tmp = .opts[["httpheader"]] # paste the name and value together if # a) we have names, and b) not all entries have a : at the start. # We have to be careful here. We got caught with a date having a : # and there being only one element in the header. # Also tripped up if a header entry is http:... or ftp:... since the : gets caught, but only # if there is one. if(length(names(tmp)) && (.forceHeaderNames || (length( grep("^[^[:space:]]+:", gsub("(ftp|http):", "", tmp))) != length(tmp)))) .opts[["httpheader"]] = paste(names(tmp), tmp, sep = ": ") } .encoding = getEncodingValue(.encoding) if(length(.opts) || length(.encoding)) { optIds = mapCurlOptNames(names(.opts)) # Check the types and do coercion if necessary idx = match(names(.opts), names(optionConverters)) if(!all(is.na(idx))) { i = names(.opts)[!is.na(idx)] .opts[i] = lapply(i, function(x) optionConverters[[x]](.opts[[x]])) } if(!is.null(curl)) { .isProtected = rep(.isProtected, length(.opts)) status = .Call("R_curl_easy_setopt", curl, .opts, optIds, .isProtected, as.integer(.encoding), PACKAGE = "RCurl") return(curl) } } else optIds = integer() tmp = list(ids = optIds, values = .opts) class(tmp) <- "ResolvedCURLOptions" tmp } optionConverters = list("netrc" = function(x) asEnum(x, CurlNetrc, "NetrcEnum") ) getCurlHandle = function(..., .opts = NULL, .encoding = integer(), .defaults = getOption("RCurlOptions")) { h = .Call("R_curl_easy_init", PACKAGE = "RCurl") if(length(.defaults)) { i = match(names(.defaults), names(.opts)) .opts[names(.defaults)[is.na(i)]] = .defaults[is.na(i)] } curlSetOpt(..., .opts = .opts, curl = h, .encoding = .encoding) h } dupCurlHandle = function(curl, ..., .opts = NULL, .encoding = integer()) { h = .Call("R_curl_easy_duphandle", curl, PACKAGE = "RCurl") curlSetOpt(..., .opts = .opts, curl = h, .encoding = .encoding) h } setGeneric("reset", function(x, ...) standardGeneric("reset")) setMethod("reset", "CURLHandle", function(x, ...) { .Call("R_curl_easy_reset", x, PACKAGE = "RCurl") }) curlEscape = function(urls) { .Call("R_curl_escape", as.character(urls), TRUE, PACKAGE = "RCurl") } curlUnescape = function(urls) { .Call("R_curl_escape", as.character(urls), FALSE, PACKAGE = "RCurl") } if(FALSE) { tbls = readHTMLTable("http://en.wikipedia.org/wiki/Percent-encoding", stringsAsFactors = FALSE) tt = tbls[[5]] PercentCodes = structure(as.character(tt[2,]), names = as.character(tt[1,])) cat(paste(sQuote(names(PercentCodes)), dQuote(PercentCodes), sep = " = ", collapse = ",\n\t")) } PercentCodes = c( '%' = "%25", # this has to go first. '!' = "%21", '*' = "%2A", '"' = "%22", '\'' = "%27", '(' = "%28", ')' = "%29", ';' = "%3B", ':' = "%3A", '@' = "%40", '&' = "%26", '=' = "%3D", '+' = "%2B", '$' = "%24", ',' = "%2C", '/' = "%2F", '?' = "%3F", '#' = "%23", '[' = "%5B", ']' = "%5D", '{' = "%7B", '}' = "%7D", ' ' = '%20', '\r' = '%0D', '\n' = '%0A') curlPercentEncode = function(x, amp = TRUE, codes = PercentCodes, post.amp = FALSE) { if(!amp) { i = match("&", names(codes)) if(!is.na(i)) codes = codes[ - i ] } for(i in seq(along = codes)) { x = gsub(names(codes)[i], codes[i], x, fixed = TRUE) } if(post.amp) x = gsub("%", "%25", x, fixed = TRUE) x } esc = # # An alternative approach. # function(x, codes = RCurl:::PercentCodes) { els = strsplit(x, "")[[1]] i = match(els, names(codes), 0L) els[ i != 0 ] = codes[ i ] paste(els, collapse = "") } RCurl/R/xbits.R0000644000176000001440000001061112437571707013022 0ustar ripleyusersasBitwiseValue = function(val, defValues, className, prefix = NA) { if(is.character(val)) { i = pmatch(val, names(defValues)) if(!is.na(prefix) && any(is.na(i))) { i[is.na(i)] = pmatch(paste(prefix, val[i], sep = ""), names(defValues)) } } else { # check for a single scalar value i = match(val, defValues) # we didn't get a match, check for a combination if(any(is.na(i))) { tmp = sapply(defValues, function(x) bitAnd(val, x)) i = which(tmp != 0) if(length(i) == 0) stop("can't match ", val, " to elements of bitwise enumeration: ", paste(names(defValues), collapse = ", ")) } } if(any(is.na(i))) stop("unmatched name(s) ", val[is.na(i)]) value = bitlist(defValues[i]) # if className = NA, the we return the number. This is useful # to avoid the expense of creating a new instance only to # take the value to pass to C/C++ code. if(is.na(className)) return(value) # Create a new instance of the given class. id = paste(names(defValues)[i], collapse = " | ") ans = new(className, value) names(ans) = id ans } BitwiseValue = # # create one or more bitwise values. # function(val, name = names(val), class = if(is(val, "BitwiseValue")) class(val) else "BitwiseValue", asVector = TRUE, S3 = FALSE, defValues = getEnumValues(class, name)) { if(length(val) > 1 && !asVector) { lapply(seq(along = val), function(i) BitwiseValue(val[i], name[i], class)) } else { if(FALSE && S3) { ans = structure(val, names = name, class = unique(c(class, "BitwiseValue"))) } else { if(is(val, "character")) { if(missing(name)) name = val i = match(val, names(defValues)) if(any(is.na(i))) raiseEnumError(val, defValues, TRUE, FALSE, index = i) val = defValues[i] } if(!is.integer(val) && is.na(as.integer(val))) { # the value is too big for an integer in R. warning("BitwiseValue ", val, " doesn't fit into integer value") } ans = new(class, val) names(ans) = name } ans } } getEnumValues = function(class = NA, ids = character()) { if(!is.na(class)) { var = sprintf("%sValues", class) if(exists(var)) return(get(var)) } structure(sapply(ids, get), names = ids) } setAs("BitwiseValue", "numeric", function(from) { ans = bitlist(from) names(ans) = paste(names(from), collapse = " | ") ans }) setMethod("|", c("BitwiseValue", "BitwiseValue"), function(e1, e2) { if(class(e1) != class(e2) && !( is(e1, class(e2)) || is(e2, class(e1)))) warning("OR'ing two BitwiseValue objects of different class") v = bitlist(e1, e2) # if these are of different classes, we should decide what class the result # should be. BitwiseValue(v, paste(names(e1), names(e2), sep = " | "), class = class(e1)) }) setMethod("&", c("BitwiseValue", "BitwiseValue"), function(e1, e2) { if(class(e1) != class(e2) && !( is(e1, class(e2)) || is(e2, class(e1)))) warning("OR'ing two BitwiseValue objects of different class") v = bitAnd(e1, e2) # if these are of different classes, we should decide what class the result # should be. BitwiseValue(v, paste(names(e1), names(e2), sep = " & "), class = class(e1)) }) # Should this return a vector with the same number of elements as x # a single value? # Version of # Perhaps introduce a BitwiseValueVector to represent more than one element. if(FALSE) { setMethod("c", c("BitwiseValue"), function(x, ..., recursive = FALSE) { val = callNextMethod() val = val[ - grep("\\.\\.\\.[0-9]+", names(val)) ] names(val)[1] = gsub("^x\\.", "", names(val)[1]) val = structure(unlist(val), names = names(val)) BitwiseValue(val, class = class(x)) }) } setMethod("c", c("BitwiseValue"), function(x, ..., recursive = FALSE) { els = c(as(x, "numeric"), sapply(list(...), as, "numeric")) defValues = get(paste(class(x), "Values", sep = "")) return(asBitwiseValue(unlist(els), defValues, class(x))) }) RCurl/R/base64.R0000644000176000001440000000143212437571707012756 0ustar ripleyusers# There is some support for this in caTools but # that didn't install on some of my machines # and so we add it here since it is already available # from libcurl and so is a natural facility in RCurl. # I don't like duplicating functionality in other packages # and discourage it. base64 = function(txt, encode = !inherits(txt, "base64"), mode = "character") { asRaw = (as.character(mode) == "raw") encode if(typeof(txt) != "raw") txt = as.character(txt) if(encode) { ans = .Call(R_base64_encode, txt, asRaw) class(ans) <- "base64" ans } else .Call(R_base64_decode, txt, asRaw) } base64Encode = function(txt, mode = "character") base64(txt, TRUE, mode) base64Decode = function(txt, mode = "character") base64(txt, FALSE, mode) RCurl/R/zclone.R0000644000176000001440000000071712437571707013171 0ustar ripleyuserssetGeneric("clone", function(x, ...) standardGeneric("clone")) setMethod("clone", "ANY", function(x, ...) x) setMethod("clone", "CURLHandle", function(x, ...) dupCurlHandle(x, ...)) setMethod("clone", "environment", function(x, ...) { e = new.env(parent = parent.env(x)) sapply(ls(x, all.names = TRUE), function(id) assign(id, get(id, x), e)) e }) RCurl/R/dynamic.R0000644000176000001440000001361712516417071013315 0ustar ripleyusersdynCurlReader = # # Reads the header and then sets the appropriate writefunction # to harvest the body of the HTTP response. # function(curl = getCurlHandle(), txt = character(), max = NA, value = NULL, verbose = FALSE, binary = NA, baseURL = NA, isHTTP = NA, encoding = NA) { header = character() # for the header buf = NULL # for a binary connection. content.type = character() requestCount = 0 curHeaderStatus = -1 inBody = FALSE # whether we are collecting content for the body or still working on the header if(verbose) cat("New call to dynCurlReader:", baseURL, "\n") update = function(str) { if(verbose) cat("inBody? ", inBody, ", num bytes", nchar(str, "bytes"), "\n", sep = "") #(length(header) == 0 || curHeaderStatus %in% c(-1, 100)) # do we want a \\\n at the end of the string to avoid # matching lines with white space in the body. if(!inBody && (length(str) == 0 || length(grep("^[[:space:]]+$", str)))) { # Found the end of the header so wrapup the text and put it into the header variable oldHeader = header header <<- c(txt, "") txt <<- character() if(is.na(isHTTP)) isHTTP <<- length(grep("HTTP", header)) > 0 if(isHTTP) { http.header = parseHTTPHeader(c(header, str)) if(http.header[["status"]] == 100) { # && length(http.header) == 2) curHeaderStatus <<- 100 # see if there are any attributes to keep other than status and statusMessage. val.ids = setdiff(names(http.header), c("status", "statusMessage", "message")) # ?? should we add "message" if(length(val.ids)) header <<- http.header[val.ids] else header <<- character() return(nchar(str, "bytes")) } else curHeaderStatus = http.header[["status"]] if(length(oldHeader)) { tmp = setdiff(names(oldHeader), names(header)) if(length(tmp)) header[tmp] <<- oldHeader[tmp] } content.type <<- getContentType(http.header, TRUE) if(is.na(binary)) binary = isBinaryContent(http.header, list(http.header["Content-Encoding"], content.type) ) # This happens when we get a "HTTP/1.1 100 Continue\r\n" and then # a blank line. if(is.na(http.header["status"])) { header <<- character() inBody <<- FALSE return( nchar(str, "bytes") ) } } else { # if(isHTTP) } if(verbose) cat("Setting option to read content-type", content.type[1], "character set", content.type["charset"], "\n") if(length(content.type) == 0 || (is.na(binary) || binary)) { len = 5000 buf <<- binaryBuffer(len) if(verbose) cat("Reading binary data:", content.type, "\n") curlSetOpt(writefunction = getNativeSymbolInfo("R_curl_write_binary_data")$address, file = buf@ref, curl = curl, .isProtected = c(TRUE, FALSE)) } else { # browser() if(length(encoding) == 0 || is.na(encoding) || encoding == "") encoding <<- content.type["charset"] curlSetOpt(writefunction = update, .encoding = encoding, curl = curl, .isProtected = TRUE) } inBody <<- TRUE if(verbose) print(header) } else { txt <<- c(txt, str) if (!is.na(max) && nchar(txt) >= max) return(0) } nchar(str, "bytes") } reset = function() { txt <<- character() header <<- character() buf <<- NULL content.type <<- character() curHeaderStatus <<- -1 inBody <<- FALSE isHTTP <- NA requestCount <<- requestCount + 1 } val = if(missing(value)) function(collapse = "", ...) { if(!is.null(buf)) { ans = as(buf, "raw") if(length(content.type)) attr(ans, "Content-Type") = content.type return(ans) } if (is.null(collapse)) return(txt) ans = paste(txt, collapse = collapse, ...) ans = encode(ans) if(length(content.type)) attr(ans, "Content-Type") = content.type ans } else function() { tmp = if(!is.null(buf)) as(buf, "raw") else encode(txt) if(length(content.type)) attr(tmp, "Content-Type") = content.type value(tmp) } encode = function(str) { # RCurlIconv(str, from = "C99", to = encoding) mapUnicodeEscapes(str) } ans = list(update = update, value = val, reset = reset, header = function() header, curl = function() curl) class(ans) <- c("DynamicRCurlTextHandler", "RCurlTextHandler", "RCurlCallbackFunction") ans$reset() ans } mapUnicodeEscapes = # # processes the string, converting \u{4} sequences to bytes # and returning a UTF-8 encoded string. # # function(str, len = nchar(str, "bytes") * 4L) { str = as.character(str) len = rep(as.integer(len), length = length(str)) if(any(grepl("\\\\u[0-9A-Fa-f]", str))) .Call("R_mapString", str, len, PACKAGE = "RCurl") else str } RCurl/R/info.S0000644000176000001440000000115512437571707012630 0ustar ripleyusersgetCurlInfo = function(curl, which = getCurlInfoConstants()) { rnames = character() if(is.character(which)) { const = getCurlInfoConstants() i = pmatch(tolower(which), names(const)) if(any(is.na(i))) stop("Invalid curl info name", names(which)[is.na(i)]) which = getCurlInfoConstants()[i] } x = .Call("R_curl_easy_getinfo", curl, as.integer(which), PACKAGE = "RCurl") # put the names back on. names(x) = names(which) x } getCurlInfoConstants = function() { x = .Call("R_getCURLInfoEnum", PACKAGE = "RCurl") names(x) = tolower(gsub("_", ".", names(x))) x } RCurl/R/classes.S0000644000176000001440000000053212437571707013330 0ustar ripleyusers## .onAttach = ## function(...) ## library(methods) setClass("MultiCURLHandle", representation(ref = "externalptr", subhandles = "list")) if(TRUE) { setClass("CURLHandle", representation(ref = "externalptr")) } else setOldClass("CURLHandle") setClass("CFILE", representation(ref = "externalptr")) RCurl/R/zzz.R0000644000176000001440000000072012541461326012515 0ustar ripleyusersif(.Platform$OS.type == "windows") { .onLoad <- function(libname, pkgname) { ## The user might already have set this. co <- getOption("RCurlOptions") if (!"cainfo" %in% names(co)) { ## Might check env variable CURL_CA_BUNDLE, which is normally ## set on Windows for R >= 3.2.0 co$cainfo <- file.path(libname, pkgname, "etc", "ca-bundle.crt") options(RCurlOptions = co) } } } RCurl/R/curlError.R0000644000176000001440000000104312437571707013647 0ustar ripleyuserscurlError = function(type, msg, asError = TRUE) { if(!is.character(type)) { i = match(type, CURLcodeValues) typeName = if(is.na(i)) character() else names(CURLcodeValues)[i] } typeName = gsub("^CURLE_", "", typeName) fun = (if(asError) stop else warning) fun( structure(list(message = msg, call = sys.call()), class = c(typeName, "GenericCurlError", "error", "condition")) ) } getCurlErrorClassNames = function() { gsub("^CURLE_", "", names(CURLcodeValues)) } RCurl/R/form.S0000644000176000001440000001347012437571707012643 0ustar ripleyusers getForm = # # The ... here are for the arguments to the form, not the curl options. # # function(uri, ..., .params = character(), .opts = list(), curl = getCurlHandle(), .encoding = integer(), binary = NA, .checkParams = TRUE) { # should we merge params with .... # for now just one or the other. if(missing(.params)) { .params = list(...) } if(length(.params) == 0) warning("No inputs passed to form") else if(missing(.opts) && .checkParams) testCurlOptionsInFormParameters(.params) # Convert the arguments into a URL string. els = mapply(function(id, val) { # turn name=c("a", "b") into # name=a&name=b paste(curlEscape(id), curlEscape(val), sep="=", collapse="&") }, names(.params), .params) args = paste(els, collapse = "&") uri = paste(uri, args, sep = if(grepl("\\?", uri)) "&" else "?") getURLContent(uri, .opts = .opts, .encoding = .encoding, binary = binary, curl = curl) } testCurlOptionsInFormParameters = function(.params) { if(any( w <- names(.params) %in% listCurlOptions())) { warning("Found possible curl options in form parameters: ", paste(names(.params)[w], collapse = ", ")) TRUE } else FALSE } PostStyles = c('HTTPPOST' = NA, 'POST' = as.integer(47)) matchPostStyle = function(style) { if(is.na(style)) return(style) # The style of the post, i.e. HTTPPOST or regular POST, # i.e. www-form-encoded or if(is.character(style)) { i = pmatch(tolower(style), tolower(names(PostStyles))) if(is.na(i)) stop("POST style is not recognized: must be one of ", paste(names(PostStyles), collapse = ", ")) as.integer(PostStyles[i]) } else { if(!(style %in% PostStyles)) warning("Unrecognized style value ", style) as.integer(style) } } .postForm = function(curl, .opts, .params, style = 'HTTPPOST') { .Call("R_post_form", curl, .opts, .params, TRUE, matchPostStyle(style), PACKAGE = "RCurl") } postForm = # # The ... here are for the arguments to the form, not the curl options. # # function(uri, ..., .params = list(), .opts = curlOptions(url = uri), curl = getCurlHandle(), style = 'HTTPPOST', .encoding = integer(), binary = NA, .checkParams = TRUE, .contentEncodeFun = curlEscape) # Should probably be curlPercentEncode ! { isProtected = missing(curl) write = NULL noCurlOptions = missing(.opts) style = matchPostStyle(style) # merge the two sources of inputs .params = merge(list(...), .params) # Need to organize the types here into a structure. hasOwnWrite = any(c("writefunction", "headerfunction") %in% names(.opts)) buf = NULL header = basicTextGatherer() if(!hasOwnWrite) { write = dynCurlReader(curl, verbose = FALSE, binary = binary, baseURL = uri, encoding = .encoding) # Defer the setting of the writefunction until we need to set it # When we finish with the header, we'll set the writefunction. # .opts[["writefunction"]] = write$update .opts[["headerfunction"]] = write$update on.exit(cleanupDynReader(NULL, curl)) isProtected = rep(isProtected, length(.opts)) isProtected[length(isProtected)] = TRUE # .opts[["writefunction"]] = write$update } # Force the curlOptions to be resolved at this point, but not set. So pass curl = NULL optionNames = names(.opts) .opts = curlSetOpt(url = uri, .opts = .opts, curl = NULL, .encoding = .encoding) # curlOptions[["httpost"]] <- .params # curlPerform(curl, .opts = curlOptions) if(!is.na(style) && style == PostStyles['POST']) { tmp = as.list(.params) .params = paste( unlist(mapply(function(id, val) paste(id, if(is(val, "AsIs")) val else .contentEncodeFun(val), sep = "="), names(tmp), tmp)), collapse = "&") } else .params = lapply(.params, function(x) if(is.atomic(x)) as.character(x) else x) if(length(.params) == 0) { postfields = getCurlOptionsConstants()["postfields"] if(!(postfields %in% .opts$ids)) warning("No inputs passed to form") } else if(noCurlOptions && .checkParams) testCurlOptionsInFormParameters(.params) # status = .Call("R_post_form", curl, .opts, .params, TRUE, as.integer(style), PACKAGE = "RCurl") status = .postForm(curl, .opts, .params, style) if(any(!isProtected)) { # Reset the httppost field to NULL so we can release the values. # curlSetOpt(httppost = FALSE, curl = curl) curlSetOpt(httpget = TRUE, curl = curl) } if(!is.null(write)) { http.header = parseHTTPHeader(write$header()) stop.if.HTTP.error(http.header) } if(!is.null(buf)) { processContent( as(buf, "raw"), header, .encoding) } else if(!is.null(write)) write$value() #XXX what if write is NULL - what do we return? } cleanupDynReader = function(fun, curl) { curlSetOpt(writefunction = NULL, curl = curl) if(!is.null(fun)) .Call("R_global_releaseObject", fun) TRUE } fileUpload = function(filename = character(), contents = character(), contentType = character()) { if(length(contents) == 0 && !file.exists(filename)) stop("specified file does not exist: ", filename, ". You must specify a valid file name or provide the contents to send.") filename = path.expand(filename) if(!typeof(contents) == "raw") contents = as.character(contents) structure(list(filename = as.character(filename), contents = contents, contentType = as.character(contentType)), class = "FileUploadInfo") } RCurl/MD50000644000176000001440000002261312665263324011656 0ustar ripleyusersaf901d4b45eb9f596eff6fe6607d989d *Changes.html efb947d6ab2ba84e55e69b889459bda4 *CodeGeneration/auth.c 9d9866976d2f936d3390b98b2841d11e *CodeGeneration/enum.c 1812989f727a648b7f398d88482ea5cc *CodeGeneration/enum.c.001t.tu 1857e7ebca5c79bc818cb8486bdb6d2c *CodeGeneration/enum.c.t00.tu 398f7b70f7f04474b25126c64f4e4161 *CodeGeneration/generate.R 86790ee252cc5d4584c40c9b73225b1d *CodeGeneration/generateDocs.R f6c336fbcce86f651e6e72be42c7aaa6 *CodeGeneration/makeAuthCode.R e0bbd04b7eb5c0d65c71d7fbe2345360 *CodeGeneration/readHTMLDoc.R 2496081ebf8d25e7c2345322c4050a71 *DESCRIPTION 56eb3e6bd8cdb962b7fda019a2b605e4 *NAMESPACE 167838793e6e7ecf40a8176d3679aa1e *R/aclassesEnums.R 447faef269c96042a1a2381bf4a506a6 *R/base64.R aff70c0e60cd1ad0f30f7740879d679d *R/binary.S e53cac92c1f291a5c244ab68d2588838 *R/bitClasses.R d2eb242c0d2bdf36ebd3d343aff04146 *R/classes.S 5e8531893b03c49f258d6b99745985ce *R/curl.S b8d5f5c4cf59d48ac1f237b79660a497 *R/curlAuthConstants.R 0b1ee266223233929abdbbf49e8e0d08 *R/curlEnums.R 39b878b41e6ceccca2523b879e6bd993 *R/curlError.R d6cf7f79ffb9db4ea3fd7cf6677ae871 *R/curlInfo.S 9075cb386a838f1d44e10d7e9dcea5dc *R/dynamic.R a54092f27a209ae57424d0dac219a82f *R/form.S 44be5234779b2d1f63dd0d22af56ab19 *R/getFormParams.R 56b7169e1307b1e536200dbc2998b2ea *R/getURLContent.R 0fe57cfd392052fc9f765e35e92dc355 *R/header.R 8d0db4eb5ac9650ec2cf6234e8d4a176 *R/http.R 09fd8b385e2e06250b78c831cd25dd24 *R/httpError.R 4a750157a238c60c8ce234b493b653ea *R/httpErrors.R d506d085e6a168c28337ba77d7e85f81 *R/iconv.R bc9c40d53d2a0a87a7af86577cdd3be0 *R/info.S d7d5959e26721ead63a651270f7a77c1 *R/mime.R 8dad4800185e18e51f621cb74e2eea23 *R/multi.S 5169ffe9cd912eafcb0967d5db26d06b *R/options.S 97d0b8e957b4ea681d8c76e926f20822 *R/scp.R 62e72955e5bfb836957952d507d0dfa1 *R/support.S 6b4cae0c4c2eeb15ca270177933001c3 *R/upload.R a83571931c5b6cdde4c3f6cc4953e2dd *R/urlExists.R 91adca5eb94b3b76883d1279c9a78633 *R/xbits.R efbfb83dcdae6f04056188c8a41ecbb0 *R/zclone.R 8cfb5944429e1a25c4947f01843272a8 *R/zzz.R cabb7f48acb3dd85a0acbcd4729d9ddd *README 8861218c77c37af3fefb0d1b452c19a8 *README.windows bbc9b511ddfcad5948cc1cf7bb015229 *Todo.html 2f63c56d84567a5b5a15aa5c4248081b *configure fbe652c0acbd95a4497bab93381a0315 *configure.in d41d8cd98f00b204e9800998ecf8427e *configure.win a1f6addec97ef547de92290f014f4deb *data/mimeTypeExtensions.rda 5f81b5aacae0ddcbf8800ab5f4e88960 *dynGC.R baa455d19a1b197d89017a11ba7b41fc *encoding.R c899ae813295bea44416a17fefeef83e *exampleCode/encoding.R 5b1a1e9b087b3a8a2446400d3d4dcd53 *getURL.html 3ff9d631b3ee4b545e9904b0e805f6d9 *inst/CurlSSL/boost.pem 83e2ea55aeb9fc9578554decfb0ec5f6 *inst/CurlSSL/ca-bundle.crt 7b3368433875576c0893dc23c2230338 *inst/CurlSSL/cacert.pem dc7cd605de74c70c165064b5f5fb672f *inst/CurlSSL/certs dc7cd605de74c70c165064b5f5fb672f *inst/CurlSSL/certs.pem 61e39d61bd53a352a9496218666605c9 *inst/CurlSSL/curlSSL.xml 0731a2b8389e81729ea996a1ad361b2b *inst/CurlSSL/cybertrust.pem 3c548143483308030a5921fc051f4c1f *inst/CurlSSL/docs 300c0fbd778919790cdcd0d8b2f1bcf7 *inst/CurlSSL/google.pem 98ce40ce270aa042dccd6c9a45231a85 *inst/CurlSSL/myBundle.crt 35f5f8e7159ac8b8f8bf6d383d44102f *inst/CurlSSL/ok.R 00f28f64cbf9a8d58c9116a2e138eb0f *inst/CurlSSL/server.pem 4c7269b0f0ccff811fbca84bf86fd3dc *inst/CurlSSL/statEth.pem 5621c4bbff9afc92b49e7391007ada18 *inst/HTTPErrors/makeErrorClasses.R 34dde8b134fb3b03a3e5a6745abcce88 *inst/doc/FAQ.html 1276f809fdfc48502f8ebc50fb03c65b *inst/doc/RCurl.tex 1d7acba3b0d1a66d0635b1b341a0b33b *inst/doc/cookies.xml fbb29df6a29a38673037bb5a9fe3fc58 *inst/doc/fileUploads.xml 0dd72dd672e5bb313b5868a7fa27e33e *inst/doc/philosophy.html 6906d0667a14f04e4633280c29522c1b *inst/doc/philosophy.xml eb2a4f621cfa614df5959b616045ecce *inst/doc/withCookies.Rdb 7e772efbcb6e21b093bfb720470e7f0b *inst/doc/withCookies.html eec77bb996fa92609f23413fcf51c9f3 *inst/enums/Renums.c 6c6df7d819f306fcd0fb3319a752524f *inst/etc/README 308c55e7a7d56a27fcfb3983169c3491 *inst/etc/ca-bundle.crt 7a8cf4a6ec500974ee79e2ed0091452c *inst/examples/CIS/cis.R 5aeba08867683170f7181fbd2ac147c1 *inst/examples/CIS/cis1.R a67eecd3a70221c1ca42ebec5bec7a86 *inst/examples/chunks.S c53c11f28e838c5a4ff23db25ff4b0d3 *inst/examples/cis1.R 3fab4fa4a268ab5b2d894987b365c777 *inst/examples/concurrent.S 0b8681035414774b43844508daf3281b *inst/examples/concurrent.html ea9e6c7480330f06552cb60fddca0b78 *inst/examples/concurrent.xml a191d98988b286d6542bc83bf811a706 *inst/examples/curl.c 79024da4698d4a6f1926c2bebc976ad9 *inst/examples/download.R 742186e36e0c4ab4d06010e80bed620d *inst/examples/elapsed.png 972c94e01ff7797679677414bdff6fb5 *inst/examples/encoding.R df928eb4803d8db4afa5c7c4485d09a0 *inst/examples/ftpList.R 2c472f4a096d7cd64da41d6f6a57431b *inst/examples/getinfo.S d990b75445557eb53447cfdccca35ffa *inst/examples/headers.S 8b7ff24250cc5fef29434087f3ca0907 *inst/examples/headers2.S 07a379435d274adaea3d9f62f1712078 *inst/examples/html.S cb0601933fba90e1c0b8e6021bdd6851 *inst/examples/logo.jpg 220da32bb775039b7fdc2721939efbf7 *inst/examples/multi.S c61c4c39c7db04568d8b02a2c98005a5 *inst/examples/nestedHTML.html af1b5ea1941e2958de9e02d4055f807c *inst/examples/nestedHTML.xml 245cea20cf7bd41918246a34ed0b5940 *inst/examples/omg.netrc d2a0f5a210e235c5652f8bf0a2b40ad0 *inst/examples/passwd.S 30c802e182af6930141800f827ebe753 *inst/examples/passwd2.S db2a3b172e96877b0c4a404947160951 *inst/examples/passwdSSL.S 6e5fcafd4811a88f9717ae0d8eeec4e2 *inst/examples/post.c a56b8f764401b456caf72dfb483b8467 *inst/examples/post.html 63e51fb4b6172aa22322c488946addcd *inst/examples/postFormPasswd.R edc48df87cbb0cd3fd79042e4b94fd94 *inst/examples/progress.S 618887d067644d13da2357032be95475 *inst/examples/proxy.R d440f54681ddaef47ec24f61e9674f73 *inst/examples/readHeader.S ae857d44715b16898e6219ec13d46354 *inst/examples/soap.S be87896b9805b4dbb4da19af365db1b3 *inst/examples/speakeasy.S cadfc54ed37492f716c13d806c70818d *inst/examples/system.png 73217878839be41c29e05bdd2e47c3e8 *inst/examples/time.R 03f476b6dffccb19eea3c7f78b1e044c *inst/examples/upload.R 1383b1c0af944da177af0792c2c5ba8b *inst/examples/user.png 273d0679468e4660d14f48fa8027f8aa *inst/examples/worm.S b972f3825d96c0acd67be106540bb25d *inst/examples/xmlParse.html 02c35998868f9d172f5858feb04753df *inst/examples/xmlParse.xml 3d74777c81238f0ea087acab51f8b421 *libcurlLicense 03bbaa73c18e1c0c566261d85ba6d345 *man/AUTH.Rd 444893b1fcec3533dd18847dd62f5af7 *man/CFILE.Rd f506db91d14de1f856c48687671a9ae6 *man/CURLHandle-class.Rd 2a62be8a84702931c32a8e662d88b1c4 *man/CurlFeatureBits.Rd fe5712270461a5f1a4fef26698bb16f3 *man/HTTP_VERSION_1_0.Rd b1cebf754d635a3246fdd1ea22e4b904 *man/MultiCURLHandle-class.Rd a01d37a6d891d549afc86a6418440a1b *man/RCurl-internal.Rd ecbb21dd4db6c1c3f5059446b71923db *man/base64.Rd 3820e6dec84b587de1de738011d54b00 *man/basicHeaderGatherer.Rd 9c9056f4c79fbf7d260d891f3a561c82 *man/basicTextGatherer.Rd e6f400ef44451ee11c72710bf3e5b7d6 *man/binaryBuffer.Rd 6c8d627feb98b5f0d1a7e63c101c41f8 *man/chunkToLineReader.Rd b8ca83760e37e80f1f1db526d24c37ac *man/clone.Rd 671ad2d5ff84254bdf38d4e44b0414db *man/complete.Rd af109e94138009dc642fea350333e8fb *man/curlError.Rd b9c7c1d57e154f2ffd802791d3f8744f *man/curlEscape.Rd fbfd511c5bbccb7001cc391e88fada05 *man/curlGlobalInit.Rd 0afc8e28df6cd59c1602186cc5b5199c *man/curlOptions.Rd 01e1e46bb2ae14c27c38ed14590733c5 *man/curlPerform.Rd 67bb3a6d57c3e60a349ab23c4a228d5f *man/curlSetOpt.Rd a0daae1e8f5de3fd33936bf308a45b4f *man/curlVersion.Rd 844f2a42822f45d0a8f24a5514747107 *man/dynCurlReader.Rd c764ee32849c47119824f6ac8d592a31 *man/enums.Rd 48546c7335c4b05c7626e0299eed7001 *man/fileUpload.Rd 929db5b50da92d52507498985c3c622e *man/findHTTPHeaderEncoding.Rd 0ac4db64fa8c0b246f04c41900ec458a *man/ftpUpload.Rd f171886ef91dab6df501eb91f0381496 *man/getBinaryURL.Rd 85e612bd5da432d27bf7ad7df3e4afa8 *man/getBitIndicators.Rd 9ab011d7f67c1671d89826bea1183d56 *man/getCurlErrorClassNames.Rd 2720347d35729d2f02174fda5757bd5b *man/getCurlHandle.Rd 204b5cf5707ae7cccf38c79a005394a1 *man/getCurlInfo.Rd 608bf08a002dd3e5ab27755785dd2d7d *man/getFormParams.Rd 6788254143210982f08816e922235f72 *man/getURIAsynchronous.Rd c9027ce3a3d5b4a8293043facc6b9fe7 *man/getURL.Rd 59d1cd237bd6888f4dd1dedfa3116b8b *man/guessMIMEType.Rd a5ecefeeffec3d7e04b259633adc337e *man/httpPUT.Rd c4cf55c01b0b09d2d7ac147479428837 *man/merge.list.Rd c5b42d915a0f6571e0a0ee324b216031 *man/mimeTypeExtensions.Rd d9f6c31a497f14f2750eccd490a3b9ed *man/postForm.Rd d35a0e167fc40d5d71f2d24f2f1b9be9 *man/reset.Rd 715458bef8dfc7e5b10f8dffb6ace0bc *man/scp.Rd c78bac5d80901d55c617d8483b530e0a *man/url.exists.Rd 7ef74e5dee0d9ece60a173ffa65e41fc *post.R 66f879ca2c4aa4bf666bc36b1a38d905 *postForm.html dbd7d5f12f5e4e7648f03980e198a64f *src/CURLINFOTable.h f34ce779bd78b3b384dad3ef274e7fa2 *src/CURLOptTable.h 12fe732c6d51fdab1a4a1c3bc9cbedb9 *src/CurlErrorEnums.h 77942883df968ce6593f8e29030299fb *src/CurlInfoEnums.h 12f4251ca3390779490d9dca2cce325c *src/CurlOptEnums.h 2a4673b5e9bd2a0845a6f660369f2826 *src/Makevars.in 88560cecb035c22788476f1ccd5f4059 *src/Makevars.win 14565a4da4e399f549b4a24f9e0e6134 *src/Rcurl.h 0d4a07c162cf3ea6a90b5f65453e6f35 *src/base64.c d9fd8925b96d92039fada1d9dbaf53b4 *src/curl.c cb212d4fee48aae22995023392a96ee8 *src/curl.c-expt d947382c1c5155d7c7156c18111b4b6a *src/curlInit.c 3e912561cc0d15eec15063be6e18c49a *src/curl_base64.c 39fedd40e25feae55cc5e1db5701a278 *src/enums.c 64acf5e645ccc813d2e34ba32a4743ca *src/json.c 68da0b1b8277c3bb5655000270044fc3 *src/memoryManagement.c 5eb7b43775b92417c696d36ba9e6b672 *src/myUTF8.c 5a214a4ba72067193718de76f2d6e682 *tests/dynSetReader.R ebc97999845e72b360975bc40407d729 *tests/jpeg.R RCurl/README0000644000176000001440000000067412437571707012235 0ustar ripleyusersThis package is a (currently) simple interface to the libcurl functionality. This is an extensive and well tested library that takes care of so many details that we would have to mimic (probably incompletely and poorly) if we were to write this in the R language directly. You will need to have libcurl installed on your machine. You can obtain the source and binaries for numerous operating systems from http://curl.haxx.se RCurl/getURL.html0000644000176000001440000003145112665241535013376 0ustar ripleyusers R: Download a URI
    getURLR Documentation

    Download a URI

    Description

    These functions download one or more URIs (a.k.a. URLs). It uses libcurl under the hood to perform the request and retrieve the response. There are a myriad of options that can be specified using the ... mechanism to control the creation and submission of the request and the processing of the response.

    getURLContent has been added as a high-level function like getURL and getBinaryURL but which determines the type of the content being downloaded by looking at the resulting HTTP header's Content-Type field. It uses this to determine whether the bytes are binary or "text".

    The request supports any of the facilities within the version of libcurl that was installed. One can examine these via curlVersion.

    getURLContent doesn't perform asynchronous or multiple concurrent requests at present.

    Usage

    getURL(url, ..., .opts = list(),
            write = basicTextGatherer(.mapUnicode = .mapUnicode),
             curl = getCurlHandle(), async = length(url) > 1,
               .encoding = integer(), .mapUnicode = TRUE)
    getURI(url, ..., .opts = list(), 
            write = basicTextGatherer(.mapUnicode = .mapUnicode),
             curl = getCurlHandle(), async = length(url) > 1,
              .encoding = integer(), .mapUnicode = TRUE)
    getURLContent(url, ..., curl = getCurlHandle(.opts = .opts), .encoding = NA,
                   binary = NA, .opts = list(...),
                   header = dynCurlReader(curl, binary = binary,
                                            baseURL = url, isHTTP = isHTTP,
                                             encoding = .encoding),
                   isHTTP = length(grep('^[[:space:]]*http', url)) > 0)
    

    Arguments

    url

    a string giving the URI

    ...

    named values that are interpreted as CURL options governing the HTTP request.

    .opts

    a named list or CURLOptions object identifying the curl options for the handle. This is merged with the values of ... to create the actual options for the curl handle in the request.

    write

    if explicitly supplied, this is a function that is called with a single argument each time the the HTTP response handler has gathered sufficient text. The argument to the function is a single string. The default argument provides both a function for cumulating this text and is then used to retrieve it as the return value for this function.

    curl

    the previously initialized CURL context/handle which can be used for multiple requests.

    async

    a logical value that determines whether the download request should be done via asynchronous,concurrent downloading or a serial download. This really only arises when we are trying to download multiple URIs in a single call. There are trade-offs between concurrent and serial downloads, essentially trading CPU cycles for shorter elapsed times. Concurrent downloads reduce the overall time waiting for getURI/getURL to return.

    .encoding

    an integer or a string that explicitly identifies the encoding of the content that is returned by the HTTP server in its response to our query. The possible strings are ‘UTF-8’ or ‘ISO-8859-1’ and the integers should be specified symbolically as CE_UTF8 and CE_LATIN1. Note that, by default, the package attempts to process the header of the HTTP response to determine the encoding. This argument is used when such information is erroneous and the caller knows the correct encoding. The default value leaves the decision to this default mechanism. This does however currently involve processing each line/chunk of the header (with a call to an R function). As a result, if one knows the encoding for the resulting response, specifying this avoids this slight overhead which is probably quite small relative to network latency and speed.

    .mapUnicode

    a logical value that controls whether the resulting text is processed to map components of the form \uxxxx to their appropriate Unicode representation.

    binary

    a logical value indicating whether the caller knows whether the resulting content is binary (TRUE) or not (FALSE) or unknown (NA).

    header

    this is made available as a parameter of the function to allow callers to construct different readers for processing the header and body of the (HTTP) response. Callers specifying this will typically only adjust the call to dynCurlReader, e.g. to specify a function for its value parameter to control how the body is post-processed.

    isHTTP

    a logical value that indicates whether the request an HTTP request. This is used when determining how to process the response.

    Value

    If no value is supplied for write, the result is the text that is the HTTP response. (HTTP header information is included if the header option for CURL is set to TRUE and no handler for headerfunction is supplied in the CURL options.)

    Alternatively, if a value is supplied for the write parameter, this is returned. This allows the caller to create a handler within the call and get it back. This avoids having to explicitly create and assign it and then call getURL and then access the result. Instead, the 3 steps can be inlined in a single call.

    Author(s)

    Duncan Temple Lang <duncan@wald.ucdavis.edu>

    References

    Curl homepage http://curl.haxx.se

    See Also

    getBinaryURL curlPerform curlOptions

    Examples

    
      omegahatExists = url.exists("http://www.omegahat.net")
    
       # Regular HTTP
      if(omegahatExists) {
         txt = getURL("http://www.omegahat.net/RCurl/")
            # Then we could parse the result.
         if(require(XML))
             htmlTreeParse(txt, asText = TRUE)
      }
    
    
            # HTTPS. First check to see that we have support compiled into
            # libcurl for ssl.
      if(interactive() && ("ssl" %in% names(curlVersion()$features))
             && url.exists("https://sourceforge.net/")) {
         txt = tryCatch(getURL("https://sourceforge.net/"),
                        error = function(e) {
                                      getURL("https://sourceforge.net/",
                                                ssl.verifypeer = FALSE)
                                  })
    
      }
    
    
         # Create a CURL handle that we will reuse.
      if(interactive() && omegahatExists) {
         curl = getCurlHandle()
         pages = list()
         for(u in c("http://www.omegahat.net/RCurl/index.html",
                    "http://www.omegahat.net/RGtk/index.html")) {
             pages[[u]] = getURL(u, curl = curl)
         }
      }
    
    
        # Set additional fields in the header of the HTTP request.
        # verbose option allows us to see that they were included.
      if(omegahatExists)
         getURL("http://www.omegahat.net", httpheader = c(Accept = "text/html", 
                                                          MyField = "Duncan"), 
                   verbose = TRUE)
    
    
    
        # Arrange to read the header of the response from the HTTP server as
        # a separate "stream". Then we can break it into name-value
        # pairs. (The first line is the HTTP/1.1 200 Ok or 301 Moved Permanently
        # status line)
      if(omegahatExists) {
         h = basicTextGatherer()
         txt = getURL("http://www.omegahat.net/RCurl/index.html", header= TRUE, headerfunction = h$update, 
                       httpheader = c(Accept="text/html", Test=1), verbose = TRUE) 
         print(paste(h$value(NULL)[-1], collapse=""))
         read.dcf(textConnection(paste(h$value(NULL)[-1], collapse="")))
      }
    
    
    
       # Test the passwords.
      if(omegahatExists) {
         x = getURL("http://www.omegahat.net/RCurl/testPassword/index.html",  userpwd = "bob:duncantl")
    
           # Catch an error because no authorization
           # We catch the generic HTTPError, but we could catch the more specific "Unauthorized" error
           # type.
          x = tryCatch(getURLContent("http://www.omegahat.net/RCurl/testPassword/index.html"),
                        HTTPError = function(e) {
                                       cat("HTTP error: ", e$message, "\n")
                                    })
      }
    
    ## Not run: 
      #  Needs specific information from the cookie file on a per user basis
      #  with a registration to the NY times.
      x = getURL("http://www.nytimes.com",
                     header = TRUE, verbose = TRUE,
                     cookiefile = "/home/duncan/Rcookies",
                     netrc = TRUE,
                     maxredirs = as.integer(20),
                     netrc.file = "/home2/duncan/.netrc1",
                     followlocation = TRUE)
    
    ## End(Not run)
    
       if(interactive() && omegahatExists) {
           d = debugGatherer()
           x = getURL("http://www.omegahat.net", debugfunction = d$update, verbose = TRUE)
           d$value()
       }
    
        #############################################
        #  Using an option set in R
    
       if(interactive() && omegahatExists) {
          opts = curlOptions(header = TRUE, userpwd = "bob:duncantl", netrc = TRUE)
          getURL("http://www.omegahat.net/RCurl/testPassword/index.html", verbose = TRUE, .opts = opts)
    
             # Using options in the CURL handle.
          h = getCurlHandle(header = TRUE, userpwd = "bob:duncantl", netrc = TRUE)
          getURL("http://www.omegahat.net/RCurl/testPassword/index.html", verbose = TRUE, curl = h)
       }
    
    
    
       # Use a C routine as the reader. Currently gives a warning.
      if(interactive() && omegahatExists) {
         routine = getNativeSymbolInfo("R_internalWriteTest", PACKAGE = "RCurl")$address
         getURL("http://www.omegahat.net/RCurl/index.html", writefunction = routine)
      }
    
    
    
      # Example
      if(interactive() && omegahatExists) {
         uris = c("http://www.omegahat.net/RCurl/index.html", "http://www.omegahat.net/RCurl/philosophy.xml")
         txt = getURI(uris)
         names(txt)
         nchar(txt)
    
         txt = getURI(uris, async = FALSE)
         names(txt)
         nchar(txt)
    
    
         routine = getNativeSymbolInfo("R_internalWriteTest", PACKAGE = "RCurl")$address
         txt = getURI(uris, write = routine, async = FALSE)
         names(txt)
         nchar(txt)
    
    
             # getURLContent() for text and binary
         x = getURLContent("http://www.omegahat.net/RCurl/index.html")
         class(x)
    
         x = getURLContent("http://www.omegahat.net/RCurl/data.gz")
         class(x)
         attr(x, "Content-Type")
    
         x = getURLContent("http://www.omegahat.net/Rcartogram/demo.jpg")
         class(x)
         attr(x, "Content-Type")
    
    
         curl = getCurlHandle()
         dd = getURLContent("http://www.omegahat.net/RJSONIO/RJSONIO.pdf",
                            curl = curl,
                            header = dynCurlReader(curl, binary = TRUE,
                                               value = function(x) {
                                                        print(attributes(x)) 
                                                        x}))
       }
    
    
    
      # FTP
      # Download the files within a directory.
    if(interactive() && url.exists('ftp://ftp.wcc.nrcs.usda.gov')) {
    
       url = 'ftp://ftp.wcc.nrcs.usda.gov/data/snow/snow_course/table/history/idaho/'
       filenames = getURL(url, ftp.use.epsv = FALSE, dirlistonly = TRUE)
    
          # Deal with newlines as \n or \r\n. (BDR)
          # Or alternatively, instruct libcurl to change \n's to \r\n's for us with crlf = TRUE
          # filenames = getURL(url, ftp.use.epsv = FALSE, ftplistonly = TRUE, crlf = TRUE)
       filenames = paste(url, strsplit(filenames, "\r*\n")[[1]], sep = "")
       con = getCurlHandle( ftp.use.epsv = FALSE)
    
          # there is a slight possibility that some of the files that are
          # returned in the directory listing and in filenames will disappear
          # when we go back to get them. So we use a try() in the call getURL.
       contents = sapply(filenames[1:5], function(x) try(getURL(x, curl = con)))
       names(contents) = filenames[1:length(contents)]
    }
       
    
    RCurl/DESCRIPTION0000644000176000001440000000430512665263324013052 0ustar ripleyusersPackage: RCurl Version: 1.95-4.8 Title: General Network (HTTP/FTP/...) Client Interface for R Author: Duncan Temple Lang and the CRAN team SystemRequirements: GNU make, libcurl Maintainer: Duncan Temple Lang Description: A wrapper for 'libcurl' Provides functions to allow one to compose general HTTP requests and provides convenient functions to fetch URIs, get & post forms, etc. and process the results returned by the Web server. This provides a great deal of control over the HTTP/FTP/... connection and the form of the request while providing a higher-level interface than is available just using R socket connections. Additionally, the underlying implementation is robust and extensive, supporting FTP/FTPS/TFTP (uploads and downloads), SSL/HTTPS, telnet, dict, ldap, and also supports cookies, redirects, authentication, etc. License: BSD Depends: R (>= 3.0.0), methods, bitops Suggests: Rcompression, XML URL: http://www.omegahat.net/RCurl Additional_repositories: http://www.omegahat.net/R/ Limitations: One doesn't yet have full control over the contents of a POST form such as specifying files, content type. Error handling uses a single global variable at present. Note: This will be used generally to communicate with HTTP servers and specifically in the SOAP package, HTML forms and for accessing data on Web sites that require more state information than simply URL access (e.g. cookies). Check: To run R CMD check, one really needs network access. It is an HTTP client! This can be problematic as a Web site may be down when you run but the real tests are important. Collate: aclassesEnums.R bitClasses.R xbits.R base64.R binary.S classes.S curl.S curlAuthConstants.R curlEnums.R curlError.R curlInfo.S dynamic.R form.S getFormParams.R getURLContent.R header.R http.R httpError.R httpErrors.R iconv.R info.S mime.R multi.S options.S scp.R support.S upload.R urlExists.R zclone.R zzz.R NeedsCompilation: yes Packaged: 2016-03-01 07:37:59 UTC; ripley Repository: CRAN Date/Publication: 2016-03-01 10:54:28 RCurl/configure0000755000176000001440000045611412437571707013270 0ustar ripleyusers#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= PACKAGE_URL= ac_unique_file="DESCRIPTION" ac_subst_vars='LTLIBOBJS LIBOBJS CURL_LIBS CURL_CFLAGS DEFINES CPP OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC CURL_CONFIG target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_debug ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures this package to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF _ACEOF fi if test -n "$ac_init_help"; then cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-debug turn on debugging information Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then : enableval=$enable_debug; fi if test -z "${CURL_CONFIG}" ; then # Extract the first word of "curl-config", so it can be a program name with args. set dummy curl-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_CURL_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $CURL_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_CURL_CONFIG="$CURL_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_CURL_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi CURL_CONFIG=$ac_cv_path_CURL_CONFIG if test -n "$CURL_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CURL_CONFIG" >&5 $as_echo "$CURL_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "${CURL_CONFIG}" ; then echo "Cannot find curl-config" exit 1 fi if test -n "${enable_debug}" && test "${enable_debug}" == "yes" ; then DEFINES=-DRCURL_DEBUG_MEMORY fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CURL_CPPFLAGS=`$CURL_CONFIG --cflags` CPPFLAGS="${CPPFLAGS} $CURL_CPPFLAGS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { curl_version_info_data *data; char *ptr; ptr = data->libidn; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_LIBIDN_FIELD=1"; echo "Version has a libidn field" else echo "No libidn field in version structure." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext LDFLAGS=`${CURL_CONFIG} --libs` cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_URL; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_URL=1"; echo "Version has CURLOPT_URL" else echo "No CURLOPT_URL enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_EFFECTIVE_URL; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_EFFECTIVE_URL=1"; echo "Version has CURLINFO_EFFECTIVE_URL" else echo "No CURLINFO_EFFECTIVE_URL enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_RESPONSE_CODE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_RESPONSE_CODE=1"; echo "Version has CURLINFO_RESPONSE_CODE" else echo "No CURLINFO_RESPONSE_CODE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_TOTAL_TIME; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_TOTAL_TIME=1"; echo "Version has CURLINFO_TOTAL_TIME" else echo "No CURLINFO_TOTAL_TIME enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_NAMELOOKUP_TIME; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_NAMELOOKUP_TIME=1"; echo "Version has CURLINFO_NAMELOOKUP_TIME" else echo "No CURLINFO_NAMELOOKUP_TIME enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_CONNECT_TIME; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_CONNECT_TIME=1"; echo "Version has CURLINFO_CONNECT_TIME" else echo "No CURLINFO_CONNECT_TIME enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_PRETRANSFER_TIME; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_PRETRANSFER_TIME=1"; echo "Version has CURLINFO_PRETRANSFER_TIME" else echo "No CURLINFO_PRETRANSFER_TIME enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_SIZE_UPLOAD; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_SIZE_UPLOAD=1"; echo "Version has CURLINFO_SIZE_UPLOAD" else echo "No CURLINFO_SIZE_UPLOAD enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_SIZE_DOWNLOAD; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_SIZE_DOWNLOAD=1"; echo "Version has CURLINFO_SIZE_DOWNLOAD" else echo "No CURLINFO_SIZE_DOWNLOAD enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_SPEED_DOWNLOAD; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_SPEED_DOWNLOAD=1"; echo "Version has CURLINFO_SPEED_DOWNLOAD" else echo "No CURLINFO_SPEED_DOWNLOAD enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_SPEED_UPLOAD; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_SPEED_UPLOAD=1"; echo "Version has CURLINFO_SPEED_UPLOAD" else echo "No CURLINFO_SPEED_UPLOAD enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_HEADER_SIZE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_HEADER_SIZE=1"; echo "Version has CURLINFO_HEADER_SIZE" else echo "No CURLINFO_HEADER_SIZE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_REQUEST_SIZE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_REQUEST_SIZE=1"; echo "Version has CURLINFO_REQUEST_SIZE" else echo "No CURLINFO_REQUEST_SIZE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_SSL_VERIFYRESULT; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_SSL_VERIFYRESULT=1"; echo "Version has CURLINFO_SSL_VERIFYRESULT" else echo "No CURLINFO_SSL_VERIFYRESULT enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_FILETIME; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_FILETIME=1"; echo "Version has CURLINFO_FILETIME" else echo "No CURLINFO_FILETIME enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_CONTENT_LENGTH_DOWNLOAD; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_CONTENT_LENGTH_DOWNLOAD=1"; echo "Version has CURLINFO_CONTENT_LENGTH_DOWNLOAD" else echo "No CURLINFO_CONTENT_LENGTH_DOWNLOAD enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_CONTENT_LENGTH_UPLOAD; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_CONTENT_LENGTH_UPLOAD=1"; echo "Version has CURLINFO_CONTENT_LENGTH_UPLOAD" else echo "No CURLINFO_CONTENT_LENGTH_UPLOAD enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_STARTTRANSFER_TIME; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_STARTTRANSFER_TIME=1"; echo "Version has CURLINFO_STARTTRANSFER_TIME" else echo "No CURLINFO_STARTTRANSFER_TIME enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_CONTENT_TYPE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_CONTENT_TYPE=1"; echo "Version has CURLINFO_CONTENT_TYPE" else echo "No CURLINFO_CONTENT_TYPE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_REDIRECT_TIME; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_REDIRECT_TIME=1"; echo "Version has CURLINFO_REDIRECT_TIME" else echo "No CURLINFO_REDIRECT_TIME enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_REDIRECT_COUNT; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_REDIRECT_COUNT=1"; echo "Version has CURLINFO_REDIRECT_COUNT" else echo "No CURLINFO_REDIRECT_COUNT enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_PRIVATE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_PRIVATE=1"; echo "Version has CURLINFO_PRIVATE" else echo "No CURLINFO_PRIVATE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_HTTP_CONNECTCODE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_HTTP_CONNECTCODE=1"; echo "Version has CURLINFO_HTTP_CONNECTCODE" else echo "No CURLINFO_HTTP_CONNECTCODE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_HTTPAUTH_AVAIL; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_HTTPAUTH_AVAIL=1"; echo "Version has CURLINFO_HTTPAUTH_AVAIL" else echo "No CURLINFO_HTTPAUTH_AVAIL enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_PROXYAUTH_AVAIL; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_PROXYAUTH_AVAIL=1"; echo "Version has CURLINFO_PROXYAUTH_AVAIL" else echo "No CURLINFO_PROXYAUTH_AVAIL enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_OS_ERRNO; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_OS_ERRNO=1"; echo "Version has CURLINFO_OS_ERRNO" else echo "No CURLINFO_OS_ERRNO enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_NUM_CONNECTS; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_NUM_CONNECTS=1"; echo "Version has CURLINFO_NUM_CONNECTS" else echo "No CURLINFO_NUM_CONNECTS enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_SSL_ENGINES; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_SSL_ENGINES=1"; echo "Version has CURLINFO_SSL_ENGINES" else echo "No CURLINFO_SSL_ENGINES enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_COOKIELIST; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_COOKIELIST=1"; echo "Version has CURLINFO_COOKIELIST" else echo "No CURLINFO_COOKIELIST enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_LASTSOCKET; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_LASTSOCKET=1"; echo "Version has CURLINFO_LASTSOCKET" else echo "No CURLINFO_LASTSOCKET enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_FTP_ENTRY_PATH; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_FTP_ENTRY_PATH=1"; echo "Version has CURLINFO_FTP_ENTRY_PATH" else echo "No CURLINFO_FTP_ENTRY_PATH enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_REDIRECT_URL; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_REDIRECT_URL=1"; echo "Version has CURLINFO_REDIRECT_URL" else echo "No CURLINFO_REDIRECT_URL enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_PRIMARY_IP; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_PRIMARY_IP=1"; echo "Version has CURLINFO_PRIMARY_IP" else echo "No CURLINFO_PRIMARY_IP enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_APPCONNECT_TIME; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_APPCONNECT_TIME=1"; echo "Version has CURLINFO_APPCONNECT_TIME" else echo "No CURLINFO_APPCONNECT_TIME enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_CERTINFO; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_CERTINFO=1"; echo "Version has CURLINFO_CERTINFO" else echo "No CURLINFO_CERTINFO enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLINFO_CONDITION_UNMET; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLINFO_CONDITION_UNMET=1"; echo "Version has CURLINFO_CONDITION_UNMET" else echo "No CURLINFO_CONDITION_UNMET enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_WRITEDATA; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_WRITEDATA=1"; echo "Version has CURLOPT_WRITEDATA" else echo "No CURLOPT_WRITEDATA enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_KEYPASSWD; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_KEYPASSWD=1"; echo "Version has CURLOPT_KEYPASSWD" else echo "No CURLOPT_KEYPASSWD enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_DIRLISTONLY; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_DIRLISTONLY=1"; echo "Version has CURLOPT_DIRLISTONLY" else echo "No CURLOPT_DIRLISTONLY enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_APPEND; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_APPEND=1"; echo "Version has CURLOPT_APPEND" else echo "No CURLOPT_APPEND enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_KRBLEVEL; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_KRBLEVEL=1"; echo "Version has CURLOPT_KRBLEVEL" else echo "No CURLOPT_KRBLEVEL enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_USE_SSL; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_USE_SSL=1"; echo "Version has CURLOPT_USE_SSL" else echo "No CURLOPT_USE_SSL enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_TIMEOUT_MS; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_TIMEOUT_MS=1"; echo "Version has CURLOPT_TIMEOUT_MS" else echo "No CURLOPT_TIMEOUT_MS enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_CONNECTTIMEOUT_MS; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_CONNECTTIMEOUT_MS=1"; echo "Version has CURLOPT_CONNECTTIMEOUT_MS" else echo "No CURLOPT_CONNECTTIMEOUT_MS enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_HTTP_TRANSFER_DECODING; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_HTTP_TRANSFER_DECODING=1"; echo "Version has CURLOPT_HTTP_TRANSFER_DECODING" else echo "No CURLOPT_HTTP_TRANSFER_DECODING enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_HTTP_CONTENT_DECODING; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_HTTP_CONTENT_DECODING=1"; echo "Version has CURLOPT_HTTP_CONTENT_DECODING" else echo "No CURLOPT_HTTP_CONTENT_DECODING enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_NEW_FILE_PERMS; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_NEW_FILE_PERMS=1"; echo "Version has CURLOPT_NEW_FILE_PERMS" else echo "No CURLOPT_NEW_FILE_PERMS enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_NEW_DIRECTORY_PERMS; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_NEW_DIRECTORY_PERMS=1"; echo "Version has CURLOPT_NEW_DIRECTORY_PERMS" else echo "No CURLOPT_NEW_DIRECTORY_PERMS enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_POSTREDIR; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_POSTREDIR=1"; echo "Version has CURLOPT_POSTREDIR" else echo "No CURLOPT_POSTREDIR enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_OPENSOCKETFUNCTION; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_OPENSOCKETFUNCTION=1"; echo "Version has CURLOPT_OPENSOCKETFUNCTION" else echo "No CURLOPT_OPENSOCKETFUNCTION enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_OPENSOCKETDATA; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_OPENSOCKETDATA=1"; echo "Version has CURLOPT_OPENSOCKETDATA" else echo "No CURLOPT_OPENSOCKETDATA enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_COPYPOSTFIELDS; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_COPYPOSTFIELDS=1"; echo "Version has CURLOPT_COPYPOSTFIELDS" else echo "No CURLOPT_COPYPOSTFIELDS enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_PROXY_TRANSFER_MODE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_PROXY_TRANSFER_MODE=1"; echo "Version has CURLOPT_PROXY_TRANSFER_MODE" else echo "No CURLOPT_PROXY_TRANSFER_MODE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_SEEKFUNCTION; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_SEEKFUNCTION=1"; echo "Version has CURLOPT_SEEKFUNCTION" else echo "No CURLOPT_SEEKFUNCTION enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_SEEKDATA; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_SEEKDATA=1"; echo "Version has CURLOPT_SEEKDATA" else echo "No CURLOPT_SEEKDATA enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_CRLFILE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_CRLFILE=1"; echo "Version has CURLOPT_CRLFILE" else echo "No CURLOPT_CRLFILE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_ISSUERCERT; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_ISSUERCERT=1"; echo "Version has CURLOPT_ISSUERCERT" else echo "No CURLOPT_ISSUERCERT enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_ADDRESS_SCOPE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_ADDRESS_SCOPE=1"; echo "Version has CURLOPT_ADDRESS_SCOPE" else echo "No CURLOPT_ADDRESS_SCOPE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_CERTINFO; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_CERTINFO=1"; echo "Version has CURLOPT_CERTINFO" else echo "No CURLOPT_CERTINFO enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_USERNAME; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_USERNAME=1"; echo "Version has CURLOPT_USERNAME" else echo "No CURLOPT_USERNAME enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_PASSWORD; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_PASSWORD=1"; echo "Version has CURLOPT_PASSWORD" else echo "No CURLOPT_PASSWORD enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_PROXYUSERNAME; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_PROXYUSERNAME=1"; echo "Version has CURLOPT_PROXYUSERNAME" else echo "No CURLOPT_PROXYUSERNAME enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_PROXYPASSWORD; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_PROXYPASSWORD=1"; echo "Version has CURLOPT_PROXYPASSWORD" else echo "No CURLOPT_PROXYPASSWORD enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_SSH_HOST_PUBLIC_KEY_MD5; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_SSH_HOST_PUBLIC_KEY_MD5=1"; echo "Version has CURLOPT_SSH_HOST_PUBLIC_KEY_MD5" else echo "No CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_NOPROXY; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_NOPROXY=1"; echo "Version has CURLOPT_NOPROXY" else echo "No CURLOPT_NOPROXY enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_TFTP_BLKSIZE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_TFTP_BLKSIZE=1"; echo "Version has CURLOPT_TFTP_BLKSIZE" else echo "No CURLOPT_TFTP_BLKSIZE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_SOCKS5_GSSAPI_SERVICE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_SOCKS5_GSSAPI_SERVICE=1"; echo "Version has CURLOPT_SOCKS5_GSSAPI_SERVICE" else echo "No CURLOPT_SOCKS5_GSSAPI_SERVICE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_SOCKS5_GSSAPI_NEC; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_SOCKS5_GSSAPI_NEC=1"; echo "Version has CURLOPT_SOCKS5_GSSAPI_NEC" else echo "No CURLOPT_SOCKS5_GSSAPI_NEC enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_PROTOCOLS; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_PROTOCOLS=1"; echo "Version has CURLOPT_PROTOCOLS" else echo "No CURLOPT_PROTOCOLS enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_REDIR_PROTOCOLS; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_REDIR_PROTOCOLS=1"; echo "Version has CURLOPT_REDIR_PROTOCOLS" else echo "No CURLOPT_REDIR_PROTOCOLS enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_SSH_AUTH_TYPES; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_SSH_AUTH_TYPES=1"; echo "Version has CURLOPT_SSH_AUTH_TYPES" else echo "No CURLOPT_SSH_AUTH_TYPES enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_SSH_PUBLIC_KEYFILE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_SSH_PUBLIC_KEYFILE=1"; echo "Version has CURLOPT_SSH_PUBLIC_KEYFILE" else echo "No CURLOPT_SSH_PUBLIC_KEYFILE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_SSH_PRIVATE_KEYFILE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_SSH_PRIVATE_KEYFILE=1"; echo "Version has CURLOPT_SSH_PRIVATE_KEYFILE" else echo "No CURLOPT_SSH_PRIVATE_KEYFILE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_FTP_SSL_CCC; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_FTP_SSL_CCC=1"; echo "Version has CURLOPT_FTP_SSL_CCC" else echo "No CURLOPT_FTP_SSL_CCC enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_COOKIELIST; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_COOKIELIST=1"; echo "Version has CURLOPT_COOKIELIST" else echo "No CURLOPT_COOKIELIST enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_IGNORE_CONTENT_LENGTH; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_IGNORE_CONTENT_LENGTH=1"; echo "Version has CURLOPT_IGNORE_CONTENT_LENGTH" else echo "No CURLOPT_IGNORE_CONTENT_LENGTH enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_FTP_SKIP_PASV_IP; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_FTP_SKIP_PASV_IP=1"; echo "Version has CURLOPT_FTP_SKIP_PASV_IP" else echo "No CURLOPT_FTP_SKIP_PASV_IP enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_FTP_FILEMETHOD; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_FTP_FILEMETHOD=1"; echo "Version has CURLOPT_FTP_FILEMETHOD" else echo "No CURLOPT_FTP_FILEMETHOD enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_LOCALPORT; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_LOCALPORT=1"; echo "Version has CURLOPT_LOCALPORT" else echo "No CURLOPT_LOCALPORT enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_LOCALPORTRANGE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_LOCALPORTRANGE=1"; echo "Version has CURLOPT_LOCALPORTRANGE" else echo "No CURLOPT_LOCALPORTRANGE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_CONNECT_ONLY; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_CONNECT_ONLY=1"; echo "Version has CURLOPT_CONNECT_ONLY" else echo "No CURLOPT_CONNECT_ONLY enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_CONV_FROM_NETWORK_FUNCTION; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_CONV_FROM_NETWORK_FUNCTION=1"; echo "Version has CURLOPT_CONV_FROM_NETWORK_FUNCTION" else echo "No CURLOPT_CONV_FROM_NETWORK_FUNCTION enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_CONV_TO_NETWORK_FUNCTION; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_CONV_TO_NETWORK_FUNCTION=1"; echo "Version has CURLOPT_CONV_TO_NETWORK_FUNCTION" else echo "No CURLOPT_CONV_TO_NETWORK_FUNCTION enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_CONV_FROM_UTF8_FUNCTION; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_CONV_FROM_UTF8_FUNCTION=1"; echo "Version has CURLOPT_CONV_FROM_UTF8_FUNCTION" else echo "No CURLOPT_CONV_FROM_UTF8_FUNCTION enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_MAX_SEND_SPEED_LARGE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_MAX_SEND_SPEED_LARGE=1"; echo "Version has CURLOPT_MAX_SEND_SPEED_LARGE" else echo "No CURLOPT_MAX_SEND_SPEED_LARGE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_MAX_RECV_SPEED_LARGE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_MAX_RECV_SPEED_LARGE=1"; echo "Version has CURLOPT_MAX_RECV_SPEED_LARGE" else echo "No CURLOPT_MAX_RECV_SPEED_LARGE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_FTP_ALTERNATIVE_TO_USER; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_FTP_ALTERNATIVE_TO_USER=1"; echo "Version has CURLOPT_FTP_ALTERNATIVE_TO_USER" else echo "No CURLOPT_FTP_ALTERNATIVE_TO_USER enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_SOCKOPTFUNCTION; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_SOCKOPTFUNCTION=1"; echo "Version has CURLOPT_SOCKOPTFUNCTION" else echo "No CURLOPT_SOCKOPTFUNCTION enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_SOCKOPTDATA; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_SOCKOPTDATA=1"; echo "Version has CURLOPT_SOCKOPTDATA" else echo "No CURLOPT_SOCKOPTDATA enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { int val; val = CURLOPT_SSL_SESSIONID_CACHE; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : DEFINES="$DEFINES -DHAVE_CURLOPT_SSL_SESSIONID_CACHE=1"; echo "Version has CURLOPT_SSL_SESSIONID_CACHE" else echo "No CURLOPT_SSL_SESSIONID_CACHE enumeration value." fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext #AC_TRY_RUN([ ##include ##include # #int main(int argc, char *argv[]) #{ # char text[100] = "Some text", ans[200]; # int len; # len = Curl_base64_encode(text, strlen(text), &ans); # return(0); #} #], #[echo "Using older Curl_base64_enccode form with _no_ SessionHandle parameter."], #[echo "Using Curl_base64_encode with SessionHandle parameter."; DEFINES="$DEFINES -DBASE64_NEEDS_SESSION_DATA=1"] #) CURL_LIBS=`${CURL_CONFIG} --libs` CURL_CFLAGS=`${CURL_CONFIG} --cflags` echo "libcurl version: `${CURL_CONFIG} --version`" ac_config_files="$ac_config_files src/Makevars" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. ac_script=' :mline /\\$/{ N s,\\\n,, b mline } t clear :clear s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote b any :quote s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g s/\[/\\&/g s/\]/\\&/g s/\$/$$/g H :any ${ g s/^\n// s/\n/ /g p } ' DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by $as_me, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ config.status configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "src/Makevars") CONFIG_FILES="$CONFIG_FILES src/Makevars" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" eval set X " :F $CONFIG_FILES " shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi RCurl/man/0000755000176000001440000000000012665241523012112 5ustar ripleyusersRCurl/man/curlError.Rd0000644000176000001440000000341012437571707014365 0ustar ripleyusers\name{curlError} \alias{curlError} \title{Raise a warning or error about a CURL problem} \description{ This function is called to raise an error or warning that arises from a curl operation when making a request. This is called from C code that encounters the error and this function is responsible for generating the error. } \usage{ curlError(type, msg, asError = TRUE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{type}{the type of the error or a status code identifying the type of the error. Typically this is an integer value that identifies the type of the Curl error. The value corresponds to one of the enumerated value of type \code{CURLcode}.} \item{msg}{the error message, as a character vector of length 1} \item{asError}{a logical value that indicates whether to raise an error or a warning} } \value{ This calls \code{warning} or \code{stop} with the relevant condition object. The object is always of basic (S3) class \code{GenericCurlError, error, condition} or \code{GenericCurlError, warning, condition}. When the \code{type} value corresponds to a \code{CURLCode} value, the condition has the primary class given by that \code{CURLCode}'s name, e.g. \code{COULDNT_RESOLVE_HOST}, \code{TOO_MANY_REDIRECTS} (with the CURLE prefix removed). } \references{ libcurl documentation. } \author{ Duncan Temple Lang } \seealso{ \code{\link{curlPerform}} } \examples{ # This illustrates generating and catching an error. # We intentionally give a mis-spelled URL. tryCatch(curlPerform(url = "ftp.wcc.nrcs.usda.govx"), COULDNT_RESOLVE_HOST = function(x) cat("resolve problem\n"), error = function(x) cat(class(x), "got it\n")) } \keyword{programming} \keyword{IO} \concept{error handling} RCurl/man/getFormParams.Rd0000644000176000001440000000242112665241535015152 0ustar ripleyusers\name{getFormParams} \alias{getFormParams} \title{Extract parameters from a form query string} \description{ This function facilitates getting the parameter names and values from a URL that is an parameterized HTML query. This is motivated by a function from Chris Davis and Delft University. } \usage{ getFormParams(query, isURL = grepl("^(http|\\\\?)", query)) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{query}{the query string or full URL containing the query} \item{isURL}{a logical value. If \code{TRUE}, \code{query} is the full URL and we need to extract the sub-string representing the parameters. If \code{isURL} is \code{FALSE}, then \code{query} is assumed to be just the string containing the parameters. } } \value{ A named character vector giving the parameter values The names are the parameter names. } \author{ Duncan Temple Lang } \examples{ if(url.exists("http://www.omegahat.net/foo/bob.R")) { getFormParams("http://www.omegahat.net/foo/bob.R?xyz=1&abc=verylong") getFormParams("xyz=1&abc=verylong") getFormParams("xyz=1&abc=&on=true") getFormParams("xyz=1&abc=") } } % Add one or more standard keywords, see file 'KEYWORDS' in the % R documentation directory. \keyword{programming} \keyword{interface} RCurl/man/complete.Rd0000644000176000001440000000340712437571707014224 0ustar ripleyusers\name{complete} \alias{complete} \alias{complete,MultiCURLHandle-method} \title{Complete an asynchronous HTTP request} \description{ This is a generic function that is used within the RCurl package to force the completion of an HTTP request. If the request is asynchronous, this essentially blocks until the request is completed by repeatedly asking for more information to be retrieved from the HTTP connection. } \usage{ complete(obj, ...) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{obj}{the object which is to be completed. This is typically a \code{\link{MultiCURLHandle-class}} instance.} \item{\dots}{additional arguments intended to be used by specific methods.} } \value{ The value is typically not of interest, but rather the side effect of processing the pending requests. } \references{ \url{http://curl.haxx.se}, specifically the multi interface of libcurl. } \author{Duncan Temple Lang} \seealso{ \code{\link{MultiCURLHandle-class}} \code{\link{push}}, \code{\link{pop}} } \examples{ if(url.exists("http://eeyore.ucdavis.edu/cgi-bin/testForm1.pl")) { f = system.file("NAMESPACE", package = "RCurl") postForm("http://eeyore.ucdavis.edu/cgi-bin/testForm1.pl", "fileData" = fileUpload(f)) postForm("http://eeyore.ucdavis.edu/cgi-bin/testForm1.pl", "fileData" = fileUpload("", paste(readLines(f), collapse = "\n"), "text/plain")) postForm("http://eeyore.ucdavis.edu/cgi-bin/testForm1.pl", "fileData" = fileUpload(f, paste(readLines(f), collapse = "\n") ), .opts = list(verbose = TRUE, header = TRUE)) } } \keyword{IO} RCurl/man/CurlFeatureBits.Rd0000644000176000001440000000112512437571707015452 0ustar ripleyusers\name{CurlFeatureBits} \alias{CurlFeatureBits} \alias{CurlNetrc} \alias{CurlGlobalBits} \docType{data} \title{Constants for libcurl} \description{ These are enums and bit fields defining constants used in libcurl and used in R to specify values symbolically. } \usage{CurlFeatureBits} \format{ named integer vectors. The names give the symbolic constants that can be used in R and C code. These are mapped to their integer equivalents and used in C-level computations. } \source{ libcurl (see \url{http://curl.haxx.se}) } %\references{} %\seealso{} %\examples{} \keyword{datasets} RCurl/man/httpPUT.Rd0000644000176000001440000000320512437571707013760 0ustar ripleyusers\name{httpPUT} \alias{httpPUT} \alias{httpPOST} \alias{httpGET} \alias{httpDELETE} \alias{httpHEAD} \alias{httpOPTIONS} \title{Simple high-level functions for HTTP PUT and DELETE} \description{ These two functions are simple, high-level functions that implement the HTTP request methods PUT and DELETE. These can also be done by specifying the method type using the curl option \code{customrequest}. These functions merely provide a convenience wrapper for \code{\link{getURLContent}} with the HTTP method specified. } \usage{ httpPUT(url, content, ..., curl = getCurlHandle()) httpPOST(url, ..., curl = getCurlHandle()) httpDELETE(url, ..., curl = getCurlHandle()) httpGET(url, ..., curl = getCurlHandle()) httpHEAD(url, ..., curl = getCurlHandle()) httpOPTIONS(url, ..., curl = getCurlHandle()) } \arguments{ \item{url}{the URL of the server to which the HTTP request is to be made} \item{content}{the value that is to be used as the content of the \code{PUT} request. This can be a character or a \code{raw} object.} \item{\dots}{additional arguments passed to \code{\link{getURLContent}}} \item{curl}{the curl handle to be used to make the request} } \value{ The content returned by the server as a result of the request. } \author{ Duncan Temple Lang } \seealso{ \code{\link{getURLContent}} } \examples{ \dontrun{ # create a database in a CouchDB server httpPUT("http://127.0.0.1:5984/temp_db") # Insert an entry into an ElasticSearch dabtabase. httpPUT("http://localhost:9200/a/b/axyz", '{"abc" : 123}') # Then delete the database httpDELETE("http://127.0.0.1:5984/temp_db") } } \keyword{programming} \concept{HTTP} RCurl/man/base64.Rd0000644000176000001440000000774612437571707013512 0ustar ripleyusers\name{base64} \alias{base64} \alias{base64Encode} \alias{base64Decode} \title{Encode/Decode base64 content} \description{ These functions encode and decode strings using base64 representations. \code{base64} can be used as a single entry point with an argument to encode or decode. The other two functions perform the specific action. } \usage{ base64(txt, encode = !inherits(txt, "base64"), mode = "character") } \arguments{ \item{txt}{character string to encode or decode} \item{encode}{logical value indicating whether the desired action is to encode or decode the object. If \code{txt} has (S3) class \code{base64}, the default is to decode this. } \item{mode}{a character string which is either "raw" or "character". This controls the type of vector that is returned. If this is "raw", a raw vector is created. Otherwise, a character vector of length 1 is returned and its element is the text version of the original data given in \code{txt}. } } \details{ This calls the routines in libcurl. These are not declared in the curl header files. So the support may need to be handled carefully on some platforms, e.g. Microsoft Windows. } \value{ If encode is \code{TRUE}, a character vector with a class named \code{base64}. If decode is \code{TRUE}, a simple string. } \references{ libcurl - \url{http://curl.haxx.se} Wikipedia's explanation of base 64 encoding - \url{http://en.wikipedia.org/wiki/Base64} } \author{Duncan Temple Lang} \note{ This is currently not vectorized. We might extend this to work with raw objects. } %\seealso{} \examples{ # encode and then decode a simple string. txt = "Some simple text for base 64 to handle" x = base64(txt) base64(x) # encode to a raw vector x = base64("Simple text", TRUE, "raw") # decode to a character string. ans = base64Decode(x) ans == txt # decoded to a raw format. ans = base64Decode(x, "raw") # Binary data # f = paste(R.home(), "doc", "html", "logo.jpg", sep = .Platform$file.sep) f = system.file("examples", "logo.jpg", package = "RCurl") img = readBin(f, "raw", file.info(f)[1, "size"]) b64 = base64Encode(img, "raw") back = base64Decode(b64, "raw") identical(img, back) # alternatively, we can encode to a string and then decode back again # to raw and see that we preserve the date. enc = base64Encode(img, "character") dec = base64Decode(enc, "raw") identical(img, dec) # The following would be the sort of computation we could do if we # could have in-memory raw connections. # We would save() some objects to such an in-memory binary/raw connection # and then encode the resulting raw vector into a character vector. # Then we can insert that into a message, e.g. an email message or # an XML document and when we receive it in a different R session # we would get the string and reverse the encoding from the string to # a raw vector # In the absence of that in-memory connection facility in save(), # we can use a file. x = 1:10 # save two objects - a function and a vector f = paste(tempfile(), "rda", sep = ".") save(base64, x, file = f) # now read the results back from that file as a raw vector data = readBin(f, "raw", file.info(f)[1,"size"]) # base64 encode it txt = base64Encode(data, "character") if(require(XML)) { tt = xmlTree("r:data", namespaces = c(r = "http://www.r-project.org")) tt$addNode(newXMLTextNode(txt)) out = saveXML(tt) doc = xmlRoot(xmlTreeParse(out, asText = TRUE)) rda = base64Decode(xmlValue(doc), "raw") f = tempfile() writeBin(rda, f) e = new.env() load(f, e) objects(e) } # we'd like to be able to do # con = rawConnection(raw(), 'r+') # save(base64, x, file = con) # txt = base64Encode(rawConnectionValue(con), "character") # ... write and read xml stuff # val = xmlValue(doc) # rda = base64Decode(val, "raw") # e = new.env() # input = rawConnection(o, "r") # load(input, e) } \keyword{IO } \keyword{programming} RCurl/man/curlPerform.Rd0000644000176000001440000001116012665241535014703 0ustar ripleyusers\name{curlPerform} \alias{curlPerform} \alias{curlMultiPerform} \title{Perform the HTTP query} \description{ These function causes the HTTP query, that has been specified via the different options in this and other calls, to be sent and processed. Unlike in curl itself, for \code{curlPerform} one can specify all the options in this call as an atomic invocation. This avoids having to set the options and then perform the action. Instead, this is all done in one call. For \code{curlMultiPerform}, one must add the relevant \code{\link{CURLHandle-class}} objects to the \code{\link{MultiCURLHandle-class}} objects before issuing the call to \code{curlMultiPerform}. } \usage{ curlPerform(..., .opts = list(), curl = getCurlHandle(), .encoding = integer()) curlMultiPerform(curl, multiple = TRUE) } \arguments{ \item{curl}{for \code{curlPerform}, this is the \code{CURLHandle} object giving the structure for the options and that will process the command. For \code{curlMultiPerform}, this is an object of class code \code{\link{MultiCURLHandle-class}}.} \item{...}{a named list of curl options to set after the handle has been created.} \item{.opts}{a named list or \code{CURLOptions} object identifying the curl options for the handle. This is merged with the values of \dots to create the actual options for the curl handle in the request.} \item{multiple}{a logical value. If \code{TRUE} and the internal call to \code{curl_multi_perform} returns a value that indicates there is still data available from one of the HTTP responses, we call \code{curl_multi_perform} repeatedly until there is no more data available at that time. If this is \code{FALSE}, we call \code{curl_multi_perform} once and return, regardless of whether there is more data available. This is convenient if we want to limit the time spent in the call to \code{curlMultiPerform}. } \item{.encoding}{an integer or a string that explicitly identifies the encoding of the content that is returned by the HTTP server in its response to our query. The possible strings are \sQuote{UTF-8} or \sQuote{ISO-8859-1} and the integers should be specified symbolically as \code{CE_UTF8} and \code{CE_LATIN1}. Note that, by default, the package attempts to process the header of the HTTP response to determine the encoding. This argument is used when such information is erroneous and the caller knows the correct encoding. Note that the encoding argument is not a regular libcurl option and is handled specially by RCurl. But as a result, it is not unset in subsequent uses of the curl handle (\code{curl}). } } \value{ A integer value indicating the status of the request. This should be 0 as other errors will generate errors. } \references{Curl homepage \url{http://curl.haxx.se}} \author{Duncan Temple Lang } \seealso{ \code{\link{getURL}} \code{\link{postForm}} \code{\link{getForm}} \code{\link{curlSetOpt}} } \examples{ if(url.exists("http://www.omegahat.net/RCurl")) { h = basicTextGatherer() curlPerform(url = "http://www.omegahat.net/RCurl", writefunction = h$update) # Now read the text that was cumulated during the query response. h$value() } if(url.exists("http://services.soaplite.com/hibye.cgi")) { # SOAP request body = '\ \ \ \ \ \n' h$reset() curlPerform(url = "http://services.soaplite.com/hibye.cgi", httpheader=c(Accept="text/xml", Accept="multipart/*", SOAPAction='"http://www.soaplite.com/Demo#hi"', 'Content-Type' = "text/xml; charset=utf-8"), postfields=body, writefunction = h$update, verbose = TRUE ) body = h$value() } # Using a C routine as the reader of the body of the response. if(url.exists("http://www.omegahat.net/RCurl/index.html")) { routine = getNativeSymbolInfo("R_internalWriteTest", PACKAGE = "RCurl")$address curlPerform(URL = "http://www.omegahat.net/RCurl/index.html", writefunction = routine) } } \keyword{IO} RCurl/man/scp.Rd0000644000176000001440000000444512544456506013202 0ustar ripleyusers\name{scp} \Rdversion{1.1} \alias{scp} \title{Retrieve contents of a file from a remote host via SCP (Secure Copy)} \description{ This function allows us to retrieve the contents of a file from a remote host via SCP. This is done entirely within R, rather than a command line application and the contents of the file are never written to disc. The function allows the } \usage{ scp(host, path, keypasswd = NA, user = getUserName(), rsa = TRUE, key = sprintf(c("~/.ssh/id_\%s.pub", "~/.ssh/id_\%s"), if (rsa) "rsa" else "dsa"), binary = NA, size = 5000, curl = getCurlHandle(), ...) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{host}{the name of the remote host or its IP address} \item{path}{the path of the file of interest on the remote host's file systems} \item{keypasswd}{a password for accessing the local SSH key. This is the passphrase for the key.} \item{user}{the name of the user on the remote machine} \item{rsa}{a logical value indicating whether to use the RSA or DSA key} \item{key}{the path giving the location of the SSH key. } \item{binary}{a logical value giving } \item{size}{an estimate of the size of the buffer needed to store the contents of the file. This is used to initialize the buffer and potentially avoid resizing it as needed.} \item{curl}{a curl handle (\code{\link{getCurlHandle}}) that is to be reused for this request and which potentially contains numerous options settings or an existing connection to the host.} \item{\dots}{additional parameters handed to \code{\link{curlPerform}}.} } \details{This uses libcurl's facilities for scp. Use \code{"scp" \%in\% curlVersion()$protocols} to see if SCP is supported. } \value{ Either a raw or character vector giving the contents of the file. } \references{ libcurl \url{http://curl.haxx.se} } \author{ Duncan Temple Lang } \seealso{ \code{\link{curlPerform}} \code{\link{getCurlOptionsConstants}} } \examples{ \dontrun{ x = scp("eeyore.ucdavis.edu", "/home/duncan/OmegaWeb/index.html", "My.SCP.Passphrase", binary = FALSE) x = scp("eeyore.ucdavis.edu", "/home/duncan/OmegaWeb/RCurl/xmlParse.bz2", "My.SCP.Passphrase") if(require(Rcompression)) o = bunzip2(x) } } \keyword{IO} \keyword{programming} RCurl/man/basicTextGatherer.Rd0000644000176000001440000001575212665241535016026 0ustar ripleyusers\name{basicTextGatherer} \alias{basicTextGatherer} \alias{multiTextGatherer} \alias{debugGatherer} \title{Cumulate text across callbacks (from an HTTP response)} \description{ These functions create callback functions that can be used to with the libcurl engine when it passes information to us when it is available as part of the HTTP response. \code{basicTextGatherer} is a generator function that returns a closure which is used to cumulate text provided in callbacks from the libcurl engine when it reads the response from an HTTP request. \code{debugGatherer} can be used with the \code{debugfunction} libcurl option in a call and the associated \code{update} function is called whenever libcurl has information about the header, data and general messages about the request. These functions return a list of functions. Each time one calls \code{basicTextGatherer} or \code{debugGatherer}, one gets a new, separate collection of functions. However, each collection of functions (or instance) shares the variables across the functions and across calls. This allows them to store data persistently across the calls without using a global variable. In this way, we can have multiple instances of the collection of functions, with each instance updating its own local state and not interfering with those of the others. We use an S3 class named \code{RCurlCallbackFunction} to indicate that the collection of funcions can be used as a callback. The \code{update} function is the one that is actually used as the callback function in the CURL option. The \code{value} function can be invoked to get the current state that has been accumulated by the \code{update} function. This is typically used when the request is complete. One can reuse the same collection of functions across different requests. The information will be cumulated. Sometimes it is convenient to reuse the object but reset the state to its original empty value, as it had been created afresh. The \code{reset} function in the collection permits this. \code{multiTextGatherer} is used when we are downloading multiple URIs concurrently in a single libcurl operation. This merely uses the tools of \code{basicTextGatherer} applied to each of several URIs. See \code{\link{getURIAsynchronous}}. } \usage{ basicTextGatherer(txt = character(), max = NA, value = NULL, .mapUnicode = TRUE) multiTextGatherer(uris, binary = rep(NA, length(uris))) debugGatherer() } %- maybe also 'usage' for other objects documented here. \arguments{ \item{txt}{an initial character vector to start things. We allow this to be specified so that one can initialize the content. } \item{max}{if specified as an integer this controls the total number of characters that will be read. If more are read, the function tells libcurl to stop!} \item{uris}{for \code{multiTextGatherer}, this is either the number or the names of the uris being downloaded and for which we need a separate writer function. } \item{value}{if specified, a function that is called when retrieving the text usually after the completion of the request and the processing of the response. This function can be used to convert the result into a different format, e.g. parse an XML document, read values from table in the text.} \item{.mapUnicode}{a logical value that controls whether the resulting text is processed to map components of the form \\uxxxx to their appropriate Unicode representation.} \item{binary}{a logical vector that indicates which URIs yield binary content} } \details{ This is called when the libcurl engine finds sufficient data on the stream from which it is reading the response. It cumulates these bytes and hands them to a C routine in this package which calls the actual gathering function (or a suitable replacement) returned as the \code{update} component from this function. } \value{ Both the \code{basicTextGatherer} and \code{debugGatherer} functions return an object of class \code{RCurlCallbackFunction}. \code{basicTextGatherer} extends this with the class \code{RCurlTextHandler} and \code{debugGatherer} extends this with the class \code{RCurlDebugHandler}. Each of these has the same basic structure, being a list of 3 functions. \item{update}{the function that is called with the text from the callback routine and which processes this text by accumulating it into a vector} \item{value}{a function that returns the text cumulated across the callbacks. This takes an argument \code{collapse} (and additional ones) that are handed to \code{\link[base]{paste}}. If the value of \code{collapse} is given as \code{NULL}, the vector of elements containing the different text for each callback is returned. This is convenient when debugging or if one knows something about the nature of the callbacks, e.g. the regular size that causes iit to identify records in a natural way. } \item{reset}{a function that resets the internal state to its original, empty value. This can be used to reuse the same object across requests but to avoid cumulating new input with the material from previous requests.} \code{multiTextGatherer} returns a list with an element corresponding to each URI. Each element is an object obtained by calling \code{basicTextGatherer}, i.e. a collection of 3 functions with shared state. } \references{Curl homepage \url{http://curl.haxx.se}} \author{Duncan Temple Lang } \seealso{ \code{\link{getURL}} \code{\link{dynCurlReader}} } \examples{ if(url.exists("http://www.omegahat.net/RCurl/index.html")) { txt = getURL("http://www.omegahat.net/RCurl/index.html", write = basicTextGatherer()) h = basicTextGatherer() txt = getURL("http://www.omegahat.net/RCurl/index.html", write = h$update) # Cumulate across pages. txt = getURL("http://www.omegahat.net/index.html", write = h$update) headers = basicTextGatherer() txt = getURL("http://www.omegahat.net/RCurl/index.html", header = TRUE, headerfunction = headers$update) # Now read the headers. headers$value() headers$reset() # Debugging callback d = debugGatherer() x = getURL("http://www.omegahat.net/RCurl/index.html", debugfunction = d$update, verbose = TRUE) names(d$value()) d$value()[["headerIn"]] uris = c("http://www.omegahat.net/RCurl/index.html", "http://www.omegahat.net/RCurl/philosophy.html") g = multiTextGatherer(uris) txt = getURIAsynchronous(uris, write = g) names(txt) nchar(txt) # Now don't use names for the gatherer elements. g = multiTextGatherer(length(uris)) txt = getURIAsynchronous(uris, write = g) names(txt) nchar(txt) } \dontrun{ Sys.setlocale(,"en_US.latin1") Sys.setlocale(,"en_US.UTF-8") uris = c("http://www.omegahat.net/RCurl/index.html", "http://www.omegahat.net/RCurl/philosophy.html") g = multiTextGatherer(uris) txt = getURIAsynchronous(uris, write = g) } } \keyword{IO} RCurl/man/curlVersion.Rd0000644000176000001440000000443312437571707014727 0ustar ripleyusers\name{curlVersion} \alias{curlVersion} \title{Information describing the Curl library} \description{ This function queries the Curl library to provide information about its characteristics when it was compiled. This tells the user about its capabilities and can be used to determine strategies. } \usage{ curlVersion(id = 0) } \arguments{ \item{id}{an integer value between 0 and 3 inclusive. The idea is that one specifies the identifier for the version of interest. In fact, all values seem to yield the same result. } } \value{ A list \item{age}{integer giving the number of this libcurl, 0 is FIRST, 1 is SECOND, 2 is THIRD} \item{version}{the version identifier as a string, e.g. \code{"7.12.0"}} \item{version_num}{the value as an integer} \item{host}{the machine on which the libcurl was configured/built.} \item{features}{a named integer vector of bits indicating what features of libcurl were configured and built into this version. These are features such as ipv6, ssl, libz, largefile, ntlm (Microsoft "authorization").} \item{ssl_version}{the string identifying the SSL version.} \item{ssl_version_num}{the number identifying the SSL version} \item{libz_version}{the string identifying the version of libz.} \item{protocols}{a character vector of the supported HTTP protocols, e.g. http, https, ftp, ldap, gopher, telnet} \item{ares}{name of the asynchronous DNS (domain name service) lookup library. This is often simply the empty string indicating it is not there. } \item{ares_num}{the number for the ares library} \item{libidn}{the name of the IDN (internationalized domain names) library being used. This field only appears in version 3 of libcurl. If you are using version 2 (e.g. curl-7.11.2), this will be \code{NA}. An empty string indicates that the field is present, but has no value. } See the man page for \code{curl_version_info} for a description of these fields. \code{features} in R is a named integer vector detailing the different features. } \references{Curl homepage \url{http://curl.haxx.se}} \author{Duncan Temple Lang } \seealso{ \code{curl_version_info} in the libcurl documentation. } \examples{ curlVersion() } \keyword{IO} \concept{reflectance} RCurl/man/CFILE.Rd0000644000176000001440000000277012437571707013240 0ustar ripleyusers\name{CFILE} \Rdversion{1.1} \alias{CFILE} \alias{CFILE-class} \alias{close,CFILE-method} \title{Create a C-level handle for a file} \description{ This function and class allow us to work with C-level \code{FILE} handles. The intent is to be able to pass these to \code{libcurl} as options so that it can read or write from or to the file. We can also do this with R connections and specify callback functions that manipulate these connections. But using the C-level FILE handle is likely to be significantly faster for large files. The \code{close} method allows us to explicitly flush and close the file from within R. } \usage{ CFILE(filename, mode = "r") } \arguments{ \item{filename}{the name of the file on disk} \item{mode}{a string specifying how to open the file, read or write, text or binary.} } \details{ This is a simple interface to the C routine \code{fopen}. } \value{ An object of class \code{CFILE} which is has a single slot name \code{ref} which is an external pointer holding the address of the FILE object in C. } \references{ Man page for \code{fopen} } \author{Duncan Temple Lang} \seealso{ \code{\link{curlPerform}} and the \code{readdata} } \examples{ \dontrun{ filename = system.file("tests", "amazon3.R", package = "RCurl") f = CFILE(filename) if(url.exists('http://s3.amazonaws.com/')) curlPerform(url = "http://s3.amazonaws.com/RRupload/duncan2", upload = TRUE, readdata = f@ref, infilesize = file.info(filename)[1, "size"]) } } \keyword{IO} RCurl/man/url.exists.Rd0000644000176000001440000000301512665241535014523 0ustar ripleyusers\name{url.exists} \alias{url.exists} \title{Check if URL exists} \description{ This functions is analogous to \code{\link[base]{file.exists}} and determines whether a request for a specific URL responds without error. We make the request but ask the server not to return the body. We just process the header. } \usage{ url.exists(url, ..., .opts = list(...), curl = getCurlHandle(.opts = .opts), .header = FALSE) } \arguments{ \item{url}{the URL whose existence we are to test} \item{\dots}{name = value pairs of Curl options.} \item{.opts}{a list of name = value pairs of Curl options.} \item{curl}{a Curl handle that the caller can specify if she wants to reuse an existing handle, e.g. with different options already specified or that has previously established a connection to the Web server} \item{.header}{a logical value that if \code{TRUE} causes the header information to be returned. } } \details{ This makes an HTTP request but with the nobody option set to \code{FALSE} so that we don't actually retrieve the contents of the URL. } \value{ If \code{.header} is \code{FALSE}, this returns \code{TRUE} or \code{FALSE} indicating whether the request was successful (had a status with a value in the 200 range). If \code{.header} is \code{TRUE} } \references{ HTTP specification } \author{ Duncan Temple Lang } \seealso{ \code{\link{curlPerform}} } \examples{ url.exists("http://www.omegahat.net/RCurl") try(url.exists("http://www.omegahat.net/RCurl-xxx")) } RCurl/man/basicHeaderGatherer.Rd0000644000176000001440000000447512665241535016272 0ustar ripleyusers\name{basicHeaderGatherer} \alias{basicHeaderGatherer} \alias{parseHTTPHeader} \title{Functions for processing the response header of a libcurl request} \description{ These two functions are used to collect the contents of the header of an HTTP response via the \code{headerfunction} option of a curl handle and then processing that text into both the name: value pairs and also the initial line of the response that provides the status of the request. \code{basicHeaderGatherer} is a simple special case of \code{\link{basicTextGatherer}} with the built-in post-processing step done by \code{parseHTTPHeader}. } \usage{ basicHeaderGatherer(txt = character(), max = NA) parseHTTPHeader(lines, multi = TRUE) } \arguments{ \item{txt}{any initial text that we want included with the header. This is passed to \code{\link{basicTextGatherer}}. Generally it should not be specified unless there is a good reason.} \item{max}{This is passed directly to \code{\link{basicTextGatherer}}} \item{lines}{ the text as a character vector from the response header that \code{parseHTTPHeader} will convert to a status and name-value pairs.} \item{multi}{a logical value controlling whether we check for multiple HTTP headers in the lines of text. This is caused by a Continue being concatenated with the actual response. When this is \code{TRUE}, we look for the lines that start an HTTP header, e.g. \code{HTTP 200 ...}, and we use the content from the last of these. } } \value{ The return value is the same as \code{\link{basicTextGatherer}}, i.e. a list with \code{update}, \code{value} and \code{reset} function elements. The \code{value} element will invoke \code{parseHTTPHeader} on the contents read during the processing of the libcurl request and return that value. } \references{Curl homepage \url{http://curl.haxx.se}} \author{Duncan Temple Lang } \seealso{ \code{\link{basicTextGatherer}} \code{\link{curlPerform}} \code{\link{curlSetOpt}} } \examples{ if(url.exists("http://www.omegahat.net/RCurl/index.html")) { h = basicHeaderGatherer() getURI("http://www.omegahat.net/RCurl/index.html", headerfunction = h$update) names(h$value()) h$value() } } \keyword{IO} \concept{network client} RCurl/man/HTTP_VERSION_1_0.Rd0000644000176000001440000000115612437571707015036 0ustar ripleyusers\name{HTTP_VERSION_1_0} \Rdversion{1.1} \alias{HTTP_VERSION_1_0} \alias{HTTP_VERSION_1_1} \alias{HTTP_VERSION_LAST} \alias{HTTP_VERSION_NONE} \alias{SSLVERSION_DEFAULT} \alias{SSLVERSION_LAST} \alias{SSLVERSION_SSLv2} \alias{SSLVERSION_SSLv3} \alias{SSLVERSION_TLSv1} \title{Symbolic constants for specifying HTTP and SSL versions in libcurl} \description{ These are values that can be used to set the \code{http.version} and \code{sslversion} options of \code{\link{curlPerform}}. } \usage{HTTP_VERSION_1_0} \references{ \url{http://curl.haxx.se/libcurl/c/curl_easy_setopt.html} } %\examples{} \keyword{datasets} RCurl/man/enums.Rd0000644000176000001440000000510312437571707013536 0ustar ripleyusers\name{CURLEnums} \alias{|,BitwiseValue,BitwiseValue-method} \alias{c,BitwiseValue-method} \alias{&,BitwiseValue-method} \alias{&,BitwiseValue,BitwiseValue-method} \alias{[,EnumDef-method} \alias{[,EnumDef,ANY-method} \alias{coerce,BitwiseValue,numeric-method} \alias{curl_infotype-class} \alias{CURLcode-class} \alias{curl_proxytype-class} \alias{curl_usessl-class} \alias{curl_ftpccc-class} \alias{curl_ftpauth-class} \alias{curl_ftpcreatedir-class} \alias{curl_ftpmethod-class} \alias{CURL_NETRC_OPTION-class} \alias{CURLFORMcode-class} \alias{curl_TimeCond-class} \alias{curl_closepolicy-class} \alias{coerce,integer,curl_infotype-method} \alias{coerce,integer,CURLcode-method} \alias{coerce,integer,curl_proxytype-method} \alias{coerce,integer,curl_usessl-method} \alias{coerce,integer,curl_ftpccc-method} \alias{coerce,integer,curl_ftpauth-method} \alias{coerce,integer,curl_ftpcreatedir-method} \alias{coerce,integer,curl_ftpmethod-method} \alias{coerce,integer,CURL_NETRC_OPTION-method} \alias{coerce,integer,CURLFORMcode-method} \alias{coerce,integer,curl_TimeCond-method} \alias{coerce,integer,curl_closepolicy-method} \alias{coerce,numeric,curl_infotype-method} \alias{coerce,numeric,CURLcode-method} \alias{coerce,numeric,curl_proxytype-method} \alias{coerce,numeric,curl_usessl-method} \alias{coerce,numeric,curl_ftpccc-method} \alias{coerce,numeric,curl_ftpauth-method} \alias{coerce,numeric,curl_ftpcreatedir-method} \alias{coerce,numeric,curl_ftpmethod-method} \alias{coerce,numeric,CURL_NETRC_OPTION-method} \alias{coerce,numeric,CURLFORMcode-method} \alias{coerce,numeric,curl_TimeCond-method} \alias{coerce,numeric,curl_closepolicy-method} \alias{coerce,character,curl_infotype-method} \alias{coerce,character,CURLcode-method} \alias{coerce,character,curl_proxytype-method} \alias{coerce,character,curl_usessl-method} \alias{coerce,character,curl_ftpccc-method} \alias{coerce,character,curl_ftpauth-method} \alias{coerce,character,curl_ftpcreatedir-method} \alias{coerce,character,curl_ftpmethod-method} \alias{coerce,character,CURL_NETRC_OPTION-method} \alias{coerce,character,CURLFORMcode-method} \alias{coerce,character,curl_TimeCond-method} \alias{coerce,character,curl_closepolicy-method} \title{Classes and coercion methods for enumerations in libcurl} \description{These are classes and coercion methods for enumeration types in RCurl corresponding to symbolic constants in libcurl. The actual constants are not exported, but are defined within the package. So we can use them with code such as \code{RCurl:::CURLINFO_DATA_IN}. } %\usage{} %\value{} \author{Duncan Temple Lang} \keyword{programming} RCurl/man/getURIAsynchronous.Rd0000644000176000001440000001212412665241535016157 0ustar ripleyusers\name{getURIAsynchronous} \alias{getURIAsynchronous} \alias{getURLAsynchronous} \title{Download multiple URIs concurrently, with inter-leaved downloads} \description{ This function allows the caller to specify multiple URIs to download at the same time. All the requests are submitted and then the replies are processed as data becomes available on each connection. In this way, the responses are processed in an inter-leaved fashion, with a chunk from one response from one request being processed and then followed by a chunk from a different request. Downloading documents asynchronously involves some trade-offs. The switching between different streams, detecting when input is available on any of them involves a little more processing and so increases the consumption of CPU cycles. On the other hand, there is a potentially large saving of time when one considers total time to download. See \url{http://www.omegahat.net/RCurl/concurrent.xml} for more details. This is a common trade-off that arises in concurrent/parallel/asynchronous computing. \code{\link{getURI}} calls this function if more than one URI is specified and \code{async} is \code{TRUE}, the default in this case. One can also download the (contents of the) multiple URIs serially, i.e. one after the other using \code{\link{getURI}} with a value of \code{FALSE} for \code{async}. } \usage{ getURIAsynchronous(url, ..., .opts = list(), write = NULL, curl = getCurlHandle(), multiHandle = getCurlMultiHandle(), perform = Inf, .encoding = integer(), binary = rep(NA, length(url))) } \arguments{ \item{url}{a character vector identifying the URIs to download.} \item{\dots}{named arguments to be passed to \code{\link{curlSetOpt}} when creating each of the different \code{curlHandle} objects.} \item{.opts}{a named list or \code{CURLOptions} object identifying the curl options for the handle. This is merged with the values of \dots to create the actual options for the curl handle in the request.} \item{write}{an object giving the functions or routines that are to be called when input is waiting on the different HTTP response streams. By default, a separate callback function is associated with each input stream. This is necessary for the results to be meaningful as if we use a single reader, it will be called for all streams in a haphazard order and the content interleaved. One can do interesting things however using a single object. } \item{curl}{the prototypical curlHandle that is duplicated and used in in } \item{multiHandle}{ this is a curl handle for performing asynchronous requests. } \item{perform}{a number which specifies the maximum number of calls to \code{\link{curlMultiPerform}} that are to be made in this function call. This is typically either 0 for no calls or \code{Inf} meaning process the requests until completion. One may find alternative values useful, such as 1 to ensure that the requests are dispatched. } \item{.encoding}{an integer or a string that explicitly identifies the encoding of the content that is returned by the HTTP server in its response to our query. The possible strings are \sQuote{UTF-8} or \sQuote{ISO-8859-1} and the integers should be specified symbolically as \code{CE_UTF8} and \code{CE_LATIN1}. Note that, by default, the package attempts to process the header of the HTTP response to determine the encoding. This argument is used when such information is erroneous and the caller knows the correct encoding. } \item{binary}{a logical vector identifying whether each URI has binary content or simple text.} } \details{ This uses \code{\link{curlMultiPerform}} and the multi/asynchronous interface for libcurl. } \value{ The return value depends on the run-time characteristics of the call. If the call merely specifies the URIs to be downloaded, the result is a named character vector. The names identify the URIs and the elements of the vector are the contents of the corresponding URI. If the requests are not performed or completed (i.e. \code{perform} is zero or too small a value to process all the chunks) a list with 2 elements is returned. These elements are: \item{multiHandle}{the curl multi-handle, of class \code{\link{MultiCURLHandle-class}}. This can be used in further calls to \code{\link{curlMultiPerform}}} \item{write}{the \code{write} argument (after it was potentially expanded to a list). This can then be used to fetch the results of the requests when the requests are completed in the future. } } \references{Curl homepage \url{http://curl.haxx.se}} \author{Duncan Temple Lang } \seealso{ \code{\link{getURL}} \code{\link{getCurlMultiHandle}} \code{\link{curlMultiPerform}} } \examples{ uris = c("http://www.omegahat.net/RCurl/index.html", "http://www.omegahat.net/RCurl/philosophy.xml") txt = getURIAsynchronous(uris) names(txt) nchar(txt) } \keyword{IO} \concept{Web} \concept{URI} \concept{Web services} RCurl/man/ftpUpload.Rd0000644000176000001440000000542312544454031014337 0ustar ripleyusers\name{ftpUpload} \alias{ftpUpload} \title{Upload content via FTP} \description{ This function is a relatively simple wrapper for \code{\link{curlPerform}} which allows the caller to upload a file to an FTP server. One can upload the contents of a file from the local file system or the contents already in memory. One specifies the FTP server and the fully-qualified file name and path where the contents are to be stored. One can specify the user login and password via the \code{userpwd} option for \code{\link{curlPerform}} via the \dots parameter, or one can put this information directly in the target URL (i.e. \code{to}) in the form \code{ftp://login:password@machine.name/path/to/file}. This function can handle binary or text content. } \usage{ ftpUpload(what, to, asText = inherits(what, "AsIs") || is.raw(what), ..., curl = getCurlHandle()) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{what}{the name of a local file or the contents to be uploaded. This can can be text or binary content. This can also be an open connection. If this value is \code{raw} or has class \code{AsIs} by being enclosed within \code{I()}, it is treated as literal content.} \item{to}{the URL to which the content is to be uploaded. This should be the ftp server with the prefix \code{ftp://} and optionally the user login and password, and then the path to the file in which the content is to be stored.} \item{asText}{a logical value indicating whether to treat the value of \code{what} as content, be it text or raw/binary vector. Otherwise, \code{what} is treated as the name of a file.} \item{\dots}{additional arguments passed on to \code{\link{curlPerform}}.} \item{curl}{the curl handle to use for the \code{\link{curlPerform}}} } \value{ The result of the \code{\link{curlPerform}} call. } \references{FTP, libcurl} \author{Duncan Temple Lang} \note{ One can also provide additional FTP commands that are executed before and after the upload as part of the request. Use the prequote, quote, and postquote options in \code{\link{curlPerform}} for these. } \seealso{ \code{\link{curlPerform}} \code{\link{getCurlHandle}} } \examples{ \dontrun{ ftpUpload(I("Some text to be uploaded into a file\nwith several lines"), "ftp://login:password@laptop17/ftp/zoe", ) ftpUpload(I("Some text to be uploaded into a file\nwith several lines"), "ftp://laptop17/ftp/zoe", userpwd = "login:password" ) ftpUpload(system.file("examples", "system.png", package = "RCurl"), "ftp://login:password@laptop17/ftp/Election.rda", postquote = c("CWD subdir", "RNFR Election.rda", "RNTO ElectionPolls.rda") ) } } \keyword{IO} \keyword{programming} RCurl/man/clone.Rd0000644000176000001440000000136012437571707013510 0ustar ripleyusers\name{clone} \alias{clone} \alias{clone,ANY-method} \alias{clone,CURLHandle-method} \alias{clone,environment-method} \alias{clone,CFILE-method} \title{Clone/duplicate an object} \description{ This is a generic function and methods for making a copy of an object such as a curl handle, C-level pointer to a file, etc. } \usage{ clone(x, ...) } \arguments{ \item{x}{the object to be cloned.} \item{\dots}{additional parameters for methods} } \value{ Typically, an object of the same class and \dQuote{value} as the input - \code{x}. } \author{ Duncan Temple Lang } \seealso{ \code{\link{dupCurlHandle}} } \examples{ h = getCurlHandle(verbose = TRUE) other = dupCurlHandle(h) curlSetOpt(curl = h, verbose = FALSE) } \keyword{programming} RCurl/man/curlEscape.Rd0000644000176000001440000000355012437571707014501 0ustar ripleyusers\name{curlEscape} \alias{curlEscape} \alias{curlUnescape} \alias{curlPercentEncode} \title{Handle characters in URL that need to be escaped} \description{ These functions convert between URLs that are human-readable and those that have special characters escaped. For example, to send a URL with a space, we need to represent the space as \code{\%20}. \code{curlPercentEncode} uses a different format than the \code{curlEscape} function and this is needed for x-www-form-encoded POST submissions. } \usage{ curlEscape(urls) curlUnescape(urls) curlPercentEncode(x, amp = TRUE, codes = PercentCodes, post.amp = FALSE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{urls}{ a character vector giving the strings to be escaped or unescaped.} \item{x}{the strings to be encoded via the percent-encoding method} \item{amp}{a logical value indicating whether to encode \& characters.} \item{codes}{the named character vector giving the encoding map. The names are the characters we encode, the values are what we encode them as.} \item{post.amp}{a logical value controlling whether the resulting string is further processed to escape the percent (\%) prefixes with the code for percent, i.e. \%25.} } \details{ This calls \code{curl_escape} or \code{curl_unescape} in the libcurl library. } \value{ A character vector that has corresponding elements to the input with the characters escaped or not. } \references{ Curl homepage \url{http://curl.haxx.se} Percent encoding explained in \url{http://en.wikipedia.org/wiki/Percent-encoding} } \author{Duncan Temple Lang } \examples{ curlEscape("http://www.abc.com?x=a is a sentence&a b=and another") # Reverse it should get back original curlUnescape(curlEscape("http://www.abc.com?x=a is a sentence&a b=and another")) } \keyword{IO} RCurl/man/AUTH.Rd0000644000176000001440000000116612437571707013155 0ustar ripleyusers\name{AUTH_ANY} \alias{AUTH_ANY} \alias{AUTH_ANYSAFE} \alias{AUTH_BASIC} \alias{AUTH_DIGEST} \alias{AUTH_DIGEST_IE} \alias{AUTH_GSSNEGOTIATE} \alias{AUTH_NONE} \alias{AUTH_NTLM} \alias{AUTH_NTLM_WB} \alias{AUTH_ONLY} \title{Constants for identifying Authentication Schemes} \description{ These variables are symbolic constants that allow use to specify different combinations of schemes for HTTP authentication in a request to a Web server. We can combine them via the \code{|} operator to indicate that libcurl should try them in order until one works. } \examples{ AUTH_BASIC | AUTH_DIGEST } \keyword{programming} RCurl/man/RCurl-internal.Rd0000644000176000001440000000022712437571707015252 0ustar ripleyusers\name{RCurlInternal} \alias{coerce,numeric,NetrcEnum-method} \title{Internal functions} \description{Not for human consumption} \keyword{programming} RCurl/man/curlSetOpt.Rd0000644000176000001440000000614612665241535014517 0ustar ripleyusers\name{curlSetOpt} \alias{curlSetOpt} \title{Set values for the CURL options} \description{ This function allows us to set values for the possible options in the CURL data structure that defines the HTTP request. These options persist across calls in the \code{CURLHandle} object. } \usage{ curlSetOpt(..., .opts = list(), curl = getCurlHandle(), .encoding = integer(), .forceHeaderNames = FALSE, .isProtected = FALSE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{...}{a named list of curl options to set after the handle has been created.} \item{.opts}{a named list or \code{CURLOptions} object identifying the curl options for the handle.} \item{curl}{the \code{CURLHandle} object created earlier via a call to \code{\link{getCurlHandle}} or \code{\link{dupCurlHandle}}} \item{.encoding}{an integer or a string that explicitly identifies the encoding of the content that is returned by the HTTP server in its response to our query. The possible strings are \sQuote{UTF-8} or \sQuote{ISO-8859-1} and the integers should be specified symbolically as \code{CE_UTF8} and \code{CE_LATIN1}. Note that, by default, the package attempts to process the header of the HTTP response to determine the encoding. This argument is used when such information is erroneous and the caller knows the correct encoding. } \item{.forceHeaderNames}{a logical value which if \code{TRUE} allows the caller to explicitly indicate that the HTTPHEADER option needs to have the names prefixed to the strings. This removes any ambiguity caused by the presence of ':' in the values appearing to be the separator between the name and the value of the \code{name: value} pairs of the HTTP header.} \item{.isProtected}{ a logical vector (or value that is repeated) specifying which of the values in \dots and \code{.opts} need to be explicitly protected from garbage collection or not. The basic idea is that we specify \code{FALSE} if the value being set for the curl option may be garbage collected before the \code{curl} handle is garbage collected. This would leave the \code{curl} object in an inconsistent state, referring to an R object (i.e. an R function), which may be used after the R object has been garbage collected. } } \value{ An integer value giving the status of the return. This should be 0 as if there was an error in the libcurl mechiansim, we will throw it there. } \references{Curl homepage \url{http://curl.haxx.se}} \author{Duncan Temple Lang } \seealso{ \code{\link{getCurlHandle}} \code{\link{dupCurlHandle}} } \examples{ if(url.exists("http://www.omegahat.net")) { curl = getCurlHandle() # Note the header that extends across two lines with the second line # prefixed with white space. curlSetOpt( .opts = list(httpheader = c(Date = "Wed, 1/2/2000 10:01:01", foo="abc\n extra line"), verbose = TRUE), curl = curl) ans = getURL("http://www.omegahat.net", curl = curl) } } \keyword{IO} RCurl/man/fileUpload.Rd0000644000176000001440000000503512437571707014477 0ustar ripleyusers\name{fileUpload} \alias{fileUpload} \title{Specify information about a file to upload in an HTTP request} \description{ This function creates an object that describes all of the details needed to include the contents of a file in the submission of an HTTP request, typically a multi-part form submitted via \code{\link{postForm}}. The idea is that we want to transfer the contents of a file or a buffer of data within R that is not actually stored on the file system but is resident in the R session. We want to be able to specify either the name of the file and have RCurl read the contents when they are needed, or alternatively specify the contents ourselves if it makes sense that we already have the contents in R, e.g. that they are dynamically generated. Additionally, we may need to specify the type of data in the file/buffer via the Content-Type field for this parameter in the request. This function allows us to specify either the file name or contents and optionally the content type. This is used as an element in of the \code{params} argument \code{\link{postForm}} and the native C code understands and processes objects returned from this function. } \usage{ fileUpload(filename = character(), contents = character(), contentType = character()) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{filename}{the name of the file that RCurl is to pass in the form submission/HTTP request. If this is specified and no value for \code{contents} is given, this has to identify a valid/existing file. If \code{contents} is specified, any value provided here is used simply to provide information about the provenance of the data in contents. The file need not exist. The path is expanded by the function, so \code{~} can be used. } \item{contents}{ either a character vector or a \code{raw} vector giving the contents or data to be submitted. If this is provided, \code{filename} is not needed and not read. } \item{contentType}{a character string (vector of length 1) giving the type of the content, e.g. text/plain, text/html, which helps the server receiving the data to interpret the contents. If omitted, this is omitted from the form submission and the recipient left to guess. } } \value{ An object of (S3) class \code{FileUploadInfo} with fields \code{filename}, \code{contents} and \code{contentType}. } \references{ \url{http://curl.haxx.se} } \author{Duncan Temple Lang} \seealso{ \code{\link{postForm}} } %\examples{} \keyword{IO} RCurl/man/mimeTypeExtensions.Rd0000644000176000001440000000236312544455643016264 0ustar ripleyusers\name{mimeTypeExtensions} \alias{mimeTypeExtensions} \docType{data} \title{Mapping from extension to MIME type} \description{ This is a programmatically generated character vector whose names identify the MIME type typically associated with the extension which are the values. This is used in \code{\link[RCurl]{guessMIMEType}}. We can match an extension and then find the corresponding MIME type. There are duplicates. } \usage{data(mimeTypeExtensions)} \format{ The format is a named character vector where the names are the MIME types and the values are the file extensions. } \source{ The table of MIME types and extensions was programmatically extracted from \samp{http://www.webmaster-toolkit.com/mime-types.shtml} or \url{http://reference.sitepoint.com/html/mime-types-full} with \code{ tbls = readHTMLTable("http://www.webmaster-toolkit.com/mime-types.shtml") tmp = tbls[[1]][-1,] mimeTypeExtensions = structure(as.character(tmp[[2]]), names = gsub("^\\.", "", tmp[[1]])) save(mimeTypeExtensions, file = "data/mimeTypeExtensions.rda") } The IANA list is not as convenient to programmatically compile. %\url{http://www.ltsw.se/knbase/internet/mime.htp} } %\references{} \examples{ data(mimeTypeExtensions) } \keyword{datasets} RCurl/man/findHTTPHeaderEncoding.Rd0000644000176000001440000000201312437571707016604 0ustar ripleyusers\name{findHTTPHeaderEncoding} \alias{findHTTPHeaderEncoding} \title{Find the encoding of the HTTP response from the HTTP header} \description{ This function is currently made available so it can be called from C code to find the charset from the HTTP header in the response from an HTTP server. It maps this charset value to one of the known R encodings (UTF-8 or LATIN1) or returns the native encoding. This will most likely be removed in the future. } \usage{ findHTTPHeaderEncoding(str) } \arguments{ \item{str}{one or more lines from the HTTP header} } \value{ \code{NA} or an integer value indicating the encoding to be used. This integer corresponds to the \code{cetype_t} enumeration in Rinternals.h. } \references{Writing R Extensions Manual and the section(s) on character encodings} \author{Duncan Temple Lang} \examples{ findHTTPHeaderEncoding("Content-Type: text/html;charset=ISO-8859-1\r\n") findHTTPHeaderEncoding("Content-Type: text/html; charset=utf-8\r\n") } \keyword{IO} \keyword{programming} RCurl/man/MultiCURLHandle-class.Rd0000644000176000001440000000421012665241535016400 0ustar ripleyusers\name{MultiCURLHandle-class} \docType{class} \alias{MultiCURLHandle-class} \alias{pop} \alias{push} \alias{pop,MultiCURLHandle,CURLHandle-method} \alias{pop,MultiCURLHandle,character-method} \alias{push,MultiCURLHandle,CURLHandle-method} \title{Class "MultiCURLHandle" for asynchronous, concurrent HTTP requests} \description{ This is a class that represents a handle to an internal C-level data structure provided by libcurl to perform multiple HTTP requests in a single operation and process the responses in an inter-leaved fashion, i.e. a chunk from one, followed by a chunk from another. Objects of this class contain not only a reference to the internal C-level data structure, but also have a list of the \code{\link{CURLHandle-class}} objects that represent the individual HTTP requests that make up the collection of concurrent requests. These are maintained for garbage collection reasons. Essentially, the data in objects of this class are for internal use; this is an opaque class in R. } \section{Objects from the Class}{ The constructor function \code{\link{getCurlMultiHandle}} is the only way to create meaningful instances of this class. } \section{Slots}{ \describe{ \item{\code{ref}:}{Object of class \code{"externalptr"}. This is a reference to the instance of the libcurl data structure \code{CURLM} pointer. } \item{\code{subhandles}:}{Object of class \code{"list"}. This is a list of \code{\link{CURLHandle-class}} instances that have been \code{push()}ed onto the multi-handle stack. } } } \section{Methods}{ \describe{ \item{pop}{\code{signature(obj = "MultiCURLHandle", val = "CURLHandle")}: ... } \item{pop}{\code{signature(obj = "MultiCURLHandle", val = "character")}: ... } \item{push}{\code{signature(obj = "MultiCURLHandle", val = "CURLHandle")}: ... } } } \references{Curl homepage \url{http://curl.haxx.se} \url{http://www.omegahat.net/RCurl} } \author{Duncan Temple Lang } \seealso{ \code{\link{getCurlMultiHandle}} \code{\link{curlMultiPerform}} \code{\link{multiTextGatherer}} } %\examples{} \keyword{classes} RCurl/man/getBinaryURL.Rd0000644000176000001440000000613012665241535014713 0ustar ripleyusers\name{getBinaryURL} \alias{getBinaryURL} \title{Download binary content} \description{ This function allows one to download binary content. This is a convenience function that is a call to \code{\link{getURL}} with suitable values for the \code{write} and \code{file} options for the Curl handle. These take care of processing the body of the response to the Curl request into a vector of "raw" elements. Binary content from POST forms or other requests that are not simple URL requests can be implemented using the same approach as this function, i.e., specifying the same values as in the body of this function for \code{write} and \code{file} in the call to \code{\link{curlPerform}}. } \usage{ getBinaryURL(url, ..., .opts = list(), curl = getCurlHandle(), .buf = binaryBuffer(.len), .len = 5000) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{url}{the URL identifying the content to download. This can be a regular URL or a \code{application/x-www-form-urlencoded} URL, i.e. with name=value parameters appended to the location via a ?, and separated from each other via a \&.} \item{\dots}{additional arguments that are passed to \code{\link{getURL}}.} \item{.opts}{a list of named values that are passed to \code{\link{getURL}} as the \code{.opts} argument.} \item{curl}{an optional curl handle used in \code{\link{curlPerform}} that has been created previously and is to be reused for this request. This allows the R user to reuse a curl handle that already has a connection to the server or has settings for options that have been set previously.} \item{.buf}{a raw vector in which to insert the body of the response. This is a parameter to allow the caller to reuse an existing buffer.} \item{.len}{an non-negative integer which is used as the length for the buffer in which to store the binary data in the response. The buffer is extended if it is not big enough but this allows the caller to provide context specific knowledge about the length of the response, e.g. the size of the file being downloaded, and avoid expanding the buffer as the material is being processed. } } \value{ A "raw" vector. } \author{Duncan Temple Lang} \seealso{ \code{\link{getURL}} \code{\link[base]{raw}} %\code{\link[Rcompression]{gunzip}} \code{gunzip} in the \code{Rcompression} package. } \examples{ u = "http://www.omegahat.net/RCurl/data.gz" if(url.exists(u)) { content = getBinaryURL(u) if(require(Rcompression)) { x = gunzip(content) read.csv(textConnection(x)) } else { tmp = tempfile() write(content, file = tmp) read.csv(gzfile(tmp)) } # Working from the Content-Type in the header of the HTTP response. h = basicTextGatherer() content = getBinaryURL(u, .opts = list(headerfunction = h$update)) header = parseHTTPHeader(h$value()) type = strsplit(header["Content-Type"], "/")[[1]] if(type[2] \%in\% c("x-gzip", "gzip")) { if(require(Rcompression)) x = gunzip(content) } } } \keyword{IO} \keyword{programming} \concept{binary data} RCurl/man/postForm.Rd0000644000176000001440000001415012544454375014222 0ustar ripleyusers\name{postForm} \alias{postForm} \alias{.postForm} \alias{getForm} \title{Submit an HTML form} \description{ These functions provide facilities for submitting an HTML form using either the simple GET mechanism (appending the name-value pairs of parameters in the URL) or the POST method which puts the name-value pairs as separate sections in the body of the HTTP request. The choice of action is defined by the form, not the caller. } \usage{ postForm(uri, ..., .params = list(), .opts = curlOptions(url = uri), curl = getCurlHandle(), style = 'HTTPPOST', .encoding = integer(), binary = NA, .checkParams = TRUE, .contentEncodeFun = curlEscape) .postForm(curl, .opts, .params, style = 'HTTPPOST') getForm(uri, ..., .params = character(), .opts = list(), curl = getCurlHandle(), .encoding = integer(), binary = NA, .checkParams = TRUE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{uri}{the full URI to which the form is to be posted. This includes the host and the specific file or script which will process the form.} \item{\dots}{the name-value pairs of parameters. Note that these are not the CURL options.} \item{.params}{instead of specifying the name-value parameters in "free" form via the \dots argument, one can specify them as named list or character vector. } \item{.opts}{an object representing the CURL options for this call.} \item{curl}{the \code{CURLHandle} object created earlier if one is reusing these objects. Otherwise, a new one is generated and discarded.} \item{style}{this is typically a string and controls how the form data is posted, specifically the value for the Content-Type header and the particular representation. Use 'httppost' to use a \code{multipart/form-data} transmission and use 'post' for \code{application/x-www-form-urlencoded} content. This string is compared to the names of (the internal) \code{PostStyles} vector using partial matching. In the future, we will use enum values within R. The default is \code{multipart/form-data} for reasons of backward compatability. } \item{.encoding}{the encoding of the result, if it is known a priori. This can be an integer between 0 and 4 or more appropriately a string identifying the encoding as one of "utf-8", or "ISO-859-1".} \item{binary}{a logical value indicating whether the caller knows whether the resulting content is binary (\code{TRUE}) or not (\code{FALSE}) or unknown (\code{NA}). } \item{.checkParams}{a logical value that indicates whether we should perform a check/test to identify if any of the arguments passed to the form correspond to Curl options. This is useful to identify potential errors in specifying the Curl options in the wrong place (in the way we would for \code{\link{curlPerform}}). This check can lead to spurious warning messages if the form has parameters with names that do conflict with Curl options. By specifying \code{FALSE} for this parameter, you can avoid this test and hence any warnings. But make certain you know what you are doing. } \item{.contentEncodeFun}{a function which encodes strings in a suitable manner. For x-www-form-encoded submissions, this should most likely should be \code{curlPercentEncode} which maps spaces to +, = to \%3D, etc. We are leaving the default as \code{curlEscape} for now until we test whether applications continue to work with the correct encoding.} } \details{ Creating a new \code{CURLHandle} allows the C-level code to more efficiently map the R-level values to their C equivalents needed to make the call. However, reusing the handle across calls can be more efficient in that the connection to a server can be maintained and thus, the sometimes expensive task of establishing it is avoided in subsequent calls. } \value{ By default, the text from the HTTP response is returned. } \seealso{ \code{\link{getURL}} \code{\link{curlOptions}} \code{\link{curlSetOpt}} } \examples{ if(url.exists("http://www.google.com")) { # Two ways to submit a query to google. Searching for RCurl getURL("http://www.google.com/search?hl=en&lr=&ie=ISO-8859-1&q=RCurl&btnG=Search") # Here we let getForm do the hard work of combining the names and values. getForm("http://www.google.com/search", hl="en", lr="", ie="ISO-8859-1", q="RCurl", btnG="Search") # And here if we already have the parameters as a list/vector. getForm("http://www.google.com/search", .params = c(hl="en", lr="", ie="ISO-8859-1", q="RCurl", btnG="Search")) } # Now looking at POST method for forms. url <- "http://wwwx.cs.unc.edu/~jbs/aw-wwwp/docs/resources/perl/perl-cgi/programs/cgi_stdin.cgi" if(url.exists(url)) postForm(url, name = "Bob", "checkedbox" = "spinich", submitButton = "Now!", textarea = "Some text to send", selectitem = "The item", radiobutton = "a", style = "POST") # Genetic database via the Web. if(url.exists('http://www.wormbase.org/db/searches/advanced/dumper')) { x = postForm('http://www.wormbase.org/db/searches/advanced/dumper', species="briggsae", list="", flank3="0", flank5="0", feature="Gene Models", dump = "Plain TEXT", orientation = "Relative to feature", relative = "Chromsome", DNA ="flanking sequences only", .cgifields = paste(c("feature", "orientation", "DNA", "dump","relative"), collapse=", ")) # Note that we don't have to paste multiple values together ourselves, # e.g. the .cgifields can be specified as a character vector rather # than a string. x = postForm('http://www.wormbase.org/db/searches/advanced/dumper', species="briggsae", list="", flank3="0", flank5="0", feature="Gene Models", dump = "Plain TEXT", orientation = "Relative to feature", relative = "Chromsome", DNA ="flanking sequences only", .cgifields =c("feature", "orientation", "DNA", "dump", "relative")) } } \keyword{IO} RCurl/man/guessMIMEType.Rd0000644000176000001440000000320212544456462015044 0ustar ripleyusers\name{guessMIMEType} \alias{guessMIMEType} \title{Infer the MIME type from a file name} \description{ This function returns the MIME type, i.e. part of the value used in the Content-Type for an HTTP request/response or in email to identify the nature of the content. This is a string such as "text/plain" or "text/xml" or "image/png". The function consults an R object constructed by reading a Web site of known MIME types (not necessarily all) and matching the extension of the file name to the names of that table. } \usage{ guessMIMEType(name, default = NA) } \arguments{ \item{name}{character vector of file names} \item{default}{the value to use if no MIME type is found in the table for the given file name/extension.} } \value{ A character vector giving the MIME types for each element of \code{name}. } \references{ The table of MIME types and extensions was programmatically extracted from \samp{http://www.webmaster-toolkit.com/mime-types.shtml} or \url{http://reference.sitepoint.com/html/mime-types-full} with \code{ tbls = readHTMLTable("http://www.webmaster-toolkit.com/mime-types.shtml") tmp = tbls[[1]][-1,] mimeTypeExtensions = structure(as.character(tmp[[2]]), names = gsub("^\\.", "", tmp[[1]])) save(mimeTypeExtensions, file = "data/mimeTypeExtensions.rda") } The IANA list is not as convenient to programmatically compile. %\url{http://www.ltsw.se/knbase/internet/mime.htp} } \author{ Duncan Temple Lang } \seealso{ Uploading file. } \examples{ guessMIMEType(c("foo.txt", "foo.png", "foo.jpeg", "foo.Z", "foo.R")) guessMIMEType("foo.bob") guessMIMEType("foo.bob", "application/x-binary") } \keyword{IO} RCurl/man/curlOptions.Rd0000644000176000001440000000740212437571707014734 0ustar ripleyusers\name{curlOptions} \alias{curlOptions} \alias{getCurlOptionsConstants} \alias{getCurlOptionTypes} \alias{listCurlOptions} \alias{mapCurlOptNames} \alias{[<-.CURLOptions} \alias{[[<-.CURLOptions} \title{Constructor and accessors for CURLOptions objects} \description{ These functions provide a constructor and accessor methods for the (currently S3) class \code{CURLOptions}. This class is a way to group and manage options settings for CURL. These functions manage a named list of options where the names are elements of a fixed. Not all elements need be set, but these functions take care of expanding names to match the fixed set, while allowing callers to use abbreviated/partial names. Names that do not match (via \code{\link[base]{pmatch}}) will cause an error. The set of possible names is given by \code{names(getCurlOptionsConstants())} or more directly with \code{listCurlOptions()}. \code{mapCurlOptNames} handles the partial matching and expansion of the names of the options for all the functions that handle CURL options. Currently this uses \code{\link[base]{pmatch}} to perform the matching and so rejects words that are ambiguous, i.e. have multiple matches within the set of permissible option names. As a result, "head" will match both "header" and "headerfunction". We may change this behavior in the future, but we encourage using the full names for readability of code if nothing else. } \usage{ curlOptions(..., .opts = list()) getCurlOptionsConstants() \method{[}{CURLOptions}(x, i) <- value \method{[[}{CURLOptions}(x, i) <- value listCurlOptions() getCurlOptionTypes(opts = getCurlOptionsConstants()) } %"[<-.CURLOptions"(x, i, value) \arguments{ \item{\dots}{name-value pairs identifying the settings for the options of interest.} \item{.opts}{a named list of options, typically a previously created \code{CURLOptions} object. These are merged with the options specified in \code{\dots}.} \item{x}{a \code{CURLOptions} object} \item{i}{the name(s) of the option elements being accessed. These can be partial names matching elements in the set of known options. Other names will cause an error.} \item{value}{the values to assign to the options identified via \code{i}.} \item{opts}{the options whose type description are of interest in the call.} } \details{ These functions use \code{mapCurlOptNames} to match and hence expand the names the callers provide. } \value{ \code{curlOptions} returns an object of class \code{CURLOptions} which is simply a named list. \code{getCurlConstants} returns a named vector identifying the names of the possible options and their associated values. These values are used in the C code and also each integer encodes the type of the argument expected by the C code for that option. \code{getCurlOptionTypes} returns human-readable, heuristic descriptions of the types expected for the different options. These are integer/logical corresponding to "long" in the RCurl documentation; string/object pointer corresponding to "char *" or ; function corresponding to a function/routine pointer; large number corresponding to a \code{curl_off_t}. } \references{Curl homepage \url{http://curl.haxx.se}} \author{Duncan Temple Lang } \seealso{ \code{\link{curlPerform}} \code{\link{curlSetOpt}} } \examples{ tt = basicTextGatherer() myOpts = curlOptions(verbose = TRUE, header = TRUE, writefunc = tt[[1]]) # note that the names are expanded, e.g. writefunc is now writefunction. names(myOpts) myOpts[["header"]] myOpts[["header"]] <- FALSE # Using the abbreviation "hea" is an error as it matches # both # myOpts[["hea"]] <- FALSE # Remove the option from the list myOpts[["header"]] <- NULL } \keyword{IO} RCurl/man/getCurlInfo.Rd0000644000176000001440000000350212665241535014625 0ustar ripleyusers\name{getCurlInfo} \alias{getCurlInfo} \alias{getCurlInfoConstants} \title{Access information about a CURL request} \description{ This function provides access to data about a previously executed CURL request that is accessible via a \code{CURLHandle} object. This means, of course, that one must have access to the \code{CURLHandle} object. The information one can get includes items such as the name of the file (potentially containing redirects), download time, See \code{\link{getCurlInfoConstants}} for the names of the possible fields. } \usage{ getCurlInfo(curl, which = getCurlInfoConstants()) getCurlInfoConstants() } %- maybe also 'usage' for other objects documented here. \arguments{ \item{curl}{the \code{CURLHandle} object used to perform the request. This is a reference to an opaque internal C-level data structure that is provided and used by libcurl to make a request.} \item{which}{identifiers for the elements of interest. These can be specified by integer value or by name. The names are matched against those in the \code{\link{getCurlInfoConstants}}}. } \details{ This is an interface to the \code{get_curl_info} routine in the libcurl package. } \value{ A named list whose elements correspond to the requested fields. The names are expanded to match the names of these fields and the values are either strings or integer values. } \references{Curl homepage \url{http://curl.haxx.se}} \author{Duncan Temple Lang } \seealso{ \code{\link{curlPerform}} \code{\link{getURL}} \code{\link{getCurlHandle}} } \examples{ if(url.exists("http://www.omegahat.net/RCurl/index.html")) { curl = getCurlHandle() getURL("http://www.omegahat.net/RCurl/index.html", curl = curl) getCurlInfo(curl) rm(curl) # release the curl! } } \keyword{IO} RCurl/man/getCurlHandle.Rd0000644000176000001440000000574612665241535015141 0ustar ripleyusers\name{getCurlHandle} \alias{getCurlHandle} \alias{getCurlMultiHandle} \alias{dupCurlHandle} \title{Create libcurl handles} \description{ These functions create and duplicate curl handles for use in calls to the HTTP facilities provided by that low-level language and this R-level interface. A curl handle is an opaque data type that contains a reference to the internal C-level data structure of libcurl for performing HTTP requests. The \code{getCurlMutliHandle} returns an object that can be used for concurrent, multiple requests. It is quite different from the regular curl handle and again, should be treated as an opaque data type. } \usage{ getCurlHandle(..., .opts = NULL, .encoding = integer(), .defaults = getOption("RCurlOptions")) dupCurlHandle(curl, ..., .opts = NULL, .encoding = integer()) getCurlMultiHandle(..., .handles = list(...)) } \arguments{ \item{curl}{the existing curl handle that is to be duplicated} \item{...}{a named list of curl options to set after the handle has been created. For \code{getCurlMultiHandle}, these values are invidivual curl handle objects, created via \code{getCurlHandle} or \code{dupCurlHandle}. } \item{.opts}{a named list or \code{CURLOptions} object identifying the curl options for the handle. These and the \code{...} arguments are used after the handle has been created.} \item{.encoding}{an integer or a string that explicitly identifies the encoding of the content that is returned by the HTTP server in its response to our query. The possible strings are \sQuote{UTF-8} or \sQuote{ISO-8859-1} and the integers should be specified symbolically as \code{CE_UTF8} and \code{CE_LATIN1}. Note that, by default, the package attempts to process the header of the HTTP response to determine the encoding. This argument is used when such information is erroneous and the caller knows the correct encoding. } \item{.defaults}{a collection of default values taken from R's global/session options. This is a parameter so that one can override it if necessary.} \item{.handles}{a list of curl handle objects that are used as the individual request handles within the multi-asynchronous requests} } \details{ These functions create C-level data structures. } \value{ An object of class \code{CURLHandle} which is simply a pointer to the memory for the C structure. } \references{Curl homepage \url{http://curl.haxx.se}} \author{Duncan Temple Lang } \seealso{ \code{\link{getURL}} \code{\link{curlPerform}} } \examples{ options(RCurlOptions = list(verbose = TRUE, followlocation = TRUE, autoreferer = TRUE, nosignal = TRUE)) if(url.exists("http://www.omegahat.net/RCurl")) { x = getURL("http://www.omegahat.net/RCurl") # here we override one of these. x = getURL("http://www.omegahat.net/RCurl", verbose = FALSE) } } \keyword{IO} RCurl/man/dynCurlReader.Rd0000644000176000001440000001236612665241535015157 0ustar ripleyusers\name{dynCurlReader} \alias{dynCurlReader} %- Also NEED an '\alias' for EACH other topic documented here. \title{Dynamically determine content-type of body from HTTP header and set body reader} \description{ This function is used for the \code{writefunction} option in a curl HTTP request. The idea is that we read the header of the HTTP response and when our code determines that the header is complete (the presence of a blank line), it examines the contents of the header and finds a Content-Type field. It uses the value of this to determine the nature of the body of the HTTP response and dynamically (re)sets the reader for the curl handle appropriately. If the content is binary, it collects the content into a \code{raw} vector; if it is text, it sets the appropriate character encoding and collects the content into a character vector. This function is like \code{\link{basicTextGatherer}} but behaves dynamically by determining how to read the content based on the header of the HTTP response. This function returns a list of functions that are used to update and query a shared state across calls. } \usage{ dynCurlReader(curl = getCurlHandle(), txt = character(), max = NA, value = NULL, verbose = FALSE, binary = NA, baseURL = NA, isHTTP = NA, encoding = NA) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{curl}{the curl handle to be used for the request. It is essential that this handle be used in the low-level call to \code{\link{curlPerform}} so that the update element sets the reader for the body on the appropriate curl handle that is used in the request. } \item{txt}{initial value of the text. This is almost always an empty character vector.} \item{max}{the maximum number of characters to read. This is almost always \code{NA}.} \item{value}{a function that can be specified which will be used to convert the body of the response from text or raw in a customized manner, e.g. uncompress a gzip body. This can als be done explicitly with a call \code{fun(reader$value())} after the body has been read. The advantage of specifying the function in the constructor of the reader is that the end-user doesn't have to know which function to use to do the conversion. } \item{verbose}{a logical value indicating whether messages about progress and operations are written on the console as the header and body are processed. } \item{binary}{a logical value indicating whether the caller knows whether the resulting content is binary (\code{TRUE}) or not (\code{FALSE}) or unknown (\code{NA}). } \item{baseURL}{the URL of the request which can be used to follow links to other URLs that are described relative to this. } \item{isHTTP}{a logical value indicating whether the request/download uses HTTP or not. If this is \code{NA}, we determine this when the header is received. If the caller knows this is an FTP or other request, they can specify this when creating the reader.} \item{encoding}{a string that allows the caller to specify and override the encoding of the result. This is used to convert text returned from the server.} } \value{ A list with 5 elements all of which are functions. These are \item{update}{the function that does the actual reading/processing of the content that libcurl passes to it from the header and the body. This is the work-horse of the reader.} \item{value}{a function to get the body of the response} \item{header}{a function to get the content of the HTPP header} \item{reset}{a function to reset the internal contents which allows the same reader to be re-used in subsequent HTTP requests} \item{curl}{accessor function for the curl handle specified in the call to create this dynamic reader object.} This list has the S3 class vector \code{c("DynamicRCurlTextHandler", "RCurlTextHandler", "RCurlCallbackFunction")} } \references{libcurl \url{http://curl.haxx.se}} \author{Duncan Temple Lang} \seealso{ \code{\link{basicTextGatherer}} \code{\link{curlPerform}} \code{\link{getURLContent}} } \examples{ # Each of these examples can be done with getURLContent(). # These are here just to illustrate the dynamic reader. if(url.exists("http://www.omegahat.net/Rcartogram/demo.jpg")) { header = dynCurlReader() curlPerform(url = "http://www.omegahat.net/Rcartogram/demo.jpg", headerfunction = header$update, curl = header$curl()) class( header$value() ) length( header$value() ) } if(url.exists("http://www.omegahat.net/dd.gz")) { # gzip example. header = dynCurlReader() curlPerform(url = "http://www.omegahat.net/dd.gz", headerfunction = header$update, curl = header$curl()) class( header$value() ) length( header$value() ) if(require(Rcompression)) gunzip(header$value()) } # Character encoding example \dontrun{ header = dynCurlReader() curlPerform(url = "http://www.razorvine.net/test/utf8form/formaccepter.sn", postfields = c(text = "ABC", outputencoding = "UTF-8"), verbose = TRUE, writefunction = header$update, curl = header$curl()) class( header$value() ) Encoding( header$value() ) } } \keyword{IO} \concept{binary} RCurl/man/chunkToLineReader.Rd0000644000176000001440000000425312665241535015756 0ustar ripleyusers\name{chunkToLineReader} \alias{chunkToLineReader} \title{Utility that collects data from the HTTP reply into lines and calls user-provided function. } \description{ When one provides an R function to process the body of the R rep } \usage{ chunkToLineReader(f, verbose = FALSE) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{f}{a function that is to be called each time the \code{read} function is invoked and there are complete lines in that input.} \item{verbose}{a logical value. If \code{TRUE}, information is displayed when there is any text that does not form a complete line and is held for processing in the next chunk. } } \details{ This constructs a closure and then processes each chunk as they are passed to the read function. It strips away any text that does not form a complete line at the end of the chunk and holds this to be added to the next chunk being processed. } \value{ A list with two components \item{read}{the function that will do the actual reading from the HTTP response stream and call the function \code{f} on each step (assuming the chunk has a line marker.} \item{comp2 }{Description of 'comp2'} ... } \references{Curl homepage \url{http://curl.haxx.se}} \author{Duncan Temple Lang } \seealso{ \code{\link{getURI}} and the \code{write} argument. \code{\link{getForm}}, \code{\link{postForm}} \code{\link{curlPerform}} } \examples{ # Read a rectangular table of data into R from the URL # and add up the values and the number of values read. summer = function() { total = 0.0 numValues = 0 list(read = function(txt) { con = textConnection(txt) on.exit(close(con)) els = scan(con) numValues <<- numValues + length(els) total <<- total + sum(els) "" }, result = function() c(total = total, numValues = numValues)) } s = summer() if(url.exists("http://www.omegahat.net/RCurl/matrix.data")) getURL("http://www.omegahat.net/RCurl/matrix.data", write = chunkToLineReader(s$read)$read) } \keyword{IO} \concept{Web} \concept{HTTP} RCurl/man/binaryBuffer.Rd0000644000176000001440000000503312665241535015023 0ustar ripleyusers\name{binaryBuffer} \alias{binaryBuffer} \alias{coerce,RCurlBinaryBuffer,raw-method} \title{Create internal C-level data structure for collecting binary data} \description{ This is the constructor function for creating an internal data structure that is used when reading binary data from an HTTP request via RCurl. It is used with the native routine \code{R_curl_write_binary_data} for collecting the response from the HTTP query into a buffer that stores the bytes. The contents can then be brought back into R as a \code{raw} vector and then used in different ways, e.g. uncompressed with the \code{Rcompression} package, or written to a file via \code{\link[base]{writeBin}}. } \usage{ binaryBuffer(initialSize = 5000) } \arguments{ \item{initialSize}{a number giving the size (number of bytes) to allocate for the buffer. In most cases, the size won't make an enormous difference. If this is small, the \code{R_curl_write_binary_data} routine will expand it as necessary when more daat is received than would fit in it. If it is very large, i.e. larger than the resulting response, the consequence is simply unused memory. One can determine the appropriate size by performing the HTTP request with \code{nobody = TRUE} and looking at the resulting size indicated by the headers of the response, i.e. \code{getCurlInfo(handle)} and then using that size and repeating the request and receiving the body. This is a trade-off between network speed and memor consumption and processing speed when collecting the . } } \value{ An object of class \code{RCurlBinaryBuffer} which is to be treated as an opaque data for the most part. When passing this as the value of the \code{file} option, one will have to pass the ref slot. After the contents have been read, one can convert this object to an R raw vector using \code{as(buf, "raw")}. } \references{Curl homepage \url{http://curl.haxx.se}} \author{Duncan Temple Lang } \seealso{ \code{R_curl_write_binary_data} } \examples{ if(url.exists("http://www.omegahat.net/RCurl/xmlParse.html.gz")) { buf = binaryBuffer() # Now fetch the binary file. getURI("http://www.omegahat.net/RCurl/xmlParse.html.gz", write = getNativeSymbolInfo("R_curl_write_binary_data")$address, file = buf@ref) # Convert the internal data structure into an R raw vector b = as(buf, "raw") if(require(Rcompression)) gunzip(b) } } \keyword{IO} \keyword{programming} \concept{Web} \concept{binary data} RCurl/man/getCurlErrorClassNames.Rd0000644000176000001440000000123612437571707017003 0ustar ripleyusers\name{getCurlErrorClassNames} \alias{getCurlErrorClassNames} \title{Retrieve names of all curl error classes} \description{ This function returns the names of all of the error classes that curl can raise as a result of a request. You can use these names in calls to \code{tryCatch} to identify the class of the error for which you want to provide an error handler. } \usage{ getCurlErrorClassNames() } \value{ A character vector } \references{ libcurl documentation } \author{ Duncan Temple Lang } \seealso{ \code{\link[base]{tryCatch}} \code{\link{curlPerform}} and higher-level functions for making requests. } %\examples{} \keyword{programming} RCurl/man/curlGlobalInit.Rd0000644000176000001440000000403012437571707015317 0ustar ripleyusers\name{curlGlobalInit} \alias{curlGlobalInit} \alias{curlGlobalCleanup} %- Also NEED an '\alias' for EACH other topic documented here. \title{Start and stop the Curl library} \description{ These functions provide a way to both start/initialize and stop/uninitialize the libcurl engine. There is no need to call \code{curlGlobalInit} as it is done implicitly the first time one uses the libcurl facilities. However, this function does permit one to explicitly control how it is initialized. Specifically, on Windows one might want to avoid re-initializing the Win32 socket facilities if the host application (e.g. R) has already done this. \code{curlGlobalInit} should only be called once per R session. Subsequent calls will have no effect, or may confuse the libcurl engine. One can reclaim the resources the libcurl engine is consuming via the \code{curlGlobalCleanup} function when one no longer needs the libcurl facilities in an R session. } \usage{ curlGlobalInit(flags = c("ssl", "win32")) curlGlobalCleanup() } %- maybe also 'usage' for other objects documented here. \arguments{ \item{flags}{flags indicating which features to activate. These come from the \code{\link{CurlGlobalBits}} bit-field. The default is to activate both SSL and Win32 sockets (if on Windows). One can specify either the names of the features that are matched (via \code{\link{setBitIndicators}}) or the integer value. } } \value{ \code{curlGobalInit} returns a status code which should be 0. \code{curlGlobalCleanup} returns \code{NULL} in all cases. } \references{Curl homepage \url{http://curl.haxx.se}} \author{Duncan Temple Lang } \seealso{ \code{\link{getCurlHandle}} \code{\link{curlPerform}} } \examples{ # Activate only the SSL. curlGlobalInit("ssl") \dontrun{ # Don't run these automatically as we should only call this function # once per R session # Everything, the default. curlGlobalInit() # Nothing. curlGlobalInit("none") curlGlobalInit(0) } } \keyword{IO} RCurl/man/getBitIndicators.Rd0000644000176000001440000000310212437571707015642 0ustar ripleyusers\name{getBitIndicators} \alias{getBitIndicators} \alias{setBitIndicators} \title{Operate on bit fields} \description{ The \code{getBitIndicators} function decompose a value into its respective bit components. The \code{setBitIndicators} combines individual components into a single number to "set" a bit field value. } \usage{ getBitIndicators(val, defs) setBitIndicators(vals, defs) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{val}{the value to break up into the bit field components.} \item{defs}{the named integer vector that defines the bit field elements.} \item{vals}{the individual components that are to be combined into a single integer value representing the collection of components. These can be given as names or integer values that correspond to the elements in the defs, either by name or value. } } \value{ \code{getBitIndicators} returns a named integer vector representing the components of the bit field in the value. The names of the vector give the symbolic elements that were set in the value. \code{setBitIndicators} returns a single integer value representing the value from combining the different components (e.g. ORing the bits of the different values). } \references{Curl homepage \url{http://curl.haxx.se}} \author{Duncan Temple Lang } \seealso{ The features field in \code{\link{curlVersion}}. } \examples{ getBitIndicators(7, c(A = 1, B = 2, C = 4)) getBitIndicators(3, c(A = 1, B = 2, C = 4)) getBitIndicators(5, c(A = 1, B = 2, C = 4)) } \keyword{manip} RCurl/man/getURL.Rd0000644000176000001440000003042312665241535013550 0ustar ripleyusers\name{getURL} \alias{getURL} \alias{getURI} \alias{getURLContent} \title{Download a URI} \description{ These functions download one or more URIs (a.k.a. URLs). It uses libcurl under the hood to perform the request and retrieve the response. There are a myriad of options that can be specified using the \dots mechanism to control the creation and submission of the request and the processing of the response. \code{getURLContent} has been added as a high-level function like \code{getURL} and \code{getBinaryURL} but which determines the type of the content being downloaded by looking at the resulting HTTP header's Content-Type field. It uses this to determine whether the bytes are binary or "text". The request supports any of the facilities within the version of libcurl that was installed. One can examine these via \code{\link{curlVersion}}. \code{getURLContent} doesn't perform asynchronous or multiple concurrent requests at present. } \usage{ getURL(url, ..., .opts = list(), write = basicTextGatherer(.mapUnicode = .mapUnicode), curl = getCurlHandle(), async = length(url) > 1, .encoding = integer(), .mapUnicode = TRUE) getURI(url, ..., .opts = list(), write = basicTextGatherer(.mapUnicode = .mapUnicode), curl = getCurlHandle(), async = length(url) > 1, .encoding = integer(), .mapUnicode = TRUE) getURLContent(url, ..., curl = getCurlHandle(.opts = .opts), .encoding = NA, binary = NA, .opts = list(...), header = dynCurlReader(curl, binary = binary, baseURL = url, isHTTP = isHTTP, encoding = .encoding), isHTTP = length(grep('^[[:space:]]*http', url)) > 0) } \arguments{ \item{url}{a string giving the URI} \item{\dots}{named values that are interpreted as CURL options governing the HTTP request.} \item{.opts}{a named list or \code{CURLOptions} object identifying the curl options for the handle. This is merged with the values of \dots to create the actual options for the curl handle in the request.} \item{write}{if explicitly supplied, this is a function that is called with a single argument each time the the HTTP response handler has gathered sufficient text. The argument to the function is a single string. The default argument provides both a function for cumulating this text and is then used to retrieve it as the return value for this function. } \item{curl}{the previously initialized CURL context/handle which can be used for multiple requests.} \item{async}{a logical value that determines whether the download request should be done via asynchronous,concurrent downloading or a serial download. This really only arises when we are trying to download multiple URIs in a single call. There are trade-offs between concurrent and serial downloads, essentially trading CPU cycles for shorter elapsed times. Concurrent downloads reduce the overall time waiting for \code{getURI}/\code{getURL} to return. } \item{.encoding}{an integer or a string that explicitly identifies the encoding of the content that is returned by the HTTP server in its response to our query. The possible strings are \sQuote{UTF-8} or \sQuote{ISO-8859-1} and the integers should be specified symbolically as \code{CE_UTF8} and \code{CE_LATIN1}. Note that, by default, the package attempts to process the header of the HTTP response to determine the encoding. This argument is used when such information is erroneous and the caller knows the correct encoding. The default value leaves the decision to this default mechanism. This does however currently involve processing each line/chunk of the header (with a call to an R function). As a result, if one knows the encoding for the resulting response, specifying this avoids this slight overhead which is probably quite small relative to network latency and speed. } \item{.mapUnicode}{a logical value that controls whether the resulting text is processed to map components of the form \\uxxxx to their appropriate Unicode representation.} \item{binary}{a logical value indicating whether the caller knows whether the resulting content is binary (\code{TRUE}) or not (\code{FALSE}) or unknown (\code{NA}). } \item{header}{this is made available as a parameter of the function to allow callers to construct different readers for processing the header and body of the (HTTP) response. Callers specifying this will typically only adjust the call to \code{dynCurlReader}, e.g. to specify a function for its \code{value} parameter to control how the body is post-processed. The caller can specify a value of \code{TRUE} or \code{FALSE} for this parameter. \code{TRUE} means that the header will be returned along with the body; \code{FALSE} corresponds to the default and only the body will be returned. When returning the header, it is first parsed via \code{\link{parseHTTPHeader}}, unless the value of \code{header} is of class \code{AsIs}. So to get the raw header, pass the argument as \code{header = I(TRUE)}. } \item{isHTTP}{a logical value that indicates whether the request an HTTP request. This is used when determining how to process the response.} } %\details{} \value{ If no value is supplied for \code{write}, the result is the text that is the HTTP response. (HTTP header information is included if the header option for CURL is set to \code{TRUE} and no handler for headerfunction is supplied in the CURL options.) Alternatively, if a value is supplied for the \code{write} parameter, this is returned. This allows the caller to create a handler within the call and get it back. This avoids having to explicitly create and assign it and then call \code{getURL} and then access the result. Instead, the 3 steps can be inlined in a single call. } \references{Curl homepage \url{http://curl.haxx.se}} \author{Duncan Temple Lang } \seealso{ \code{\link{getBinaryURL}} \code{\link{curlPerform}} \code{\link{curlOptions}} } \examples{ omegahatExists = url.exists("http://www.omegahat.net") # Regular HTTP if(omegahatExists) { txt = getURL("http://www.omegahat.net/RCurl/") # Then we could parse the result. if(require(XML)) htmlTreeParse(txt, asText = TRUE) } # HTTPS. First check to see that we have support compiled into # libcurl for ssl. if(interactive() && ("ssl" \%in\% names(curlVersion()$features)) && url.exists("https://sourceforge.net/")) { txt = tryCatch(getURL("https://sourceforge.net/"), error = function(e) { getURL("https://sourceforge.net/", ssl.verifypeer = FALSE) }) } # Create a CURL handle that we will reuse. if(interactive() && omegahatExists) { curl = getCurlHandle() pages = list() for(u in c("http://www.omegahat.net/RCurl/index.html", "http://www.omegahat.net/RGtk/index.html")) { pages[[u]] = getURL(u, curl = curl) } } # Set additional fields in the header of the HTTP request. # verbose option allows us to see that they were included. if(omegahatExists) getURL("http://www.omegahat.net", httpheader = c(Accept = "text/html", MyField = "Duncan"), verbose = TRUE) # Arrange to read the header of the response from the HTTP server as # a separate "stream". Then we can break it into name-value # pairs. (The first line is the HTTP/1.1 200 Ok or 301 Moved Permanently # status line) if(omegahatExists) { h = basicTextGatherer() txt = getURL("http://www.omegahat.net/RCurl/index.html", header= TRUE, headerfunction = h$update, httpheader = c(Accept="text/html", Test=1), verbose = TRUE) print(paste(h$value(NULL)[-1], collapse="")) read.dcf(textConnection(paste(h$value(NULL)[-1], collapse=""))) } # Test the passwords. if(omegahatExists) { x = getURL("http://www.omegahat.net/RCurl/testPassword/index.html", userpwd = "bob:duncantl") # Catch an error because no authorization # We catch the generic HTTPError, but we could catch the more specific "Unauthorized" error # type. x = tryCatch(getURLContent("http://www.omegahat.net/RCurl/testPassword/index.html"), HTTPError = function(e) { cat("HTTP error: ", e$message, "\n") }) } \dontrun{ # Needs specific information from the cookie file on a per user basis # with a registration to the NY times. x = getURL("http://www.nytimes.com", header = TRUE, verbose = TRUE, cookiefile = "/home/duncan/Rcookies", netrc = TRUE, maxredirs = as.integer(20), netrc.file = "/home2/duncan/.netrc1", followlocation = TRUE) } if(interactive() && omegahatExists) { d = debugGatherer() x = getURL("http://www.omegahat.net", debugfunction = d$update, verbose = TRUE) d$value() } ############################################# # Using an option set in R if(interactive() && omegahatExists) { opts = curlOptions(header = TRUE, userpwd = "bob:duncantl", netrc = TRUE) getURL("http://www.omegahat.net/RCurl/testPassword/index.html", verbose = TRUE, .opts = opts) # Using options in the CURL handle. h = getCurlHandle(header = TRUE, userpwd = "bob:duncantl", netrc = TRUE) getURL("http://www.omegahat.net/RCurl/testPassword/index.html", verbose = TRUE, curl = h) } # Use a C routine as the reader. Currently gives a warning. if(interactive() && omegahatExists) { routine = getNativeSymbolInfo("R_internalWriteTest", PACKAGE = "RCurl")$address getURL("http://www.omegahat.net/RCurl/index.html", writefunction = routine) } # Example if(interactive() && omegahatExists) { uris = c("http://www.omegahat.net/RCurl/index.html", "http://www.omegahat.net/RCurl/philosophy.xml") txt = getURI(uris) names(txt) nchar(txt) txt = getURI(uris, async = FALSE) names(txt) nchar(txt) routine = getNativeSymbolInfo("R_internalWriteTest", PACKAGE = "RCurl")$address txt = getURI(uris, write = routine, async = FALSE) names(txt) nchar(txt) # getURLContent() for text and binary x = getURLContent("http://www.omegahat.net/RCurl/index.html") class(x) x = getURLContent("http://www.omegahat.net/RCurl/data.gz") class(x) attr(x, "Content-Type") x = getURLContent("http://www.omegahat.net/Rcartogram/demo.jpg") class(x) attr(x, "Content-Type") curl = getCurlHandle() dd = getURLContent("http://www.omegahat.net/RJSONIO/RJSONIO.pdf", curl = curl, header = dynCurlReader(curl, binary = TRUE, value = function(x) { print(attributes(x)) x})) } # FTP # Download the files within a directory. if(interactive() && url.exists('ftp://ftp.wcc.nrcs.usda.gov')) { url = 'ftp://ftp.wcc.nrcs.usda.gov/data/snow/snow_course/table/history/idaho/' filenames = getURL(url, ftp.use.epsv = FALSE, dirlistonly = TRUE) # Deal with newlines as \n or \r\n. (BDR) # Or alternatively, instruct libcurl to change \n's to \r\n's for us with crlf = TRUE # filenames = getURL(url, ftp.use.epsv = FALSE, ftplistonly = TRUE, crlf = TRUE) filenames = paste(url, strsplit(filenames, "\r*\n")[[1]], sep = "") con = getCurlHandle( ftp.use.epsv = FALSE) # there is a slight possibility that some of the files that are # returned in the directory listing and in filenames will disappear # when we go back to get them. So we use a try() in the call getURL. contents = sapply(filenames[1:5], function(x) try(getURL(x, curl = con))) names(contents) = filenames[1:length(contents)] } } \keyword{IO} \concept{Web} \concept{HTTP} RCurl/man/reset.Rd0000644000176000001440000000270412437571707013535 0ustar ripleyusers\name{reset} \alias{reset} \alias{reset,CURLHandle-method} \title{Generic function for resetting an object} \description{ This generic and the associated method for a CURLHandle allows one to reset the state of the Curl object to its default state. This is convenient if we want to reuse the same connection, but want to ensure that it is in a particular state. Unfortunately, we cannot query the state of different fields in an existing Curl handle and so we need to be able to reset the state and then update it with any particular settings we would have liked to keep. } \usage{ reset(x, ...) } \arguments{ \item{x}{the object to be reset. For our method, this is an object of class \code{CURLHandle}.} \item{\dots}{additional arguments for methods} } \details{ This calls the C routine \code{curl_easy_reset} in libcurl. } \value{ Methods typically return the updated version of the object passed to it. This allows the caller to assign the new result to the same variable rather than relying on mutating the content of the object in place. In other words, the object should not be treated as a reference but a new object with the updated contents should be returned. } \references{Curl homepage \url{http://curl.haxx.se}} \author{Duncan Temple Lang} \seealso{ \code{\link{getCurlHandle}} \code{\link{dupCurlHandle}} } \examples{ h = getCurlHandle() curlSetOpt(customrequest = "DELETE") reset(h) } \keyword{programming} RCurl/man/CURLHandle-class.Rd0000644000176000001440000000252412437571707015377 0ustar ripleyusers\name{CURLHandle-class} \docType{class} \alias{CURLHandle-class} \title{Class "CURLHandle" for synchronous HTTP requests} \description{ This is the basic class used for performing HTTP requests in the RCurl package. In R, this is a reference to a C-level data structure so we treat it as an opaque data type. However, essentially we can think of this as an with a set of options that persists across calls, i.e. HTTP requests. The numerous options that one can set can be see via \code{\link{getCurlOptionsConstants}}. The object can keep a connection to a Web server open for a period of time across calls. This class differs from \code{\link{MultiCURLHandle-class}} as it can handle only one request at a time and blocks until the request is completed (normally or abnormally). The other class can handle asynchronous, multiple connections. } \section{Objects from the Class}{A virtual Class: No objects may be created from it.} \section{Extends}{ Class \code{"oldClass"}, directly. } %\section{Methods}{ \describe{}} \references{ \url{http://curl.haxx.se}, the libcurl web site. } \author{Duncan Temple Lang} \seealso{ \code{\link{getURL}}, \code{\link{getForm}}, \code{\link{postForm}} \code{\link{dupCurlHandle}}, \code{\link{getCurlHandle}}, \code{\link{MultiCURLHandle-class}} } %\examples{} \keyword{classes} RCurl/man/merge.list.Rd0000644000176000001440000000244612437571707014467 0ustar ripleyusers\name{merge.list} \alias{merge.list} \title{Method for merging two lists by name} \description{ This is a method that merges the contents of one list with another by adding the named elements in the second that are not in the first. In other words, the first list is the target template, and the second one adds any extra elements that it has. } \usage{ merge.list(x, y, ...) } %- maybe also 'usage' for other objects documented here. \arguments{ \item{x}{the list to which elements will be added} \item{y}{the list which will supply additional elements to \code{x} that are not already there by name. } \item{\dots}{not used.} } \value{ A named list whose name set is the union of the elements in names of x and y and whose values are those taken from y and then with those in x, overwriting if necessary. } \references{Curl homepage \url{http://curl.haxx.se}} \author{Duncan Temple Lang } \seealso{ \code{\link[base]{merge}}} \examples{ \dontrun{ # Not exported. merge.list(list(a=1, b = "xyz", c = function(x, y) {x+y}), list(a = 2, z = "a string")) # No values in y merge.list(list(a=1, b = "xyz", c = function(x, y) {x+y}), list()) # No values in x merge.list(list(), list(a=1, b = "xyz", c = function(x, y) {x+y})) } } \keyword{manip} RCurl/postForm.html0000644000176000001440000001570212437571707014052 0ustar ripleyusers R: Submit an HTML form
    postFormR Documentation

    Submit an HTML form

    Description

    These functions provide facilities for submitting an HTML form using either the simple GET mechanism (appending the name-value pairs of parameters in the URL) or the POST method which puts the name-value pairs as separate sections in the body of the HTTP request. The choice of action is defined by the form, not the caller.

    Usage

    postForm(uri, ..., .params = list(), .opts = curlOptions(url = uri),
             curl = getCurlHandle(), style = 'HTTPPOST',
              .encoding = integer(), binary = NA, .checkParams = TRUE,
              .contentEncodeFun = curlEscape)
    getForm(uri, ..., .params = character(), .opts = list(), curl = getCurlHandle(),
             .encoding = integer(), binary = NA, .checkParams = TRUE)
    

    Arguments

    uri

    the full URI to which the form is to be posted. This includes the host and the specific file or script which will process the form.

    ...

    the name-value pairs of parameters. Note that these are not the CURL options.

    .params

    instead of specifying the name-value parameters in "free" form via the ... argument, one can specify them as named list or character vector.

    .opts

    an object representing the CURL options for this call.

    curl

    the CURLHandle object created earlier if one is reusing these objects. Otherwise, a new one is generated and discarded.

    style

    this is typically a string and controls how the form data is posted, specifically the value for the Content-Type header and the particular representation. Use 'httppost' to use a multipart/form-data transmission and use 'post' for application/x-www-form-urlencoded content. This string is compared to the names of (the internal) PostStyles vector using partial matching. In the future, we will use enum values within R. The default is multipart/form-data for reasons of backward compatability.

    .encoding

    the encoding of the result, if it is known a priori. This can be an integer between 0 and 4 or more appropriately a string identifying the encoding as one of "utf-8", or "ISO-859-1".

    binary

    a logical value indicating whether the caller knows whether the resulting content is binary (TRUE) or not (FALSE) or unknown (NA).

    .checkParams

    a logical value that indicates whether we should perform a check/test to identify if any of the arguments passed to the form correspond to Curl options. This is useful to identify potential errors in specifying the Curl options in the wrong place (in the way we would for curlPerform). This check can lead to spurious warning messages if the form has parameters with names that do conflict with Curl options. By specifying FALSE for this parameter, you can avoid this test and hence any warnings. But make certain you know what you are doing.

    .contentEncodeFun

    a function which encodes strings in a suitable manner. For x-www-form-encoded submissions, this should most likely should be curlPercentEncode which maps spaces to +, = to %3D, etc. We are leaving the default as curlEscape for now until we test whether applications continue to work with the correct encoding.

    Details

    Creating a new CURLHandle allows the C-level code to more efficiently map the R-level values to their C equivalents needed to make the call. However, reusing the handle across calls can be more efficient in that the connection to a server can be maintained and thus, the sometimes expensive task of establishing it is avoided in subsequent calls.

    Value

    By default, the text from the HTTP response is returned.

    See Also

    getURL curlOptions curlSetOpt

    Examples

    
    if(url.exists("http://www.google.com")) {
       # Two ways to submit a query to google. Searching for RCurl
      getURL("http://www.google.com/search?hl=en&lr=&ie=ISO-8859-1&q=RCurl&btnG=Search")
    
       # Here we let getForm do the hard work of combining the names and values.
      getForm("http://www.google.com/search", hl="en", lr="", ie="ISO-8859-1",  q="RCurl", btnG="Search")
    
       # And here if we already have the parameters as a list/vector.
      getForm("http://www.google.com/search", .params = c(hl="en", lr="", ie="ISO-8859-1",  q="RCurl", btnG="Search"))
    }
    
    
       # Now looking at POST method for forms.
    if(url.exists("http://wwwx.cs.unc.edu/~jbs/aw-wwwp/docs/resources/perl/perl-cgi/programs/cgi_stdin.cgi")) 
     postForm("http://wwwx.cs.unc.edu/~jbs/aw-wwwp/docs/resources/perl/perl-cgi/programs/cgi_stdin.cgi",
               name = "Bob", "checkedbox" = "spinich",
               submitButton = "Now!",
               textarea = "Some text to send",
               selectitem = "The item",
               radiobutton = "a", style = "POST")
    
    
      # Genetic database via the Web.
    if(url.exists('http://www.wormbase.org/db/searches/advanced/dumper')) {
     x = postForm('http://www.wormbase.org/db/searches/advanced/dumper',
             species="briggsae",
             list="",
             flank3="0",
             flank5="0",
             feature="Gene Models",
             dump = "Plain TEXT",
             orientation = "Relative to feature",
             relative = "Chromsome",
             DNA ="flanking sequences only",
             .cgifields = paste(c("feature", "orientation", "DNA", "dump","relative"), collapse=", "))
    
    
     # Note that we don't have to paste multiple values together ourselves,
     # e.g. the .cgifields can be specified as a character vector rather
     # than a string.
     x = postForm('http://www.wormbase.org/db/searches/advanced/dumper',
             species="briggsae",
             list="",
             flank3="0",
             flank5="0",
             feature="Gene Models",
             dump = "Plain TEXT",
             orientation = "Relative to feature",
             relative = "Chromsome",
             DNA ="flanking sequences only",
             .cgifields =c("feature", "orientation", "DNA", "dump", "relative"))
    }
    	  
    
    RCurl/README.windows0000644000176000001440000000372212437571707013723 0ustar ripleyusersNotes from previous experiences. These are not current. Updated, 19th Sept. 2006 Fetch the binary version of libcurl from http://curl.haxx.se/download.html#Win32 (There is no development version there, i.e. -devel) Using MinGW, version 3.4.2, we can link directly Unzip this into a directory and then Download the curl development distribution for mingw32 with ssl. That is curl-7.12.0-win32-ssl-devel-mingw32.zip via http://curl.haxx.se/download.html#Win32 If SSL is not needed, obviously retrieve the version without SSL. To make the Curl header and library files available for the build, it is easiest (?) to copy the relevant files from the curl distribution into a centralized location that is shared across the different development tools that are used when compiling R packages. This directory behaves like /usr/local/ in Unix and has a include/, lib/ and bin/ directory. We put the header files in the include/, the libraries in lib/ and the DLLs for run-time in bin/ as necessary. For curl, we copy the contents of the include/ directory in the curl distribution to $HOME/include to create a directory $HOME/include/curl/ with the header files. Similarly, we copy the *.a files to the $HOME/lib/ directory. These .a files are in the top-level directory of the curl distribution. SSL --- curl does not come with the SSL libraries it needs (for good reasons). Instead, you need to fetch them. For me, I downloaded and built from the source distribution. I am using openssl-0.9.7e. The files are available at www.openssl.org Unzip and build the openssl libraries by running the command ./Configure mingw make I configured the build with ./Configure mingw no-asm to remove the assembler compilation which caused problems with the MinGW version I was using (as 2.15.91). Then, manually copy libssl.a and libcrypto.a to the $HOME/lib/ directory where we tell the compilation to find these libraries. See RCurl/src/Makevars.win and the LOCAL variable. RCurl/configure.win0000644000176000001440000000000012437572731014032 0ustar ripleyusersRCurl/CodeGeneration/0000755000176000001440000000000012665241523014225 5ustar ripleyusersRCurl/CodeGeneration/readHTMLDoc.R0000644000176000001440000000035012437571707016403 0ustar ripleyuserslibrary(XML) opts = xpathSApply(doc, "//p[@class='level0']/a[@name]/following-sibling::span[@class='nroffip']/text()", xmlValue) opts = tolower(gsub("_", ".", gsub("CURLOPT_", "", opts))) library(RCurl) actual = listCurlOptions() RCurl/CodeGeneration/enum.c.t00.tu0000644000176000001440000305520712437571707016411 0ustar ripleyusers@1 type_decl name: @2 type: @3 srcp: :0 chan: @4 @2 identifier_node strg: int lngt: 3 @3 integer_type name: @1 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @4 type_decl name: @8 type: @9 srcp: :0 chan: @10 @5 integer_cst type: @11 low : 32 @6 integer_cst type: @3 high: -1 low : -2147483648 @7 integer_cst type: @3 low : 2147483647 @8 identifier_node strg: char lngt: 4 @9 integer_type name: @4 size: @12 algn: 8 prec: 8 sign: signed min : @13 max : @14 @10 type_decl name: @15 type: @16 srcp: :0 chan: @17 @11 integer_type name: @18 size: @19 algn: 128 prec: 68 sign: unsigned min : @20 max : @21 @12 integer_cst type: @11 low : 8 @13 integer_cst type: @9 high: -1 low : -128 @14 integer_cst type: @9 low : 127 @15 identifier_node strg: long int lngt: 8 @16 integer_type name: @10 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @17 type_decl name: @25 type: @26 srcp: :0 chan: @27 @18 identifier_node strg: bit_size_type lngt: 13 @19 integer_cst type: @11 low : 128 @20 integer_cst type: @11 low : 0 @21 integer_cst type: @11 high: 15 low : -1 @22 integer_cst type: @11 low : 64 @23 integer_cst type: @16 high: -1 low : 0 @24 integer_cst type: @16 low : -1 @25 identifier_node strg: unsigned int lngt: 12 @26 integer_type name: @17 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @27 type_decl name: @30 type: @31 srcp: :0 chan: @32 @28 integer_cst type: @26 low : 0 @29 integer_cst type: @26 low : -1 @30 identifier_node strg: long unsigned int lngt: 17 @31 integer_type name: @27 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @32 type_decl name: @35 type: @36 srcp: :0 chan: @37 @33 integer_cst type: @31 low : 0 @34 integer_cst type: @31 low : -1 @35 identifier_node strg: long long int lngt: 13 @36 integer_type name: @32 size: @22 algn: 64 prec: 64 sign: signed min : @38 max : @39 @37 type_decl name: @40 type: @41 srcp: :0 chan: @42 @38 integer_cst type: @36 high: -1 low : 0 @39 integer_cst type: @36 low : -1 @40 identifier_node strg: long long unsigned int lngt: 22 @41 integer_type name: @37 size: @22 algn: 64 prec: 64 sign: unsigned min : @43 max : @44 @42 type_decl name: @45 type: @46 srcp: :0 chan: @47 @43 integer_cst type: @41 low : 0 @44 integer_cst type: @41 low : -1 @45 identifier_node strg: short int lngt: 9 @46 integer_type name: @42 size: @48 algn: 16 prec: 16 sign: signed min : @49 max : @50 @47 type_decl name: @51 type: @52 srcp: :0 chan: @53 @48 integer_cst type: @11 low : 16 @49 integer_cst type: @46 high: -1 low : -32768 @50 integer_cst type: @46 low : 32767 @51 identifier_node strg: short unsigned int lngt: 18 @52 integer_type name: @47 size: @48 algn: 16 prec: 16 sign: unsigned min : @54 max : @55 @53 type_decl name: @56 type: @57 srcp: :0 chan: @58 @54 integer_cst type: @52 low : 0 @55 integer_cst type: @52 low : 65535 @56 identifier_node strg: signed char lngt: 11 @57 integer_type name: @53 size: @12 algn: 8 prec: 8 sign: signed min : @59 max : @60 @58 type_decl name: @61 type: @62 srcp: :0 chan: @63 @59 integer_cst type: @57 high: -1 low : -128 @60 integer_cst type: @57 low : 127 @61 identifier_node strg: unsigned char lngt: 13 @62 integer_type name: @58 size: @12 algn: 8 prec: 8 sign: unsigned min : @64 max : @65 @63 type_decl type: @57 srcp: :0 chan: @66 @64 integer_cst type: @62 low : 0 @65 integer_cst type: @62 low : 255 @66 type_decl type: @46 srcp: :0 chan: @67 @67 type_decl type: @3 srcp: :0 chan: @68 @68 type_decl type: @16 srcp: :0 chan: @69 @69 type_decl name: @70 type: @71 srcp: :0 chan: @72 @70 identifier_node strg: __int128_t lngt: 10 @71 integer_type name: @69 size: @19 algn: 128 prec: 128 sign: signed min : @73 max : @74 @72 type_decl type: @62 srcp: :0 chan: @75 @73 integer_cst type: @71 high: 0 low : 0 @74 integer_cst type: @71 high: -1 low : -1 @75 type_decl type: @52 srcp: :0 chan: @76 @76 type_decl type: @26 srcp: :0 chan: @77 @77 type_decl type: @31 srcp: :0 chan: @78 @78 type_decl name: @79 type: @80 srcp: :0 chan: @81 @79 identifier_node strg: __uint128_t lngt: 11 @80 integer_type name: @78 size: @19 algn: 128 prec: 128 sign: unsigned min : @82 max : @83 @81 type_decl type: @84 srcp: :0 chan: @85 @82 integer_cst type: @80 low : 0 @83 integer_cst type: @80 high: -1 low : -1 @84 integer_type size: @19 algn: 128 prec: 128 sign: signed min : @86 max : @87 @85 type_decl type: @88 srcp: :0 chan: @89 @86 integer_cst type: @84 high: 0 low : 0 @87 integer_cst type: @84 high: -1 low : -1 @88 integer_type size: @19 algn: 128 prec: 128 sign: unsigned min : @90 max : @91 @89 type_decl name: @92 type: @93 srcp: :0 chan: @94 @90 integer_cst type: @88 low : 0 @91 integer_cst type: @88 high: -1 low : -1 @92 identifier_node strg: float lngt: 5 @93 real_type name: @89 size: @5 algn: 32 prec: 32 @94 type_decl name: @95 type: @96 srcp: :0 chan: @97 @95 identifier_node strg: double lngt: 6 @96 real_type name: @94 size: @22 algn: 64 prec: 64 @97 type_decl name: @98 type: @99 srcp: :0 chan: @100 @98 identifier_node strg: long double lngt: 11 @99 real_type name: @97 size: @19 algn: 128 prec: 80 @100 type_decl name: @101 type: @102 srcp: :0 chan: @103 @101 identifier_node strg: complex int lngt: 11 @102 complex_type name: @100 size: @22 algn: 32 @103 type_decl name: @104 type: @105 srcp: :0 chan: @106 @104 identifier_node strg: complex float lngt: 13 @105 complex_type name: @103 size: @22 algn: 32 @106 type_decl name: @107 type: @108 srcp: :0 chan: @109 @107 identifier_node strg: complex double lngt: 14 @108 complex_type name: @106 size: @19 algn: 64 @109 type_decl name: @110 type: @111 srcp: :0 chan: @112 @110 identifier_node strg: complex long double lngt: 19 @111 complex_type name: @109 size: @113 algn: 128 @112 type_decl name: @114 type: @115 srcp: :0 chan: @116 @113 integer_cst type: @11 low : 256 @114 identifier_node strg: void lngt: 4 @115 void_type name: @112 algn: 8 @116 type_decl name: @117 type: @118 srcp: :0 chan: @119 @117 identifier_node strg: __builtin_va_list lngt: 17 @118 array_type name: @116 unql: @120 size: @121 algn: 64 elts: @122 domn: @123 @119 function_decl name: @124 mngl: @125 type: @126 srcp: :0 chan: @127 body: undefined link: extern @120 array_type size: @121 algn: 64 elts: @122 domn: @123 @121 integer_cst type: @11 low : 192 @122 record_type name: @128 size: @121 algn: 64 tag : struct flds: @129 @123 integer_type size: @22 algn: 64 prec: 64 sign: signed min : @130 max : @130 @124 identifier_node strg: __builtin_acos lngt: 14 @125 identifier_node strg: acos lngt: 4 @126 function_type size: @12 algn: 8 retn: @96 prms: @131 @127 function_decl name: @125 type: @126 srcp: :0 chan: @132 body: undefined link: extern @128 type_decl name: @133 type: @122 srcp: :0 @129 field_decl name: @134 type: @26 scpe: @122 srcp: :0 chan: @135 size: @5 algn: 32 bpos: @20 @130 integer_cst type: @136 low : 0 @131 tree_list valu: @96 chan: @137 @132 function_decl name: @138 mngl: @139 type: @140 srcp: :0 chan: @141 body: undefined link: extern @133 identifier_node strg: __va_list_tag lngt: 13 @134 identifier_node strg: gp_offset lngt: 9 @135 field_decl name: @142 type: @26 scpe: @122 srcp: :0 chan: @143 size: @5 algn: 32 bpos: @5 @136 integer_type name: @27 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @137 tree_list valu: @115 @138 identifier_node strg: __builtin_acosf lngt: 15 @139 identifier_node strg: acosf lngt: 5 @140 function_type size: @12 algn: 8 retn: @93 prms: @144 @141 function_decl name: @139 type: @140 srcp: :0 chan: @145 body: undefined link: extern @142 identifier_node strg: fp_offset lngt: 9 @143 field_decl name: @146 type: @147 scpe: @122 srcp: :0 chan: @148 size: @22 algn: 64 bpos: @22 @144 tree_list valu: @93 chan: @137 @145 function_decl name: @149 mngl: @150 type: @126 srcp: :0 chan: @151 body: undefined link: extern @146 identifier_node strg: overflow_arg_area lngt: 17 @147 pointer_type size: @22 algn: 64 ptd : @115 @148 field_decl name: @152 type: @147 scpe: @122 srcp: :0 size: @22 algn: 64 bpos: @19 @149 identifier_node strg: __builtin_acosh lngt: 15 @150 identifier_node strg: acosh lngt: 5 @151 function_decl name: @150 type: @126 srcp: :0 chan: @153 body: undefined link: extern @152 identifier_node strg: reg_save_area lngt: 13 @153 function_decl name: @154 mngl: @155 type: @140 srcp: :0 chan: @156 body: undefined link: extern @154 identifier_node strg: __builtin_acoshf lngt: 16 @155 identifier_node strg: acoshf lngt: 6 @156 function_decl name: @155 type: @140 srcp: :0 chan: @157 body: undefined link: extern @157 function_decl name: @158 mngl: @159 type: @160 srcp: :0 chan: @161 body: undefined link: extern @158 identifier_node strg: __builtin_acoshl lngt: 16 @159 identifier_node strg: acoshl lngt: 6 @160 function_type size: @12 algn: 8 retn: @99 prms: @162 @161 function_decl name: @159 type: @160 srcp: :0 chan: @163 body: undefined link: extern @162 tree_list valu: @99 chan: @137 @163 function_decl name: @164 mngl: @165 type: @160 srcp: :0 chan: @166 body: undefined link: extern @164 identifier_node strg: __builtin_acosl lngt: 15 @165 identifier_node strg: acosl lngt: 5 @166 function_decl name: @165 type: @160 srcp: :0 chan: @167 body: undefined link: extern @167 function_decl name: @168 mngl: @169 type: @126 srcp: :0 chan: @170 body: undefined link: extern @168 identifier_node strg: __builtin_asin lngt: 14 @169 identifier_node strg: asin lngt: 4 @170 function_decl name: @169 type: @126 srcp: :0 chan: @171 body: undefined link: extern @171 function_decl name: @172 mngl: @173 type: @140 srcp: :0 chan: @174 body: undefined link: extern @172 identifier_node strg: __builtin_asinf lngt: 15 @173 identifier_node strg: asinf lngt: 5 @174 function_decl name: @173 type: @140 srcp: :0 chan: @175 body: undefined link: extern @175 function_decl name: @176 mngl: @177 type: @126 srcp: :0 chan: @178 body: undefined link: extern @176 identifier_node strg: __builtin_asinh lngt: 15 @177 identifier_node strg: asinh lngt: 5 @178 function_decl name: @177 type: @126 srcp: :0 chan: @179 body: undefined link: extern @179 function_decl name: @180 mngl: @181 type: @140 srcp: :0 chan: @182 body: undefined link: extern @180 identifier_node strg: __builtin_asinhf lngt: 16 @181 identifier_node strg: asinhf lngt: 6 @182 function_decl name: @181 type: @140 srcp: :0 chan: @183 body: undefined link: extern @183 function_decl name: @184 mngl: @185 type: @160 srcp: :0 chan: @186 body: undefined link: extern @184 identifier_node strg: __builtin_asinhl lngt: 16 @185 identifier_node strg: asinhl lngt: 6 @186 function_decl name: @185 type: @160 srcp: :0 chan: @187 body: undefined link: extern @187 function_decl name: @188 mngl: @189 type: @160 srcp: :0 chan: @190 body: undefined link: extern @188 identifier_node strg: __builtin_asinl lngt: 15 @189 identifier_node strg: asinl lngt: 5 @190 function_decl name: @189 type: @160 srcp: :0 chan: @191 body: undefined link: extern @191 function_decl name: @192 mngl: @193 type: @126 srcp: :0 chan: @194 body: undefined link: extern @192 identifier_node strg: __builtin_atan lngt: 14 @193 identifier_node strg: atan lngt: 4 @194 function_decl name: @193 type: @126 srcp: :0 chan: @195 body: undefined link: extern @195 function_decl name: @196 mngl: @197 type: @198 srcp: :0 chan: @199 body: undefined link: extern @196 identifier_node strg: __builtin_atan2 lngt: 15 @197 identifier_node strg: atan2 lngt: 5 @198 function_type size: @12 algn: 8 retn: @96 prms: @200 @199 function_decl name: @197 type: @198 srcp: :0 chan: @201 body: undefined link: extern @200 tree_list valu: @96 chan: @202 @201 function_decl name: @203 mngl: @204 type: @205 srcp: :0 chan: @206 body: undefined link: extern @202 tree_list valu: @96 chan: @137 @203 identifier_node strg: __builtin_atan2f lngt: 16 @204 identifier_node strg: atan2f lngt: 6 @205 function_type size: @12 algn: 8 retn: @93 prms: @207 @206 function_decl name: @204 type: @205 srcp: :0 chan: @208 body: undefined link: extern @207 tree_list valu: @93 chan: @209 @208 function_decl name: @210 mngl: @211 type: @212 srcp: :0 chan: @213 body: undefined link: extern @209 tree_list valu: @93 chan: @137 @210 identifier_node strg: __builtin_atan2l lngt: 16 @211 identifier_node strg: atan2l lngt: 6 @212 function_type size: @12 algn: 8 retn: @99 prms: @214 @213 function_decl name: @211 type: @212 srcp: :0 chan: @215 body: undefined link: extern @214 tree_list valu: @99 chan: @216 @215 function_decl name: @217 mngl: @218 type: @140 srcp: :0 chan: @219 body: undefined link: extern @216 tree_list valu: @99 chan: @137 @217 identifier_node strg: __builtin_atanf lngt: 15 @218 identifier_node strg: atanf lngt: 5 @219 function_decl name: @218 type: @140 srcp: :0 chan: @220 body: undefined link: extern @220 function_decl name: @221 mngl: @222 type: @126 srcp: :0 chan: @223 body: undefined link: extern @221 identifier_node strg: __builtin_atanh lngt: 15 @222 identifier_node strg: atanh lngt: 5 @223 function_decl name: @222 type: @126 srcp: :0 chan: @224 body: undefined link: extern @224 function_decl name: @225 mngl: @226 type: @140 srcp: :0 chan: @227 body: undefined link: extern @225 identifier_node strg: __builtin_atanhf lngt: 16 @226 identifier_node strg: atanhf lngt: 6 @227 function_decl name: @226 type: @140 srcp: :0 chan: @228 body: undefined link: extern @228 function_decl name: @229 mngl: @230 type: @160 srcp: :0 chan: @231 body: undefined link: extern @229 identifier_node strg: __builtin_atanhl lngt: 16 @230 identifier_node strg: atanhl lngt: 6 @231 function_decl name: @230 type: @160 srcp: :0 chan: @232 body: undefined link: extern @232 function_decl name: @233 mngl: @234 type: @160 srcp: :0 chan: @235 body: undefined link: extern @233 identifier_node strg: __builtin_atanl lngt: 15 @234 identifier_node strg: atanl lngt: 5 @235 function_decl name: @234 type: @160 srcp: :0 chan: @236 body: undefined link: extern @236 function_decl name: @237 mngl: @238 type: @126 srcp: :0 chan: @239 body: undefined link: extern @237 identifier_node strg: __builtin_cbrt lngt: 14 @238 identifier_node strg: cbrt lngt: 4 @239 function_decl name: @238 type: @126 srcp: :0 chan: @240 body: undefined link: extern @240 function_decl name: @241 mngl: @242 type: @140 srcp: :0 chan: @243 body: undefined link: extern @241 identifier_node strg: __builtin_cbrtf lngt: 15 @242 identifier_node strg: cbrtf lngt: 5 @243 function_decl name: @242 type: @140 srcp: :0 chan: @244 body: undefined link: extern @244 function_decl name: @245 mngl: @246 type: @160 srcp: :0 chan: @247 body: undefined link: extern @245 identifier_node strg: __builtin_cbrtl lngt: 15 @246 identifier_node strg: cbrtl lngt: 5 @247 function_decl name: @246 type: @160 srcp: :0 chan: @248 body: undefined link: extern @248 function_decl name: @249 mngl: @250 type: @126 srcp: :0 chan: @251 body: undefined link: extern @249 identifier_node strg: __builtin_ceil lngt: 14 @250 identifier_node strg: ceil lngt: 4 @251 function_decl name: @250 type: @126 srcp: :0 chan: @252 body: undefined link: extern @252 function_decl name: @253 mngl: @254 type: @140 srcp: :0 chan: @255 body: undefined link: extern @253 identifier_node strg: __builtin_ceilf lngt: 15 @254 identifier_node strg: ceilf lngt: 5 @255 function_decl name: @254 type: @140 srcp: :0 chan: @256 body: undefined link: extern @256 function_decl name: @257 mngl: @258 type: @160 srcp: :0 chan: @259 body: undefined link: extern @257 identifier_node strg: __builtin_ceill lngt: 15 @258 identifier_node strg: ceill lngt: 5 @259 function_decl name: @258 type: @160 srcp: :0 chan: @260 body: undefined link: extern @260 function_decl name: @261 mngl: @262 type: @198 srcp: :0 chan: @263 body: undefined link: extern @261 identifier_node strg: __builtin_copysign lngt: 18 @262 identifier_node strg: copysign lngt: 8 @263 function_decl name: @262 type: @198 srcp: :0 chan: @264 body: undefined link: extern @264 function_decl name: @265 mngl: @266 type: @205 srcp: :0 chan: @267 body: undefined link: extern @265 identifier_node strg: __builtin_copysignf lngt: 19 @266 identifier_node strg: copysignf lngt: 9 @267 function_decl name: @266 type: @205 srcp: :0 chan: @268 body: undefined link: extern @268 function_decl name: @269 mngl: @270 type: @212 srcp: :0 chan: @271 body: undefined link: extern @269 identifier_node strg: __builtin_copysignl lngt: 19 @270 identifier_node strg: copysignl lngt: 9 @271 function_decl name: @270 type: @212 srcp: :0 chan: @272 body: undefined link: extern @272 function_decl name: @273 mngl: @274 type: @126 srcp: :0 chan: @275 body: undefined link: extern @273 identifier_node strg: __builtin_cos lngt: 13 @274 identifier_node strg: cos lngt: 3 @275 function_decl name: @274 type: @126 srcp: :0 chan: @276 body: undefined link: extern @276 function_decl name: @277 mngl: @278 type: @140 srcp: :0 chan: @279 body: undefined link: extern @277 identifier_node strg: __builtin_cosf lngt: 14 @278 identifier_node strg: cosf lngt: 4 @279 function_decl name: @278 type: @140 srcp: :0 chan: @280 body: undefined link: extern @280 function_decl name: @281 mngl: @282 type: @126 srcp: :0 chan: @283 body: undefined link: extern @281 identifier_node strg: __builtin_cosh lngt: 14 @282 identifier_node strg: cosh lngt: 4 @283 function_decl name: @282 type: @126 srcp: :0 chan: @284 body: undefined link: extern @284 function_decl name: @285 mngl: @286 type: @140 srcp: :0 chan: @287 body: undefined link: extern @285 identifier_node strg: __builtin_coshf lngt: 15 @286 identifier_node strg: coshf lngt: 5 @287 function_decl name: @286 type: @140 srcp: :0 chan: @288 body: undefined link: extern @288 function_decl name: @289 mngl: @290 type: @160 srcp: :0 chan: @291 body: undefined link: extern @289 identifier_node strg: __builtin_coshl lngt: 15 @290 identifier_node strg: coshl lngt: 5 @291 function_decl name: @290 type: @160 srcp: :0 chan: @292 body: undefined link: extern @292 function_decl name: @293 mngl: @294 type: @160 srcp: :0 chan: @295 body: undefined link: extern @293 identifier_node strg: __builtin_cosl lngt: 14 @294 identifier_node strg: cosl lngt: 4 @295 function_decl name: @294 type: @160 srcp: :0 chan: @296 body: undefined link: extern @296 function_decl name: @297 mngl: @298 type: @198 srcp: :0 chan: @299 body: undefined link: extern @297 identifier_node strg: __builtin_drem lngt: 14 @298 identifier_node strg: drem lngt: 4 @299 function_decl name: @298 type: @198 srcp: :0 chan: @300 body: undefined link: extern @300 function_decl name: @301 mngl: @302 type: @205 srcp: :0 chan: @303 body: undefined link: extern @301 identifier_node strg: __builtin_dremf lngt: 15 @302 identifier_node strg: dremf lngt: 5 @303 function_decl name: @302 type: @205 srcp: :0 chan: @304 body: undefined link: extern @304 function_decl name: @305 mngl: @306 type: @212 srcp: :0 chan: @307 body: undefined link: extern @305 identifier_node strg: __builtin_dreml lngt: 15 @306 identifier_node strg: dreml lngt: 5 @307 function_decl name: @306 type: @212 srcp: :0 chan: @308 body: undefined link: extern @308 function_decl name: @309 mngl: @310 type: @126 srcp: :0 chan: @311 body: undefined link: extern @309 identifier_node strg: __builtin_erf lngt: 13 @310 identifier_node strg: erf lngt: 3 @311 function_decl name: @310 type: @126 srcp: :0 chan: @312 body: undefined link: extern @312 function_decl name: @313 mngl: @314 type: @126 srcp: :0 chan: @315 body: undefined link: extern @313 identifier_node strg: __builtin_erfc lngt: 14 @314 identifier_node strg: erfc lngt: 4 @315 function_decl name: @314 type: @126 srcp: :0 chan: @316 body: undefined link: extern @316 function_decl name: @317 mngl: @318 type: @140 srcp: :0 chan: @319 body: undefined link: extern @317 identifier_node strg: __builtin_erfcf lngt: 15 @318 identifier_node strg: erfcf lngt: 5 @319 function_decl name: @318 type: @140 srcp: :0 chan: @320 body: undefined link: extern @320 function_decl name: @321 mngl: @322 type: @160 srcp: :0 chan: @323 body: undefined link: extern @321 identifier_node strg: __builtin_erfcl lngt: 15 @322 identifier_node strg: erfcl lngt: 5 @323 function_decl name: @322 type: @160 srcp: :0 chan: @324 body: undefined link: extern @324 function_decl name: @325 mngl: @326 type: @140 srcp: :0 chan: @327 body: undefined link: extern @325 identifier_node strg: __builtin_erff lngt: 14 @326 identifier_node strg: erff lngt: 4 @327 function_decl name: @326 type: @140 srcp: :0 chan: @328 body: undefined link: extern @328 function_decl name: @329 mngl: @330 type: @160 srcp: :0 chan: @331 body: undefined link: extern @329 identifier_node strg: __builtin_erfl lngt: 14 @330 identifier_node strg: erfl lngt: 4 @331 function_decl name: @330 type: @160 srcp: :0 chan: @332 body: undefined link: extern @332 function_decl name: @333 mngl: @334 type: @126 srcp: :0 chan: @335 body: undefined link: extern @333 identifier_node strg: __builtin_exp lngt: 13 @334 identifier_node strg: exp lngt: 3 @335 function_decl name: @334 type: @126 srcp: :0 chan: @336 body: undefined link: extern @336 function_decl name: @337 mngl: @338 type: @126 srcp: :0 chan: @339 body: undefined link: extern @337 identifier_node strg: __builtin_exp10 lngt: 15 @338 identifier_node strg: exp10 lngt: 5 @339 function_decl name: @338 type: @126 srcp: :0 chan: @340 body: undefined link: extern @340 function_decl name: @341 mngl: @342 type: @140 srcp: :0 chan: @343 body: undefined link: extern @341 identifier_node strg: __builtin_exp10f lngt: 16 @342 identifier_node strg: exp10f lngt: 6 @343 function_decl name: @342 type: @140 srcp: :0 chan: @344 body: undefined link: extern @344 function_decl name: @345 mngl: @346 type: @160 srcp: :0 chan: @347 body: undefined link: extern @345 identifier_node strg: __builtin_exp10l lngt: 16 @346 identifier_node strg: exp10l lngt: 6 @347 function_decl name: @346 type: @160 srcp: :0 chan: @348 body: undefined link: extern @348 function_decl name: @349 mngl: @350 type: @126 srcp: :0 chan: @351 body: undefined link: extern @349 identifier_node strg: __builtin_exp2 lngt: 14 @350 identifier_node strg: exp2 lngt: 4 @351 function_decl name: @350 type: @126 srcp: :0 chan: @352 body: undefined link: extern @352 function_decl name: @353 mngl: @354 type: @140 srcp: :0 chan: @355 body: undefined link: extern @353 identifier_node strg: __builtin_exp2f lngt: 15 @354 identifier_node strg: exp2f lngt: 5 @355 function_decl name: @354 type: @140 srcp: :0 chan: @356 body: undefined link: extern @356 function_decl name: @357 mngl: @358 type: @160 srcp: :0 chan: @359 body: undefined link: extern @357 identifier_node strg: __builtin_exp2l lngt: 15 @358 identifier_node strg: exp2l lngt: 5 @359 function_decl name: @358 type: @160 srcp: :0 chan: @360 body: undefined link: extern @360 function_decl name: @361 mngl: @362 type: @140 srcp: :0 chan: @363 body: undefined link: extern @361 identifier_node strg: __builtin_expf lngt: 14 @362 identifier_node strg: expf lngt: 4 @363 function_decl name: @362 type: @140 srcp: :0 chan: @364 body: undefined link: extern @364 function_decl name: @365 mngl: @366 type: @160 srcp: :0 chan: @367 body: undefined link: extern @365 identifier_node strg: __builtin_expl lngt: 14 @366 identifier_node strg: expl lngt: 4 @367 function_decl name: @366 type: @160 srcp: :0 chan: @368 body: undefined link: extern @368 function_decl name: @369 mngl: @370 type: @126 srcp: :0 chan: @371 body: undefined link: extern @369 identifier_node strg: __builtin_expm1 lngt: 15 @370 identifier_node strg: expm1 lngt: 5 @371 function_decl name: @370 type: @126 srcp: :0 chan: @372 body: undefined link: extern @372 function_decl name: @373 mngl: @374 type: @140 srcp: :0 chan: @375 body: undefined link: extern @373 identifier_node strg: __builtin_expm1f lngt: 16 @374 identifier_node strg: expm1f lngt: 6 @375 function_decl name: @374 type: @140 srcp: :0 chan: @376 body: undefined link: extern @376 function_decl name: @377 mngl: @378 type: @160 srcp: :0 chan: @379 body: undefined link: extern @377 identifier_node strg: __builtin_expm1l lngt: 16 @378 identifier_node strg: expm1l lngt: 6 @379 function_decl name: @378 type: @160 srcp: :0 chan: @380 body: undefined link: extern @380 function_decl name: @381 mngl: @382 type: @126 srcp: :0 chan: @383 body: undefined link: extern @381 identifier_node strg: __builtin_fabs lngt: 14 @382 identifier_node strg: fabs lngt: 4 @383 function_decl name: @382 type: @126 srcp: :0 chan: @384 body: undefined link: extern @384 function_decl name: @385 mngl: @386 type: @140 srcp: :0 chan: @387 body: undefined link: extern @385 identifier_node strg: __builtin_fabsf lngt: 15 @386 identifier_node strg: fabsf lngt: 5 @387 function_decl name: @386 type: @140 srcp: :0 chan: @388 body: undefined link: extern @388 function_decl name: @389 mngl: @390 type: @160 srcp: :0 chan: @391 body: undefined link: extern @389 identifier_node strg: __builtin_fabsl lngt: 15 @390 identifier_node strg: fabsl lngt: 5 @391 function_decl name: @390 type: @160 srcp: :0 chan: @392 body: undefined link: extern @392 function_decl name: @393 mngl: @394 type: @198 srcp: :0 chan: @395 body: undefined link: extern @393 identifier_node strg: __builtin_fdim lngt: 14 @394 identifier_node strg: fdim lngt: 4 @395 function_decl name: @394 type: @198 srcp: :0 chan: @396 body: undefined link: extern @396 function_decl name: @397 mngl: @398 type: @205 srcp: :0 chan: @399 body: undefined link: extern @397 identifier_node strg: __builtin_fdimf lngt: 15 @398 identifier_node strg: fdimf lngt: 5 @399 function_decl name: @398 type: @205 srcp: :0 chan: @400 body: undefined link: extern @400 function_decl name: @401 mngl: @402 type: @212 srcp: :0 chan: @403 body: undefined link: extern @401 identifier_node strg: __builtin_fdiml lngt: 15 @402 identifier_node strg: fdiml lngt: 5 @403 function_decl name: @402 type: @212 srcp: :0 chan: @404 body: undefined link: extern @404 function_decl name: @405 mngl: @406 type: @126 srcp: :0 chan: @407 body: undefined link: extern @405 identifier_node strg: __builtin_floor lngt: 15 @406 identifier_node strg: floor lngt: 5 @407 function_decl name: @406 type: @126 srcp: :0 chan: @408 body: undefined link: extern @408 function_decl name: @409 mngl: @410 type: @140 srcp: :0 chan: @411 body: undefined link: extern @409 identifier_node strg: __builtin_floorf lngt: 16 @410 identifier_node strg: floorf lngt: 6 @411 function_decl name: @410 type: @140 srcp: :0 chan: @412 body: undefined link: extern @412 function_decl name: @413 mngl: @414 type: @160 srcp: :0 chan: @415 body: undefined link: extern @413 identifier_node strg: __builtin_floorl lngt: 16 @414 identifier_node strg: floorl lngt: 6 @415 function_decl name: @414 type: @160 srcp: :0 chan: @416 body: undefined link: extern @416 function_decl name: @417 mngl: @418 type: @419 srcp: :0 chan: @420 body: undefined link: extern @417 identifier_node strg: __builtin_fma lngt: 13 @418 identifier_node strg: fma lngt: 3 @419 function_type size: @12 algn: 8 retn: @96 prms: @421 @420 function_decl name: @418 type: @419 srcp: :0 chan: @422 body: undefined link: extern @421 tree_list valu: @96 chan: @423 @422 function_decl name: @424 mngl: @425 type: @426 srcp: :0 chan: @427 body: undefined link: extern @423 tree_list valu: @96 chan: @428 @424 identifier_node strg: __builtin_fmaf lngt: 14 @425 identifier_node strg: fmaf lngt: 4 @426 function_type size: @12 algn: 8 retn: @93 prms: @429 @427 function_decl name: @425 type: @426 srcp: :0 chan: @430 body: undefined link: extern @428 tree_list valu: @96 chan: @137 @429 tree_list valu: @93 chan: @431 @430 function_decl name: @432 mngl: @433 type: @434 srcp: :0 chan: @435 body: undefined link: extern @431 tree_list valu: @93 chan: @436 @432 identifier_node strg: __builtin_fmal lngt: 14 @433 identifier_node strg: fmal lngt: 4 @434 function_type size: @12 algn: 8 retn: @99 prms: @437 @435 function_decl name: @433 type: @434 srcp: :0 chan: @438 body: undefined link: extern @436 tree_list valu: @93 chan: @137 @437 tree_list valu: @99 chan: @439 @438 function_decl name: @440 mngl: @441 type: @198 srcp: :0 chan: @442 body: undefined link: extern @439 tree_list valu: @99 chan: @443 @440 identifier_node strg: __builtin_fmax lngt: 14 @441 identifier_node strg: fmax lngt: 4 @442 function_decl name: @441 type: @198 srcp: :0 chan: @444 body: undefined link: extern @443 tree_list valu: @99 chan: @137 @444 function_decl name: @445 mngl: @446 type: @205 srcp: :0 chan: @447 body: undefined link: extern @445 identifier_node strg: __builtin_fmaxf lngt: 15 @446 identifier_node strg: fmaxf lngt: 5 @447 function_decl name: @446 type: @205 srcp: :0 chan: @448 body: undefined link: extern @448 function_decl name: @449 mngl: @450 type: @212 srcp: :0 chan: @451 body: undefined link: extern @449 identifier_node strg: __builtin_fmaxl lngt: 15 @450 identifier_node strg: fmaxl lngt: 5 @451 function_decl name: @450 type: @212 srcp: :0 chan: @452 body: undefined link: extern @452 function_decl name: @453 mngl: @454 type: @198 srcp: :0 chan: @455 body: undefined link: extern @453 identifier_node strg: __builtin_fmin lngt: 14 @454 identifier_node strg: fmin lngt: 4 @455 function_decl name: @454 type: @198 srcp: :0 chan: @456 body: undefined link: extern @456 function_decl name: @457 mngl: @458 type: @205 srcp: :0 chan: @459 body: undefined link: extern @457 identifier_node strg: __builtin_fminf lngt: 15 @458 identifier_node strg: fminf lngt: 5 @459 function_decl name: @458 type: @205 srcp: :0 chan: @460 body: undefined link: extern @460 function_decl name: @461 mngl: @462 type: @212 srcp: :0 chan: @463 body: undefined link: extern @461 identifier_node strg: __builtin_fminl lngt: 15 @462 identifier_node strg: fminl lngt: 5 @463 function_decl name: @462 type: @212 srcp: :0 chan: @464 body: undefined link: extern @464 function_decl name: @465 mngl: @466 type: @198 srcp: :0 chan: @467 body: undefined link: extern @465 identifier_node strg: __builtin_fmod lngt: 14 @466 identifier_node strg: fmod lngt: 4 @467 function_decl name: @466 type: @198 srcp: :0 chan: @468 body: undefined link: extern @468 function_decl name: @469 mngl: @470 type: @205 srcp: :0 chan: @471 body: undefined link: extern @469 identifier_node strg: __builtin_fmodf lngt: 15 @470 identifier_node strg: fmodf lngt: 5 @471 function_decl name: @470 type: @205 srcp: :0 chan: @472 body: undefined link: extern @472 function_decl name: @473 mngl: @474 type: @212 srcp: :0 chan: @475 body: undefined link: extern @473 identifier_node strg: __builtin_fmodl lngt: 15 @474 identifier_node strg: fmodl lngt: 5 @475 function_decl name: @474 type: @212 srcp: :0 chan: @476 body: undefined link: extern @476 function_decl name: @477 mngl: @478 type: @479 srcp: :0 chan: @480 body: undefined link: extern @477 identifier_node strg: __builtin_frexp lngt: 15 @478 identifier_node strg: frexp lngt: 5 @479 function_type size: @12 algn: 8 retn: @96 prms: @481 @480 function_decl name: @478 type: @479 srcp: :0 chan: @482 body: undefined link: extern @481 tree_list valu: @96 chan: @483 @482 function_decl name: @484 mngl: @485 type: @486 srcp: :0 chan: @487 body: undefined link: extern @483 tree_list valu: @488 chan: @137 @484 identifier_node strg: __builtin_frexpf lngt: 16 @485 identifier_node strg: frexpf lngt: 6 @486 function_type size: @12 algn: 8 retn: @93 prms: @489 @487 function_decl name: @485 type: @486 srcp: :0 chan: @490 body: undefined link: extern @488 pointer_type size: @22 algn: 64 ptd : @3 @489 tree_list valu: @93 chan: @491 @490 function_decl name: @492 mngl: @493 type: @494 srcp: :0 chan: @495 body: undefined link: extern @491 tree_list valu: @488 chan: @137 @492 identifier_node strg: __builtin_frexpl lngt: 16 @493 identifier_node strg: frexpl lngt: 6 @494 function_type size: @12 algn: 8 retn: @99 prms: @496 @495 function_decl name: @493 type: @494 srcp: :0 chan: @497 body: undefined link: extern @496 tree_list valu: @99 chan: @498 @497 function_decl name: @499 mngl: @500 type: @126 srcp: :0 chan: @501 body: undefined link: extern @498 tree_list valu: @488 chan: @137 @499 identifier_node strg: __builtin_gamma lngt: 15 @500 identifier_node strg: gamma lngt: 5 @501 function_decl name: @500 type: @126 srcp: :0 chan: @502 body: undefined link: extern @502 function_decl name: @503 mngl: @504 type: @140 srcp: :0 chan: @505 body: undefined link: extern @503 identifier_node strg: __builtin_gammaf lngt: 16 @504 identifier_node strg: gammaf lngt: 6 @505 function_decl name: @504 type: @140 srcp: :0 chan: @506 body: undefined link: extern @506 function_decl name: @507 mngl: @508 type: @160 srcp: :0 chan: @509 body: undefined link: extern @507 identifier_node strg: __builtin_gammal lngt: 16 @508 identifier_node strg: gammal lngt: 6 @509 function_decl name: @508 type: @160 srcp: :0 chan: @510 body: undefined link: extern @510 function_decl name: @511 type: @512 srcp: :0 chan: @513 body: undefined link: extern @511 identifier_node strg: __builtin_huge_val lngt: 18 @512 function_type size: @12 algn: 8 retn: @96 prms: @137 @513 function_decl name: @514 type: @515 srcp: :0 chan: @516 body: undefined link: extern @514 identifier_node strg: __builtin_huge_valf lngt: 19 @515 function_type size: @12 algn: 8 retn: @93 prms: @137 @516 function_decl name: @517 type: @518 srcp: :0 chan: @519 body: undefined link: extern @517 identifier_node strg: __builtin_huge_vall lngt: 19 @518 function_type size: @12 algn: 8 retn: @99 prms: @137 @519 function_decl name: @520 mngl: @521 type: @198 srcp: :0 chan: @522 body: undefined link: extern @520 identifier_node strg: __builtin_hypot lngt: 15 @521 identifier_node strg: hypot lngt: 5 @522 function_decl name: @521 type: @198 srcp: :0 chan: @523 body: undefined link: extern @523 function_decl name: @524 mngl: @525 type: @205 srcp: :0 chan: @526 body: undefined link: extern @524 identifier_node strg: __builtin_hypotf lngt: 16 @525 identifier_node strg: hypotf lngt: 6 @526 function_decl name: @525 type: @205 srcp: :0 chan: @527 body: undefined link: extern @527 function_decl name: @528 mngl: @529 type: @212 srcp: :0 chan: @530 body: undefined link: extern @528 identifier_node strg: __builtin_hypotl lngt: 16 @529 identifier_node strg: hypotl lngt: 6 @530 function_decl name: @529 type: @212 srcp: :0 chan: @531 body: undefined link: extern @531 function_decl name: @532 mngl: @533 type: @534 srcp: :0 chan: @535 body: undefined link: extern @532 identifier_node strg: __builtin_ilogb lngt: 15 @533 identifier_node strg: ilogb lngt: 5 @534 function_type size: @12 algn: 8 retn: @3 prms: @536 @535 function_decl name: @533 type: @534 srcp: :0 chan: @537 body: undefined link: extern @536 tree_list valu: @96 chan: @137 @537 function_decl name: @538 mngl: @539 type: @540 srcp: :0 chan: @541 body: undefined link: extern @538 identifier_node strg: __builtin_ilogbf lngt: 16 @539 identifier_node strg: ilogbf lngt: 6 @540 function_type size: @12 algn: 8 retn: @3 prms: @542 @541 function_decl name: @539 type: @540 srcp: :0 chan: @543 body: undefined link: extern @542 tree_list valu: @93 chan: @137 @543 function_decl name: @544 mngl: @545 type: @546 srcp: :0 chan: @547 body: undefined link: extern @544 identifier_node strg: __builtin_ilogbl lngt: 16 @545 identifier_node strg: ilogbl lngt: 6 @546 function_type size: @12 algn: 8 retn: @3 prms: @548 @547 function_decl name: @545 type: @546 srcp: :0 chan: @549 body: undefined link: extern @548 tree_list valu: @99 chan: @137 @549 function_decl name: @550 type: @512 srcp: :0 chan: @551 body: undefined link: extern @550 identifier_node strg: __builtin_inf lngt: 13 @551 function_decl name: @552 type: @515 srcp: :0 chan: @553 body: undefined link: extern @552 identifier_node strg: __builtin_inff lngt: 14 @553 function_decl name: @554 type: @518 srcp: :0 chan: @555 body: undefined link: extern @554 identifier_node strg: __builtin_infl lngt: 14 @555 function_decl name: @556 mngl: @557 type: @126 srcp: :0 chan: @558 body: undefined link: extern @556 identifier_node strg: __builtin_j0 lngt: 12 @557 identifier_node strg: j0 lngt: 2 @558 function_decl name: @557 type: @126 srcp: :0 chan: @559 body: undefined link: extern @559 function_decl name: @560 mngl: @561 type: @140 srcp: :0 chan: @562 body: undefined link: extern @560 identifier_node strg: __builtin_j0f lngt: 13 @561 identifier_node strg: j0f lngt: 3 @562 function_decl name: @561 type: @140 srcp: :0 chan: @563 body: undefined link: extern @563 function_decl name: @564 mngl: @565 type: @160 srcp: :0 chan: @566 body: undefined link: extern @564 identifier_node strg: __builtin_j0l lngt: 13 @565 identifier_node strg: j0l lngt: 3 @566 function_decl name: @565 type: @160 srcp: :0 chan: @567 body: undefined link: extern @567 function_decl name: @568 mngl: @569 type: @126 srcp: :0 chan: @570 body: undefined link: extern @568 identifier_node strg: __builtin_j1 lngt: 12 @569 identifier_node strg: j1 lngt: 2 @570 function_decl name: @569 type: @126 srcp: :0 chan: @571 body: undefined link: extern @571 function_decl name: @572 mngl: @573 type: @140 srcp: :0 chan: @574 body: undefined link: extern @572 identifier_node strg: __builtin_j1f lngt: 13 @573 identifier_node strg: j1f lngt: 3 @574 function_decl name: @573 type: @140 srcp: :0 chan: @575 body: undefined link: extern @575 function_decl name: @576 mngl: @577 type: @160 srcp: :0 chan: @578 body: undefined link: extern @576 identifier_node strg: __builtin_j1l lngt: 13 @577 identifier_node strg: j1l lngt: 3 @578 function_decl name: @577 type: @160 srcp: :0 chan: @579 body: undefined link: extern @579 function_decl name: @580 mngl: @581 type: @582 srcp: :0 chan: @583 body: undefined link: extern @580 identifier_node strg: __builtin_jn lngt: 12 @581 identifier_node strg: jn lngt: 2 @582 function_type size: @12 algn: 8 retn: @96 prms: @584 @583 function_decl name: @581 type: @582 srcp: :0 chan: @585 body: undefined link: extern @584 tree_list valu: @3 chan: @586 @585 function_decl name: @587 mngl: @588 type: @589 srcp: :0 chan: @590 body: undefined link: extern @586 tree_list valu: @96 chan: @137 @587 identifier_node strg: __builtin_jnf lngt: 13 @588 identifier_node strg: jnf lngt: 3 @589 function_type size: @12 algn: 8 retn: @93 prms: @591 @590 function_decl name: @588 type: @589 srcp: :0 chan: @592 body: undefined link: extern @591 tree_list valu: @3 chan: @593 @592 function_decl name: @594 mngl: @595 type: @596 srcp: :0 chan: @597 body: undefined link: extern @593 tree_list valu: @93 chan: @137 @594 identifier_node strg: __builtin_jnl lngt: 13 @595 identifier_node strg: jnl lngt: 3 @596 function_type size: @12 algn: 8 retn: @99 prms: @598 @597 function_decl name: @595 type: @596 srcp: :0 chan: @599 body: undefined link: extern @598 tree_list valu: @3 chan: @600 @599 function_decl name: @601 type: @602 srcp: :0 chan: @603 body: undefined link: extern @600 tree_list valu: @99 chan: @137 @601 identifier_node strg: __builtin_lceil lngt: 15 @602 function_type size: @12 algn: 8 retn: @16 prms: @604 @603 function_decl name: @605 type: @606 srcp: :0 chan: @607 body: undefined link: extern @604 tree_list valu: @96 chan: @137 @605 identifier_node strg: __builtin_lceilf lngt: 16 @606 function_type size: @12 algn: 8 retn: @16 prms: @608 @607 function_decl name: @609 type: @610 srcp: :0 chan: @611 body: undefined link: extern @608 tree_list valu: @93 chan: @137 @609 identifier_node strg: __builtin_lceill lngt: 16 @610 function_type size: @12 algn: 8 retn: @16 prms: @612 @611 function_decl name: @613 mngl: @614 type: @615 srcp: :0 chan: @616 body: undefined link: extern @612 tree_list valu: @99 chan: @137 @613 identifier_node strg: __builtin_ldexp lngt: 15 @614 identifier_node strg: ldexp lngt: 5 @615 function_type size: @12 algn: 8 retn: @96 prms: @617 @616 function_decl name: @614 type: @615 srcp: :0 chan: @618 body: undefined link: extern @617 tree_list valu: @96 chan: @619 @618 function_decl name: @620 mngl: @621 type: @622 srcp: :0 chan: @623 body: undefined link: extern @619 tree_list valu: @3 chan: @137 @620 identifier_node strg: __builtin_ldexpf lngt: 16 @621 identifier_node strg: ldexpf lngt: 6 @622 function_type size: @12 algn: 8 retn: @93 prms: @624 @623 function_decl name: @621 type: @622 srcp: :0 chan: @625 body: undefined link: extern @624 tree_list valu: @93 chan: @626 @625 function_decl name: @627 mngl: @628 type: @629 srcp: :0 chan: @630 body: undefined link: extern @626 tree_list valu: @3 chan: @137 @627 identifier_node strg: __builtin_ldexpl lngt: 16 @628 identifier_node strg: ldexpl lngt: 6 @629 function_type size: @12 algn: 8 retn: @99 prms: @631 @630 function_decl name: @628 type: @629 srcp: :0 chan: @632 body: undefined link: extern @631 tree_list valu: @99 chan: @633 @632 function_decl name: @634 type: @602 srcp: :0 chan: @635 body: undefined link: extern @633 tree_list valu: @3 chan: @137 @634 identifier_node strg: __builtin_lfloor lngt: 16 @635 function_decl name: @636 type: @606 srcp: :0 chan: @637 body: undefined link: extern @636 identifier_node strg: __builtin_lfloorf lngt: 17 @637 function_decl name: @638 type: @610 srcp: :0 chan: @639 body: undefined link: extern @638 identifier_node strg: __builtin_lfloorl lngt: 17 @639 function_decl name: @640 mngl: @641 type: @126 srcp: :0 chan: @642 body: undefined link: extern @640 identifier_node strg: __builtin_lgamma lngt: 16 @641 identifier_node strg: lgamma lngt: 6 @642 function_decl name: @641 type: @126 srcp: :0 chan: @643 body: undefined link: extern @643 function_decl name: @644 mngl: @645 type: @140 srcp: :0 chan: @646 body: undefined link: extern @644 identifier_node strg: __builtin_lgammaf lngt: 17 @645 identifier_node strg: lgammaf lngt: 7 @646 function_decl name: @645 type: @140 srcp: :0 chan: @647 body: undefined link: extern @647 function_decl name: @648 mngl: @649 type: @160 srcp: :0 chan: @650 body: undefined link: extern @648 identifier_node strg: __builtin_lgammal lngt: 17 @649 identifier_node strg: lgammal lngt: 7 @650 function_decl name: @649 type: @160 srcp: :0 chan: @651 body: undefined link: extern @651 function_decl name: @652 type: @653 srcp: :0 chan: @654 body: undefined link: extern @652 identifier_node strg: __builtin_llceil lngt: 16 @653 function_type size: @12 algn: 8 retn: @36 prms: @655 @654 function_decl name: @656 type: @657 srcp: :0 chan: @658 body: undefined link: extern @655 tree_list valu: @96 chan: @137 @656 identifier_node strg: __builtin_llceilf lngt: 17 @657 function_type size: @12 algn: 8 retn: @36 prms: @659 @658 function_decl name: @660 type: @661 srcp: :0 chan: @662 body: undefined link: extern @659 tree_list valu: @93 chan: @137 @660 identifier_node strg: __builtin_llceill lngt: 17 @661 function_type size: @12 algn: 8 retn: @36 prms: @663 @662 function_decl name: @664 type: @653 srcp: :0 chan: @665 body: undefined link: extern @663 tree_list valu: @99 chan: @137 @664 identifier_node strg: __builtin_llfloor lngt: 17 @665 function_decl name: @666 type: @657 srcp: :0 chan: @667 body: undefined link: extern @666 identifier_node strg: __builtin_llfloorf lngt: 18 @667 function_decl name: @668 type: @661 srcp: :0 chan: @669 body: undefined link: extern @668 identifier_node strg: __builtin_llfloorl lngt: 18 @669 function_decl name: @670 mngl: @671 type: @653 srcp: :0 chan: @672 body: undefined link: extern @670 identifier_node strg: __builtin_llrint lngt: 16 @671 identifier_node strg: llrint lngt: 6 @672 function_decl name: @671 type: @653 srcp: :0 chan: @673 body: undefined link: extern @673 function_decl name: @674 mngl: @675 type: @657 srcp: :0 chan: @676 body: undefined link: extern @674 identifier_node strg: __builtin_llrintf lngt: 17 @675 identifier_node strg: llrintf lngt: 7 @676 function_decl name: @675 type: @657 srcp: :0 chan: @677 body: undefined link: extern @677 function_decl name: @678 mngl: @679 type: @661 srcp: :0 chan: @680 body: undefined link: extern @678 identifier_node strg: __builtin_llrintl lngt: 17 @679 identifier_node strg: llrintl lngt: 7 @680 function_decl name: @679 type: @661 srcp: :0 chan: @681 body: undefined link: extern @681 function_decl name: @682 mngl: @683 type: @653 srcp: :0 chan: @684 body: undefined link: extern @682 identifier_node strg: __builtin_llround lngt: 17 @683 identifier_node strg: llround lngt: 7 @684 function_decl name: @683 type: @653 srcp: :0 chan: @685 body: undefined link: extern @685 function_decl name: @686 mngl: @687 type: @657 srcp: :0 chan: @688 body: undefined link: extern @686 identifier_node strg: __builtin_llroundf lngt: 18 @687 identifier_node strg: llroundf lngt: 8 @688 function_decl name: @687 type: @657 srcp: :0 chan: @689 body: undefined link: extern @689 function_decl name: @690 mngl: @691 type: @661 srcp: :0 chan: @692 body: undefined link: extern @690 identifier_node strg: __builtin_llroundl lngt: 18 @691 identifier_node strg: llroundl lngt: 8 @692 function_decl name: @691 type: @661 srcp: :0 chan: @693 body: undefined link: extern @693 function_decl name: @694 mngl: @695 type: @126 srcp: :0 chan: @696 body: undefined link: extern @694 identifier_node strg: __builtin_log lngt: 13 @695 identifier_node strg: log lngt: 3 @696 function_decl name: @695 type: @126 srcp: :0 chan: @697 body: undefined link: extern @697 function_decl name: @698 mngl: @699 type: @126 srcp: :0 chan: @700 body: undefined link: extern @698 identifier_node strg: __builtin_log10 lngt: 15 @699 identifier_node strg: log10 lngt: 5 @700 function_decl name: @699 type: @126 srcp: :0 chan: @701 body: undefined link: extern @701 function_decl name: @702 mngl: @703 type: @140 srcp: :0 chan: @704 body: undefined link: extern @702 identifier_node strg: __builtin_log10f lngt: 16 @703 identifier_node strg: log10f lngt: 6 @704 function_decl name: @703 type: @140 srcp: :0 chan: @705 body: undefined link: extern @705 function_decl name: @706 mngl: @707 type: @160 srcp: :0 chan: @708 body: undefined link: extern @706 identifier_node strg: __builtin_log10l lngt: 16 @707 identifier_node strg: log10l lngt: 6 @708 function_decl name: @707 type: @160 srcp: :0 chan: @709 body: undefined link: extern @709 function_decl name: @710 mngl: @711 type: @126 srcp: :0 chan: @712 body: undefined link: extern @710 identifier_node strg: __builtin_log1p lngt: 15 @711 identifier_node strg: log1p lngt: 5 @712 function_decl name: @711 type: @126 srcp: :0 chan: @713 body: undefined link: extern @713 function_decl name: @714 mngl: @715 type: @140 srcp: :0 chan: @716 body: undefined link: extern @714 identifier_node strg: __builtin_log1pf lngt: 16 @715 identifier_node strg: log1pf lngt: 6 @716 function_decl name: @715 type: @140 srcp: :0 chan: @717 body: undefined link: extern @717 function_decl name: @718 mngl: @719 type: @160 srcp: :0 chan: @720 body: undefined link: extern @718 identifier_node strg: __builtin_log1pl lngt: 16 @719 identifier_node strg: log1pl lngt: 6 @720 function_decl name: @719 type: @160 srcp: :0 chan: @721 body: undefined link: extern @721 function_decl name: @722 mngl: @723 type: @126 srcp: :0 chan: @724 body: undefined link: extern @722 identifier_node strg: __builtin_log2 lngt: 14 @723 identifier_node strg: log2 lngt: 4 @724 function_decl name: @723 type: @126 srcp: :0 chan: @725 body: undefined link: extern @725 function_decl name: @726 mngl: @727 type: @140 srcp: :0 chan: @728 body: undefined link: extern @726 identifier_node strg: __builtin_log2f lngt: 15 @727 identifier_node strg: log2f lngt: 5 @728 function_decl name: @727 type: @140 srcp: :0 chan: @729 body: undefined link: extern @729 function_decl name: @730 mngl: @731 type: @160 srcp: :0 chan: @732 body: undefined link: extern @730 identifier_node strg: __builtin_log2l lngt: 15 @731 identifier_node strg: log2l lngt: 5 @732 function_decl name: @731 type: @160 srcp: :0 chan: @733 body: undefined link: extern @733 function_decl name: @734 mngl: @735 type: @126 srcp: :0 chan: @736 body: undefined link: extern @734 identifier_node strg: __builtin_logb lngt: 14 @735 identifier_node strg: logb lngt: 4 @736 function_decl name: @735 type: @126 srcp: :0 chan: @737 body: undefined link: extern @737 function_decl name: @738 mngl: @739 type: @140 srcp: :0 chan: @740 body: undefined link: extern @738 identifier_node strg: __builtin_logbf lngt: 15 @739 identifier_node strg: logbf lngt: 5 @740 function_decl name: @739 type: @140 srcp: :0 chan: @741 body: undefined link: extern @741 function_decl name: @742 mngl: @743 type: @160 srcp: :0 chan: @744 body: undefined link: extern @742 identifier_node strg: __builtin_logbl lngt: 15 @743 identifier_node strg: logbl lngt: 5 @744 function_decl name: @743 type: @160 srcp: :0 chan: @745 body: undefined link: extern @745 function_decl name: @746 mngl: @747 type: @140 srcp: :0 chan: @748 body: undefined link: extern @746 identifier_node strg: __builtin_logf lngt: 14 @747 identifier_node strg: logf lngt: 4 @748 function_decl name: @747 type: @140 srcp: :0 chan: @749 body: undefined link: extern @749 function_decl name: @750 mngl: @751 type: @160 srcp: :0 chan: @752 body: undefined link: extern @750 identifier_node strg: __builtin_logl lngt: 14 @751 identifier_node strg: logl lngt: 4 @752 function_decl name: @751 type: @160 srcp: :0 chan: @753 body: undefined link: extern @753 function_decl name: @754 mngl: @755 type: @602 srcp: :0 chan: @756 body: undefined link: extern @754 identifier_node strg: __builtin_lrint lngt: 15 @755 identifier_node strg: lrint lngt: 5 @756 function_decl name: @755 type: @602 srcp: :0 chan: @757 body: undefined link: extern @757 function_decl name: @758 mngl: @759 type: @606 srcp: :0 chan: @760 body: undefined link: extern @758 identifier_node strg: __builtin_lrintf lngt: 16 @759 identifier_node strg: lrintf lngt: 6 @760 function_decl name: @759 type: @606 srcp: :0 chan: @761 body: undefined link: extern @761 function_decl name: @762 mngl: @763 type: @610 srcp: :0 chan: @764 body: undefined link: extern @762 identifier_node strg: __builtin_lrintl lngt: 16 @763 identifier_node strg: lrintl lngt: 6 @764 function_decl name: @763 type: @610 srcp: :0 chan: @765 body: undefined link: extern @765 function_decl name: @766 mngl: @767 type: @602 srcp: :0 chan: @768 body: undefined link: extern @766 identifier_node strg: __builtin_lround lngt: 16 @767 identifier_node strg: lround lngt: 6 @768 function_decl name: @767 type: @602 srcp: :0 chan: @769 body: undefined link: extern @769 function_decl name: @770 mngl: @771 type: @606 srcp: :0 chan: @772 body: undefined link: extern @770 identifier_node strg: __builtin_lroundf lngt: 17 @771 identifier_node strg: lroundf lngt: 7 @772 function_decl name: @771 type: @606 srcp: :0 chan: @773 body: undefined link: extern @773 function_decl name: @774 mngl: @775 type: @610 srcp: :0 chan: @776 body: undefined link: extern @774 identifier_node strg: __builtin_lroundl lngt: 17 @775 identifier_node strg: lroundl lngt: 7 @776 function_decl name: @775 type: @610 srcp: :0 chan: @777 body: undefined link: extern @777 function_decl name: @778 mngl: @779 type: @780 srcp: :0 chan: @781 body: undefined link: extern @778 identifier_node strg: __builtin_modf lngt: 14 @779 identifier_node strg: modf lngt: 4 @780 function_type size: @12 algn: 8 retn: @96 prms: @782 @781 function_decl name: @779 type: @780 srcp: :0 chan: @783 body: undefined link: extern @782 tree_list valu: @96 chan: @784 @783 function_decl name: @785 mngl: @786 type: @787 srcp: :0 chan: @788 body: undefined link: extern @784 tree_list valu: @789 chan: @137 @785 identifier_node strg: __builtin_modff lngt: 15 @786 identifier_node strg: modff lngt: 5 @787 function_type size: @12 algn: 8 retn: @93 prms: @790 @788 function_decl name: @786 type: @787 srcp: :0 chan: @791 body: undefined link: extern @789 pointer_type size: @22 algn: 64 ptd : @96 @790 tree_list valu: @93 chan: @792 @791 function_decl name: @793 mngl: @794 type: @795 srcp: :0 chan: @796 body: undefined link: extern @792 tree_list valu: @797 chan: @137 @793 identifier_node strg: __builtin_modfl lngt: 15 @794 identifier_node strg: modfl lngt: 5 @795 function_type size: @12 algn: 8 retn: @99 prms: @798 @796 function_decl name: @794 type: @795 srcp: :0 chan: @799 body: undefined link: extern @797 pointer_type size: @22 algn: 64 ptd : @93 @798 tree_list valu: @99 chan: @800 @799 function_decl name: @801 type: @802 srcp: :0 chan: @803 body: undefined link: extern @800 tree_list valu: @804 chan: @137 @801 identifier_node strg: __builtin_nan lngt: 13 @802 function_type size: @12 algn: 8 retn: @96 prms: @805 @803 function_decl name: @806 type: @807 srcp: :0 chan: @808 body: undefined link: extern @804 pointer_type size: @22 algn: 64 ptd : @99 @805 tree_list valu: @809 chan: @137 @806 identifier_node strg: __builtin_nanf lngt: 14 @807 function_type size: @12 algn: 8 retn: @93 prms: @810 @808 function_decl name: @811 type: @812 srcp: :0 chan: @813 body: undefined link: extern @809 pointer_type size: @22 algn: 64 ptd : @814 @810 tree_list valu: @809 chan: @137 @811 identifier_node strg: __builtin_nanl lngt: 14 @812 function_type size: @12 algn: 8 retn: @99 prms: @815 @813 function_decl name: @816 type: @802 srcp: :0 chan: @817 body: undefined link: extern @814 integer_type qual: c name: @4 unql: @9 size: @12 algn: 8 prec: 8 sign: signed min : @13 max : @14 @815 tree_list valu: @809 chan: @137 @816 identifier_node strg: __builtin_nans lngt: 14 @817 function_decl name: @818 type: @807 srcp: :0 chan: @819 body: undefined link: extern @818 identifier_node strg: __builtin_nansf lngt: 15 @819 function_decl name: @820 type: @812 srcp: :0 chan: @821 body: undefined link: extern @820 identifier_node strg: __builtin_nansl lngt: 15 @821 function_decl name: @822 mngl: @823 type: @126 srcp: :0 chan: @824 body: undefined link: extern @822 identifier_node strg: __builtin_nearbyint lngt: 19 @823 identifier_node strg: nearbyint lngt: 9 @824 function_decl name: @823 type: @126 srcp: :0 chan: @825 body: undefined link: extern @825 function_decl name: @826 mngl: @827 type: @140 srcp: :0 chan: @828 body: undefined link: extern @826 identifier_node strg: __builtin_nearbyintf lngt: 20 @827 identifier_node strg: nearbyintf lngt: 10 @828 function_decl name: @827 type: @140 srcp: :0 chan: @829 body: undefined link: extern @829 function_decl name: @830 mngl: @831 type: @160 srcp: :0 chan: @832 body: undefined link: extern @830 identifier_node strg: __builtin_nearbyintl lngt: 20 @831 identifier_node strg: nearbyintl lngt: 10 @832 function_decl name: @831 type: @160 srcp: :0 chan: @833 body: undefined link: extern @833 function_decl name: @834 mngl: @835 type: @198 srcp: :0 chan: @836 body: undefined link: extern @834 identifier_node strg: __builtin_nextafter lngt: 19 @835 identifier_node strg: nextafter lngt: 9 @836 function_decl name: @835 type: @198 srcp: :0 chan: @837 body: undefined link: extern @837 function_decl name: @838 mngl: @839 type: @205 srcp: :0 chan: @840 body: undefined link: extern @838 identifier_node strg: __builtin_nextafterf lngt: 20 @839 identifier_node strg: nextafterf lngt: 10 @840 function_decl name: @839 type: @205 srcp: :0 chan: @841 body: undefined link: extern @841 function_decl name: @842 mngl: @843 type: @212 srcp: :0 chan: @844 body: undefined link: extern @842 identifier_node strg: __builtin_nextafterl lngt: 20 @843 identifier_node strg: nextafterl lngt: 10 @844 function_decl name: @843 type: @212 srcp: :0 chan: @845 body: undefined link: extern @845 function_decl name: @846 mngl: @847 type: @848 srcp: :0 chan: @849 body: undefined link: extern @846 identifier_node strg: __builtin_nexttoward lngt: 20 @847 identifier_node strg: nexttoward lngt: 10 @848 function_type size: @12 algn: 8 retn: @96 prms: @850 @849 function_decl name: @847 type: @848 srcp: :0 chan: @851 body: undefined link: extern @850 tree_list valu: @96 chan: @852 @851 function_decl name: @853 mngl: @854 type: @855 srcp: :0 chan: @856 body: undefined link: extern @852 tree_list valu: @99 chan: @137 @853 identifier_node strg: __builtin_nexttowardf lngt: 21 @854 identifier_node strg: nexttowardf lngt: 11 @855 function_type size: @12 algn: 8 retn: @93 prms: @857 @856 function_decl name: @854 type: @855 srcp: :0 chan: @858 body: undefined link: extern @857 tree_list valu: @93 chan: @859 @858 function_decl name: @860 mngl: @861 type: @212 srcp: :0 chan: @862 body: undefined link: extern @859 tree_list valu: @99 chan: @137 @860 identifier_node strg: __builtin_nexttowardl lngt: 21 @861 identifier_node strg: nexttowardl lngt: 11 @862 function_decl name: @861 type: @212 srcp: :0 chan: @863 body: undefined link: extern @863 function_decl name: @864 mngl: @865 type: @198 srcp: :0 chan: @866 body: undefined link: extern @864 identifier_node strg: __builtin_pow lngt: 13 @865 identifier_node strg: pow lngt: 3 @866 function_decl name: @865 type: @198 srcp: :0 chan: @867 body: undefined link: extern @867 function_decl name: @868 mngl: @869 type: @126 srcp: :0 chan: @870 body: undefined link: extern @868 identifier_node strg: __builtin_pow10 lngt: 15 @869 identifier_node strg: pow10 lngt: 5 @870 function_decl name: @869 type: @126 srcp: :0 chan: @871 body: undefined link: extern @871 function_decl name: @872 mngl: @873 type: @140 srcp: :0 chan: @874 body: undefined link: extern @872 identifier_node strg: __builtin_pow10f lngt: 16 @873 identifier_node strg: pow10f lngt: 6 @874 function_decl name: @873 type: @140 srcp: :0 chan: @875 body: undefined link: extern @875 function_decl name: @876 mngl: @877 type: @160 srcp: :0 chan: @878 body: undefined link: extern @876 identifier_node strg: __builtin_pow10l lngt: 16 @877 identifier_node strg: pow10l lngt: 6 @878 function_decl name: @877 type: @160 srcp: :0 chan: @879 body: undefined link: extern @879 function_decl name: @880 mngl: @881 type: @205 srcp: :0 chan: @882 body: undefined link: extern @880 identifier_node strg: __builtin_powf lngt: 14 @881 identifier_node strg: powf lngt: 4 @882 function_decl name: @881 type: @205 srcp: :0 chan: @883 body: undefined link: extern @883 function_decl name: @884 type: @615 srcp: :0 chan: @885 body: undefined link: extern @884 identifier_node strg: __builtin_powi lngt: 14 @885 function_decl name: @886 type: @622 srcp: :0 chan: @887 body: undefined link: extern @886 identifier_node strg: __builtin_powif lngt: 15 @887 function_decl name: @888 type: @629 srcp: :0 chan: @889 body: undefined link: extern @888 identifier_node strg: __builtin_powil lngt: 15 @889 function_decl name: @890 mngl: @891 type: @212 srcp: :0 chan: @892 body: undefined link: extern @890 identifier_node strg: __builtin_powl lngt: 14 @891 identifier_node strg: powl lngt: 4 @892 function_decl name: @891 type: @212 srcp: :0 chan: @893 body: undefined link: extern @893 function_decl name: @894 mngl: @895 type: @198 srcp: :0 chan: @896 body: undefined link: extern @894 identifier_node strg: __builtin_remainder lngt: 19 @895 identifier_node strg: remainder lngt: 9 @896 function_decl name: @895 type: @198 srcp: :0 chan: @897 body: undefined link: extern @897 function_decl name: @898 mngl: @899 type: @205 srcp: :0 chan: @900 body: undefined link: extern @898 identifier_node strg: __builtin_remainderf lngt: 20 @899 identifier_node strg: remainderf lngt: 10 @900 function_decl name: @899 type: @205 srcp: :0 chan: @901 body: undefined link: extern @901 function_decl name: @902 mngl: @903 type: @212 srcp: :0 chan: @904 body: undefined link: extern @902 identifier_node strg: __builtin_remainderl lngt: 20 @903 identifier_node strg: remainderl lngt: 10 @904 function_decl name: @903 type: @212 srcp: :0 chan: @905 body: undefined link: extern @905 function_decl name: @906 mngl: @907 type: @908 srcp: :0 chan: @909 body: undefined link: extern @906 identifier_node strg: __builtin_remquo lngt: 16 @907 identifier_node strg: remquo lngt: 6 @908 function_type size: @12 algn: 8 retn: @96 prms: @910 @909 function_decl name: @907 type: @908 srcp: :0 chan: @911 body: undefined link: extern @910 tree_list valu: @96 chan: @912 @911 function_decl name: @913 mngl: @914 type: @915 srcp: :0 chan: @916 body: undefined link: extern @912 tree_list valu: @96 chan: @917 @913 identifier_node strg: __builtin_remquof lngt: 17 @914 identifier_node strg: remquof lngt: 7 @915 function_type size: @12 algn: 8 retn: @93 prms: @918 @916 function_decl name: @914 type: @915 srcp: :0 chan: @919 body: undefined link: extern @917 tree_list valu: @488 chan: @137 @918 tree_list valu: @93 chan: @920 @919 function_decl name: @921 mngl: @922 type: @923 srcp: :0 chan: @924 body: undefined link: extern @920 tree_list valu: @93 chan: @925 @921 identifier_node strg: __builtin_remquol lngt: 17 @922 identifier_node strg: remquol lngt: 7 @923 function_type size: @12 algn: 8 retn: @99 prms: @926 @924 function_decl name: @922 type: @923 srcp: :0 chan: @927 body: undefined link: extern @925 tree_list valu: @488 chan: @137 @926 tree_list valu: @99 chan: @928 @927 function_decl name: @929 mngl: @930 type: @126 srcp: :0 chan: @931 body: undefined link: extern @928 tree_list valu: @99 chan: @932 @929 identifier_node strg: __builtin_rint lngt: 14 @930 identifier_node strg: rint lngt: 4 @931 function_decl name: @930 type: @126 srcp: :0 chan: @933 body: undefined link: extern @932 tree_list valu: @488 chan: @137 @933 function_decl name: @934 mngl: @935 type: @140 srcp: :0 chan: @936 body: undefined link: extern @934 identifier_node strg: __builtin_rintf lngt: 15 @935 identifier_node strg: rintf lngt: 5 @936 function_decl name: @935 type: @140 srcp: :0 chan: @937 body: undefined link: extern @937 function_decl name: @938 mngl: @939 type: @160 srcp: :0 chan: @940 body: undefined link: extern @938 identifier_node strg: __builtin_rintl lngt: 15 @939 identifier_node strg: rintl lngt: 5 @940 function_decl name: @939 type: @160 srcp: :0 chan: @941 body: undefined link: extern @941 function_decl name: @942 mngl: @943 type: @126 srcp: :0 chan: @944 body: undefined link: extern @942 identifier_node strg: __builtin_round lngt: 15 @943 identifier_node strg: round lngt: 5 @944 function_decl name: @943 type: @126 srcp: :0 chan: @945 body: undefined link: extern @945 function_decl name: @946 mngl: @947 type: @140 srcp: :0 chan: @948 body: undefined link: extern @946 identifier_node strg: __builtin_roundf lngt: 16 @947 identifier_node strg: roundf lngt: 6 @948 function_decl name: @947 type: @140 srcp: :0 chan: @949 body: undefined link: extern @949 function_decl name: @950 mngl: @951 type: @160 srcp: :0 chan: @952 body: undefined link: extern @950 identifier_node strg: __builtin_roundl lngt: 16 @951 identifier_node strg: roundl lngt: 6 @952 function_decl name: @951 type: @160 srcp: :0 chan: @953 body: undefined link: extern @953 function_decl name: @954 mngl: @955 type: @198 srcp: :0 chan: @956 body: undefined link: extern @954 identifier_node strg: __builtin_scalb lngt: 15 @955 identifier_node strg: scalb lngt: 5 @956 function_decl name: @955 type: @198 srcp: :0 chan: @957 body: undefined link: extern @957 function_decl name: @958 mngl: @959 type: @205 srcp: :0 chan: @960 body: undefined link: extern @958 identifier_node strg: __builtin_scalbf lngt: 16 @959 identifier_node strg: scalbf lngt: 6 @960 function_decl name: @959 type: @205 srcp: :0 chan: @961 body: undefined link: extern @961 function_decl name: @962 mngl: @963 type: @212 srcp: :0 chan: @964 body: undefined link: extern @962 identifier_node strg: __builtin_scalbl lngt: 16 @963 identifier_node strg: scalbl lngt: 6 @964 function_decl name: @963 type: @212 srcp: :0 chan: @965 body: undefined link: extern @965 function_decl name: @966 mngl: @967 type: @968 srcp: :0 chan: @969 body: undefined link: extern @966 identifier_node strg: __builtin_scalbln lngt: 17 @967 identifier_node strg: scalbln lngt: 7 @968 function_type size: @12 algn: 8 retn: @96 prms: @970 @969 function_decl name: @967 type: @968 srcp: :0 chan: @971 body: undefined link: extern @970 tree_list valu: @96 chan: @972 @971 function_decl name: @973 mngl: @974 type: @975 srcp: :0 chan: @976 body: undefined link: extern @972 tree_list valu: @16 chan: @137 @973 identifier_node strg: __builtin_scalblnf lngt: 18 @974 identifier_node strg: scalblnf lngt: 8 @975 function_type size: @12 algn: 8 retn: @93 prms: @977 @976 function_decl name: @974 type: @975 srcp: :0 chan: @978 body: undefined link: extern @977 tree_list valu: @93 chan: @979 @978 function_decl name: @980 mngl: @981 type: @982 srcp: :0 chan: @983 body: undefined link: extern @979 tree_list valu: @16 chan: @137 @980 identifier_node strg: __builtin_scalblnl lngt: 18 @981 identifier_node strg: scalblnl lngt: 8 @982 function_type size: @12 algn: 8 retn: @99 prms: @984 @983 function_decl name: @981 type: @982 srcp: :0 chan: @985 body: undefined link: extern @984 tree_list valu: @99 chan: @986 @985 function_decl name: @987 mngl: @988 type: @615 srcp: :0 chan: @989 body: undefined link: extern @986 tree_list valu: @16 chan: @137 @987 identifier_node strg: __builtin_scalbn lngt: 16 @988 identifier_node strg: scalbn lngt: 6 @989 function_decl name: @988 type: @615 srcp: :0 chan: @990 body: undefined link: extern @990 function_decl name: @991 mngl: @992 type: @622 srcp: :0 chan: @993 body: undefined link: extern @991 identifier_node strg: __builtin_scalbnf lngt: 17 @992 identifier_node strg: scalbnf lngt: 7 @993 function_decl name: @992 type: @622 srcp: :0 chan: @994 body: undefined link: extern @994 function_decl name: @995 mngl: @996 type: @629 srcp: :0 chan: @997 body: undefined link: extern @995 identifier_node strg: __builtin_scalbnl lngt: 17 @996 identifier_node strg: scalbnl lngt: 7 @997 function_decl name: @996 type: @629 srcp: :0 chan: @998 body: undefined link: extern @998 function_decl name: @999 mngl: @1000 type: @534 srcp: :0 chan: @1001 body: undefined link: extern @999 identifier_node strg: __builtin_signbit lngt: 17 @1000 identifier_node strg: signbit lngt: 7 @1001 function_decl name: @1000 type: @534 srcp: :0 chan: @1002 body: undefined link: extern @1002 function_decl name: @1003 mngl: @1004 type: @540 srcp: :0 chan: @1005 body: undefined link: extern @1003 identifier_node strg: __builtin_signbitf lngt: 18 @1004 identifier_node strg: signbitf lngt: 8 @1005 function_decl name: @1004 type: @540 srcp: :0 chan: @1006 body: undefined link: extern @1006 function_decl name: @1007 mngl: @1008 type: @546 srcp: :0 chan: @1009 body: undefined link: extern @1007 identifier_node strg: __builtin_signbitl lngt: 18 @1008 identifier_node strg: signbitl lngt: 8 @1009 function_decl name: @1008 type: @546 srcp: :0 chan: @1010 body: undefined link: extern @1010 function_decl name: @1011 mngl: @1012 type: @126 srcp: :0 chan: @1013 body: undefined link: extern @1011 identifier_node strg: __builtin_significand lngt: 21 @1012 identifier_node strg: significand lngt: 11 @1013 function_decl name: @1012 type: @126 srcp: :0 chan: @1014 body: undefined link: extern @1014 function_decl name: @1015 mngl: @1016 type: @140 srcp: :0 chan: @1017 body: undefined link: extern @1015 identifier_node strg: __builtin_significandf lngt: 22 @1016 identifier_node strg: significandf lngt: 12 @1017 function_decl name: @1016 type: @140 srcp: :0 chan: @1018 body: undefined link: extern @1018 function_decl name: @1019 mngl: @1020 type: @160 srcp: :0 chan: @1021 body: undefined link: extern @1019 identifier_node strg: __builtin_significandl lngt: 22 @1020 identifier_node strg: significandl lngt: 12 @1021 function_decl name: @1020 type: @160 srcp: :0 chan: @1022 body: undefined link: extern @1022 function_decl name: @1023 mngl: @1024 type: @126 srcp: :0 chan: @1025 body: undefined link: extern @1023 identifier_node strg: __builtin_sin lngt: 13 @1024 identifier_node strg: sin lngt: 3 @1025 function_decl name: @1024 type: @126 srcp: :0 chan: @1026 body: undefined link: extern @1026 function_decl name: @1027 mngl: @1028 type: @1029 srcp: :0 chan: @1030 body: undefined link: extern @1027 identifier_node strg: __builtin_sincos lngt: 16 @1028 identifier_node strg: sincos lngt: 6 @1029 function_type size: @12 algn: 8 retn: @115 prms: @1031 @1030 function_decl name: @1028 type: @1029 srcp: :0 chan: @1032 body: undefined link: extern @1031 tree_list valu: @96 chan: @1033 @1032 function_decl name: @1034 mngl: @1035 type: @1036 srcp: :0 chan: @1037 body: undefined link: extern @1033 tree_list valu: @789 chan: @1038 @1034 identifier_node strg: __builtin_sincosf lngt: 17 @1035 identifier_node strg: sincosf lngt: 7 @1036 function_type size: @12 algn: 8 retn: @115 prms: @1039 @1037 function_decl name: @1035 type: @1036 srcp: :0 chan: @1040 body: undefined link: extern @1038 tree_list valu: @789 chan: @137 @1039 tree_list valu: @93 chan: @1041 @1040 function_decl name: @1042 mngl: @1043 type: @1044 srcp: :0 chan: @1045 body: undefined link: extern @1041 tree_list valu: @797 chan: @1046 @1042 identifier_node strg: __builtin_sincosl lngt: 17 @1043 identifier_node strg: sincosl lngt: 7 @1044 function_type size: @12 algn: 8 retn: @115 prms: @1047 @1045 function_decl name: @1043 type: @1044 srcp: :0 chan: @1048 body: undefined link: extern @1046 tree_list valu: @797 chan: @137 @1047 tree_list valu: @99 chan: @1049 @1048 function_decl name: @1050 mngl: @1051 type: @140 srcp: :0 chan: @1052 body: undefined link: extern @1049 tree_list valu: @804 chan: @1053 @1050 identifier_node strg: __builtin_sinf lngt: 14 @1051 identifier_node strg: sinf lngt: 4 @1052 function_decl name: @1051 type: @140 srcp: :0 chan: @1054 body: undefined link: extern @1053 tree_list valu: @804 chan: @137 @1054 function_decl name: @1055 mngl: @1056 type: @126 srcp: :0 chan: @1057 body: undefined link: extern @1055 identifier_node strg: __builtin_sinh lngt: 14 @1056 identifier_node strg: sinh lngt: 4 @1057 function_decl name: @1056 type: @126 srcp: :0 chan: @1058 body: undefined link: extern @1058 function_decl name: @1059 mngl: @1060 type: @140 srcp: :0 chan: @1061 body: undefined link: extern @1059 identifier_node strg: __builtin_sinhf lngt: 15 @1060 identifier_node strg: sinhf lngt: 5 @1061 function_decl name: @1060 type: @140 srcp: :0 chan: @1062 body: undefined link: extern @1062 function_decl name: @1063 mngl: @1064 type: @160 srcp: :0 chan: @1065 body: undefined link: extern @1063 identifier_node strg: __builtin_sinhl lngt: 15 @1064 identifier_node strg: sinhl lngt: 5 @1065 function_decl name: @1064 type: @160 srcp: :0 chan: @1066 body: undefined link: extern @1066 function_decl name: @1067 mngl: @1068 type: @160 srcp: :0 chan: @1069 body: undefined link: extern @1067 identifier_node strg: __builtin_sinl lngt: 14 @1068 identifier_node strg: sinl lngt: 4 @1069 function_decl name: @1068 type: @160 srcp: :0 chan: @1070 body: undefined link: extern @1070 function_decl name: @1071 mngl: @1072 type: @126 srcp: :0 chan: @1073 body: undefined link: extern @1071 identifier_node strg: __builtin_sqrt lngt: 14 @1072 identifier_node strg: sqrt lngt: 4 @1073 function_decl name: @1072 type: @126 srcp: :0 chan: @1074 body: undefined link: extern @1074 function_decl name: @1075 mngl: @1076 type: @140 srcp: :0 chan: @1077 body: undefined link: extern @1075 identifier_node strg: __builtin_sqrtf lngt: 15 @1076 identifier_node strg: sqrtf lngt: 5 @1077 function_decl name: @1076 type: @140 srcp: :0 chan: @1078 body: undefined link: extern @1078 function_decl name: @1079 mngl: @1080 type: @160 srcp: :0 chan: @1081 body: undefined link: extern @1079 identifier_node strg: __builtin_sqrtl lngt: 15 @1080 identifier_node strg: sqrtl lngt: 5 @1081 function_decl name: @1080 type: @160 srcp: :0 chan: @1082 body: undefined link: extern @1082 function_decl name: @1083 mngl: @1084 type: @126 srcp: :0 chan: @1085 body: undefined link: extern @1083 identifier_node strg: __builtin_tan lngt: 13 @1084 identifier_node strg: tan lngt: 3 @1085 function_decl name: @1084 type: @126 srcp: :0 chan: @1086 body: undefined link: extern @1086 function_decl name: @1087 mngl: @1088 type: @140 srcp: :0 chan: @1089 body: undefined link: extern @1087 identifier_node strg: __builtin_tanf lngt: 14 @1088 identifier_node strg: tanf lngt: 4 @1089 function_decl name: @1088 type: @140 srcp: :0 chan: @1090 body: undefined link: extern @1090 function_decl name: @1091 mngl: @1092 type: @126 srcp: :0 chan: @1093 body: undefined link: extern @1091 identifier_node strg: __builtin_tanh lngt: 14 @1092 identifier_node strg: tanh lngt: 4 @1093 function_decl name: @1092 type: @126 srcp: :0 chan: @1094 body: undefined link: extern @1094 function_decl name: @1095 mngl: @1096 type: @140 srcp: :0 chan: @1097 body: undefined link: extern @1095 identifier_node strg: __builtin_tanhf lngt: 15 @1096 identifier_node strg: tanhf lngt: 5 @1097 function_decl name: @1096 type: @140 srcp: :0 chan: @1098 body: undefined link: extern @1098 function_decl name: @1099 mngl: @1100 type: @160 srcp: :0 chan: @1101 body: undefined link: extern @1099 identifier_node strg: __builtin_tanhl lngt: 15 @1100 identifier_node strg: tanhl lngt: 5 @1101 function_decl name: @1100 type: @160 srcp: :0 chan: @1102 body: undefined link: extern @1102 function_decl name: @1103 mngl: @1104 type: @160 srcp: :0 chan: @1105 body: undefined link: extern @1103 identifier_node strg: __builtin_tanl lngt: 14 @1104 identifier_node strg: tanl lngt: 4 @1105 function_decl name: @1104 type: @160 srcp: :0 chan: @1106 body: undefined link: extern @1106 function_decl name: @1107 mngl: @1108 type: @126 srcp: :0 chan: @1109 body: undefined link: extern @1107 identifier_node strg: __builtin_tgamma lngt: 16 @1108 identifier_node strg: tgamma lngt: 6 @1109 function_decl name: @1108 type: @126 srcp: :0 chan: @1110 body: undefined link: extern @1110 function_decl name: @1111 mngl: @1112 type: @140 srcp: :0 chan: @1113 body: undefined link: extern @1111 identifier_node strg: __builtin_tgammaf lngt: 17 @1112 identifier_node strg: tgammaf lngt: 7 @1113 function_decl name: @1112 type: @140 srcp: :0 chan: @1114 body: undefined link: extern @1114 function_decl name: @1115 mngl: @1116 type: @160 srcp: :0 chan: @1117 body: undefined link: extern @1115 identifier_node strg: __builtin_tgammal lngt: 17 @1116 identifier_node strg: tgammal lngt: 7 @1117 function_decl name: @1116 type: @160 srcp: :0 chan: @1118 body: undefined link: extern @1118 function_decl name: @1119 mngl: @1120 type: @126 srcp: :0 chan: @1121 body: undefined link: extern @1119 identifier_node strg: __builtin_trunc lngt: 15 @1120 identifier_node strg: trunc lngt: 5 @1121 function_decl name: @1120 type: @126 srcp: :0 chan: @1122 body: undefined link: extern @1122 function_decl name: @1123 mngl: @1124 type: @140 srcp: :0 chan: @1125 body: undefined link: extern @1123 identifier_node strg: __builtin_truncf lngt: 16 @1124 identifier_node strg: truncf lngt: 6 @1125 function_decl name: @1124 type: @140 srcp: :0 chan: @1126 body: undefined link: extern @1126 function_decl name: @1127 mngl: @1128 type: @160 srcp: :0 chan: @1129 body: undefined link: extern @1127 identifier_node strg: __builtin_truncl lngt: 16 @1128 identifier_node strg: truncl lngt: 6 @1129 function_decl name: @1128 type: @160 srcp: :0 chan: @1130 body: undefined link: extern @1130 function_decl name: @1131 mngl: @1132 type: @126 srcp: :0 chan: @1133 body: undefined link: extern @1131 identifier_node strg: __builtin_y0 lngt: 12 @1132 identifier_node strg: y0 lngt: 2 @1133 function_decl name: @1132 type: @126 srcp: :0 chan: @1134 body: undefined link: extern @1134 function_decl name: @1135 mngl: @1136 type: @140 srcp: :0 chan: @1137 body: undefined link: extern @1135 identifier_node strg: __builtin_y0f lngt: 13 @1136 identifier_node strg: y0f lngt: 3 @1137 function_decl name: @1136 type: @140 srcp: :0 chan: @1138 body: undefined link: extern @1138 function_decl name: @1139 mngl: @1140 type: @160 srcp: :0 chan: @1141 body: undefined link: extern @1139 identifier_node strg: __builtin_y0l lngt: 13 @1140 identifier_node strg: y0l lngt: 3 @1141 function_decl name: @1140 type: @160 srcp: :0 chan: @1142 body: undefined link: extern @1142 function_decl name: @1143 mngl: @1144 type: @126 srcp: :0 chan: @1145 body: undefined link: extern @1143 identifier_node strg: __builtin_y1 lngt: 12 @1144 identifier_node strg: y1 lngt: 2 @1145 function_decl name: @1144 type: @126 srcp: :0 chan: @1146 body: undefined link: extern @1146 function_decl name: @1147 mngl: @1148 type: @140 srcp: :0 chan: @1149 body: undefined link: extern @1147 identifier_node strg: __builtin_y1f lngt: 13 @1148 identifier_node strg: y1f lngt: 3 @1149 function_decl name: @1148 type: @140 srcp: :0 chan: @1150 body: undefined link: extern @1150 function_decl name: @1151 mngl: @1152 type: @160 srcp: :0 chan: @1153 body: undefined link: extern @1151 identifier_node strg: __builtin_y1l lngt: 13 @1152 identifier_node strg: y1l lngt: 3 @1153 function_decl name: @1152 type: @160 srcp: :0 chan: @1154 body: undefined link: extern @1154 function_decl name: @1155 mngl: @1156 type: @582 srcp: :0 chan: @1157 body: undefined link: extern @1155 identifier_node strg: __builtin_yn lngt: 12 @1156 identifier_node strg: yn lngt: 2 @1157 function_decl name: @1156 type: @582 srcp: :0 chan: @1158 body: undefined link: extern @1158 function_decl name: @1159 mngl: @1160 type: @589 srcp: :0 chan: @1161 body: undefined link: extern @1159 identifier_node strg: __builtin_ynf lngt: 13 @1160 identifier_node strg: ynf lngt: 3 @1161 function_decl name: @1160 type: @589 srcp: :0 chan: @1162 body: undefined link: extern @1162 function_decl name: @1163 mngl: @1164 type: @596 srcp: :0 chan: @1165 body: undefined link: extern @1163 identifier_node strg: __builtin_ynl lngt: 13 @1164 identifier_node strg: ynl lngt: 3 @1165 function_decl name: @1164 type: @596 srcp: :0 chan: @1166 body: undefined link: extern @1166 function_decl name: @1167 mngl: @1168 type: @1169 srcp: :0 chan: @1170 body: undefined link: extern @1167 identifier_node strg: __builtin_cabs lngt: 14 @1168 identifier_node strg: cabs lngt: 4 @1169 function_type size: @12 algn: 8 retn: @96 prms: @1171 @1170 function_decl name: @1168 type: @1169 srcp: :0 chan: @1172 body: undefined link: extern @1171 tree_list valu: @108 chan: @137 @1172 function_decl name: @1173 mngl: @1174 type: @1175 srcp: :0 chan: @1176 body: undefined link: extern @1173 identifier_node strg: __builtin_cabsf lngt: 15 @1174 identifier_node strg: cabsf lngt: 5 @1175 function_type size: @12 algn: 8 retn: @93 prms: @1177 @1176 function_decl name: @1174 type: @1175 srcp: :0 chan: @1178 body: undefined link: extern @1177 tree_list valu: @105 chan: @137 @1178 function_decl name: @1179 mngl: @1180 type: @1181 srcp: :0 chan: @1182 body: undefined link: extern @1179 identifier_node strg: __builtin_cabsl lngt: 15 @1180 identifier_node strg: cabsl lngt: 5 @1181 function_type size: @12 algn: 8 retn: @99 prms: @1183 @1182 function_decl name: @1180 type: @1181 srcp: :0 chan: @1184 body: undefined link: extern @1183 tree_list valu: @111 chan: @137 @1184 function_decl name: @1185 mngl: @1186 type: @1187 srcp: :0 chan: @1188 body: undefined link: extern @1185 identifier_node strg: __builtin_cacos lngt: 15 @1186 identifier_node strg: cacos lngt: 5 @1187 function_type size: @12 algn: 8 retn: @108 prms: @1189 @1188 function_decl name: @1186 type: @1187 srcp: :0 chan: @1190 body: undefined link: extern @1189 tree_list valu: @108 chan: @137 @1190 function_decl name: @1191 mngl: @1192 type: @1193 srcp: :0 chan: @1194 body: undefined link: extern @1191 identifier_node strg: __builtin_cacosf lngt: 16 @1192 identifier_node strg: cacosf lngt: 6 @1193 function_type size: @12 algn: 8 retn: @105 prms: @1195 @1194 function_decl name: @1192 type: @1193 srcp: :0 chan: @1196 body: undefined link: extern @1195 tree_list valu: @105 chan: @137 @1196 function_decl name: @1197 mngl: @1198 type: @1187 srcp: :0 chan: @1199 body: undefined link: extern @1197 identifier_node strg: __builtin_cacosh lngt: 16 @1198 identifier_node strg: cacosh lngt: 6 @1199 function_decl name: @1198 type: @1187 srcp: :0 chan: @1200 body: undefined link: extern @1200 function_decl name: @1201 mngl: @1202 type: @1193 srcp: :0 chan: @1203 body: undefined link: extern @1201 identifier_node strg: __builtin_cacoshf lngt: 17 @1202 identifier_node strg: cacoshf lngt: 7 @1203 function_decl name: @1202 type: @1193 srcp: :0 chan: @1204 body: undefined link: extern @1204 function_decl name: @1205 mngl: @1206 type: @1207 srcp: :0 chan: @1208 body: undefined link: extern @1205 identifier_node strg: __builtin_cacoshl lngt: 17 @1206 identifier_node strg: cacoshl lngt: 7 @1207 function_type size: @12 algn: 8 retn: @111 prms: @1209 @1208 function_decl name: @1206 type: @1207 srcp: :0 chan: @1210 body: undefined link: extern @1209 tree_list valu: @111 chan: @137 @1210 function_decl name: @1211 mngl: @1212 type: @1207 srcp: :0 chan: @1213 body: undefined link: extern @1211 identifier_node strg: __builtin_cacosl lngt: 16 @1212 identifier_node strg: cacosl lngt: 6 @1213 function_decl name: @1212 type: @1207 srcp: :0 chan: @1214 body: undefined link: extern @1214 function_decl name: @1215 mngl: @1216 type: @1169 srcp: :0 chan: @1217 body: undefined link: extern @1215 identifier_node strg: __builtin_carg lngt: 14 @1216 identifier_node strg: carg lngt: 4 @1217 function_decl name: @1216 type: @1169 srcp: :0 chan: @1218 body: undefined link: extern @1218 function_decl name: @1219 mngl: @1220 type: @1175 srcp: :0 chan: @1221 body: undefined link: extern @1219 identifier_node strg: __builtin_cargf lngt: 15 @1220 identifier_node strg: cargf lngt: 5 @1221 function_decl name: @1220 type: @1175 srcp: :0 chan: @1222 body: undefined link: extern @1222 function_decl name: @1223 mngl: @1224 type: @1181 srcp: :0 chan: @1225 body: undefined link: extern @1223 identifier_node strg: __builtin_cargl lngt: 15 @1224 identifier_node strg: cargl lngt: 5 @1225 function_decl name: @1224 type: @1181 srcp: :0 chan: @1226 body: undefined link: extern @1226 function_decl name: @1227 mngl: @1228 type: @1187 srcp: :0 chan: @1229 body: undefined link: extern @1227 identifier_node strg: __builtin_casin lngt: 15 @1228 identifier_node strg: casin lngt: 5 @1229 function_decl name: @1228 type: @1187 srcp: :0 chan: @1230 body: undefined link: extern @1230 function_decl name: @1231 mngl: @1232 type: @1193 srcp: :0 chan: @1233 body: undefined link: extern @1231 identifier_node strg: __builtin_casinf lngt: 16 @1232 identifier_node strg: casinf lngt: 6 @1233 function_decl name: @1232 type: @1193 srcp: :0 chan: @1234 body: undefined link: extern @1234 function_decl name: @1235 mngl: @1236 type: @1187 srcp: :0 chan: @1237 body: undefined link: extern @1235 identifier_node strg: __builtin_casinh lngt: 16 @1236 identifier_node strg: casinh lngt: 6 @1237 function_decl name: @1236 type: @1187 srcp: :0 chan: @1238 body: undefined link: extern @1238 function_decl name: @1239 mngl: @1240 type: @1193 srcp: :0 chan: @1241 body: undefined link: extern @1239 identifier_node strg: __builtin_casinhf lngt: 17 @1240 identifier_node strg: casinhf lngt: 7 @1241 function_decl name: @1240 type: @1193 srcp: :0 chan: @1242 body: undefined link: extern @1242 function_decl name: @1243 mngl: @1244 type: @1207 srcp: :0 chan: @1245 body: undefined link: extern @1243 identifier_node strg: __builtin_casinhl lngt: 17 @1244 identifier_node strg: casinhl lngt: 7 @1245 function_decl name: @1244 type: @1207 srcp: :0 chan: @1246 body: undefined link: extern @1246 function_decl name: @1247 mngl: @1248 type: @1207 srcp: :0 chan: @1249 body: undefined link: extern @1247 identifier_node strg: __builtin_casinl lngt: 16 @1248 identifier_node strg: casinl lngt: 6 @1249 function_decl name: @1248 type: @1207 srcp: :0 chan: @1250 body: undefined link: extern @1250 function_decl name: @1251 mngl: @1252 type: @1187 srcp: :0 chan: @1253 body: undefined link: extern @1251 identifier_node strg: __builtin_catan lngt: 15 @1252 identifier_node strg: catan lngt: 5 @1253 function_decl name: @1252 type: @1187 srcp: :0 chan: @1254 body: undefined link: extern @1254 function_decl name: @1255 mngl: @1256 type: @1193 srcp: :0 chan: @1257 body: undefined link: extern @1255 identifier_node strg: __builtin_catanf lngt: 16 @1256 identifier_node strg: catanf lngt: 6 @1257 function_decl name: @1256 type: @1193 srcp: :0 chan: @1258 body: undefined link: extern @1258 function_decl name: @1259 mngl: @1260 type: @1187 srcp: :0 chan: @1261 body: undefined link: extern @1259 identifier_node strg: __builtin_catanh lngt: 16 @1260 identifier_node strg: catanh lngt: 6 @1261 function_decl name: @1260 type: @1187 srcp: :0 chan: @1262 body: undefined link: extern @1262 function_decl name: @1263 mngl: @1264 type: @1193 srcp: :0 chan: @1265 body: undefined link: extern @1263 identifier_node strg: __builtin_catanhf lngt: 17 @1264 identifier_node strg: catanhf lngt: 7 @1265 function_decl name: @1264 type: @1193 srcp: :0 chan: @1266 body: undefined link: extern @1266 function_decl name: @1267 mngl: @1268 type: @1207 srcp: :0 chan: @1269 body: undefined link: extern @1267 identifier_node strg: __builtin_catanhl lngt: 17 @1268 identifier_node strg: catanhl lngt: 7 @1269 function_decl name: @1268 type: @1207 srcp: :0 chan: @1270 body: undefined link: extern @1270 function_decl name: @1271 mngl: @1272 type: @1207 srcp: :0 chan: @1273 body: undefined link: extern @1271 identifier_node strg: __builtin_catanl lngt: 16 @1272 identifier_node strg: catanl lngt: 6 @1273 function_decl name: @1272 type: @1207 srcp: :0 chan: @1274 body: undefined link: extern @1274 function_decl name: @1275 mngl: @1276 type: @1187 srcp: :0 chan: @1277 body: undefined link: extern @1275 identifier_node strg: __builtin_ccos lngt: 14 @1276 identifier_node strg: ccos lngt: 4 @1277 function_decl name: @1276 type: @1187 srcp: :0 chan: @1278 body: undefined link: extern @1278 function_decl name: @1279 mngl: @1280 type: @1193 srcp: :0 chan: @1281 body: undefined link: extern @1279 identifier_node strg: __builtin_ccosf lngt: 15 @1280 identifier_node strg: ccosf lngt: 5 @1281 function_decl name: @1280 type: @1193 srcp: :0 chan: @1282 body: undefined link: extern @1282 function_decl name: @1283 mngl: @1284 type: @1187 srcp: :0 chan: @1285 body: undefined link: extern @1283 identifier_node strg: __builtin_ccosh lngt: 15 @1284 identifier_node strg: ccosh lngt: 5 @1285 function_decl name: @1284 type: @1187 srcp: :0 chan: @1286 body: undefined link: extern @1286 function_decl name: @1287 mngl: @1288 type: @1193 srcp: :0 chan: @1289 body: undefined link: extern @1287 identifier_node strg: __builtin_ccoshf lngt: 16 @1288 identifier_node strg: ccoshf lngt: 6 @1289 function_decl name: @1288 type: @1193 srcp: :0 chan: @1290 body: undefined link: extern @1290 function_decl name: @1291 mngl: @1292 type: @1207 srcp: :0 chan: @1293 body: undefined link: extern @1291 identifier_node strg: __builtin_ccoshl lngt: 16 @1292 identifier_node strg: ccoshl lngt: 6 @1293 function_decl name: @1292 type: @1207 srcp: :0 chan: @1294 body: undefined link: extern @1294 function_decl name: @1295 mngl: @1296 type: @1207 srcp: :0 chan: @1297 body: undefined link: extern @1295 identifier_node strg: __builtin_ccosl lngt: 15 @1296 identifier_node strg: ccosl lngt: 5 @1297 function_decl name: @1296 type: @1207 srcp: :0 chan: @1298 body: undefined link: extern @1298 function_decl name: @1299 mngl: @1300 type: @1187 srcp: :0 chan: @1301 body: undefined link: extern @1299 identifier_node strg: __builtin_cexp lngt: 14 @1300 identifier_node strg: cexp lngt: 4 @1301 function_decl name: @1300 type: @1187 srcp: :0 chan: @1302 body: undefined link: extern @1302 function_decl name: @1303 mngl: @1304 type: @1193 srcp: :0 chan: @1305 body: undefined link: extern @1303 identifier_node strg: __builtin_cexpf lngt: 15 @1304 identifier_node strg: cexpf lngt: 5 @1305 function_decl name: @1304 type: @1193 srcp: :0 chan: @1306 body: undefined link: extern @1306 function_decl name: @1307 mngl: @1308 type: @1207 srcp: :0 chan: @1309 body: undefined link: extern @1307 identifier_node strg: __builtin_cexpl lngt: 15 @1308 identifier_node strg: cexpl lngt: 5 @1309 function_decl name: @1308 type: @1207 srcp: :0 chan: @1310 body: undefined link: extern @1310 function_decl name: @1311 mngl: @1312 type: @1169 srcp: :0 chan: @1313 body: undefined link: extern @1311 identifier_node strg: __builtin_cimag lngt: 15 @1312 identifier_node strg: cimag lngt: 5 @1313 function_decl name: @1312 type: @1169 srcp: :0 chan: @1314 body: undefined link: extern @1314 function_decl name: @1315 mngl: @1316 type: @1175 srcp: :0 chan: @1317 body: undefined link: extern @1315 identifier_node strg: __builtin_cimagf lngt: 16 @1316 identifier_node strg: cimagf lngt: 6 @1317 function_decl name: @1316 type: @1175 srcp: :0 chan: @1318 body: undefined link: extern @1318 function_decl name: @1319 mngl: @1320 type: @1181 srcp: :0 chan: @1321 body: undefined link: extern @1319 identifier_node strg: __builtin_cimagl lngt: 16 @1320 identifier_node strg: cimagl lngt: 6 @1321 function_decl name: @1320 type: @1181 srcp: :0 chan: @1322 body: undefined link: extern @1322 function_decl name: @1323 mngl: @1324 type: @1187 srcp: :0 chan: @1325 body: undefined link: extern @1323 identifier_node strg: __builtin_clog lngt: 14 @1324 identifier_node strg: clog lngt: 4 @1325 function_decl name: @1324 type: @1187 srcp: :0 chan: @1326 body: undefined link: extern @1326 function_decl name: @1327 mngl: @1328 type: @1193 srcp: :0 chan: @1329 body: undefined link: extern @1327 identifier_node strg: __builtin_clogf lngt: 15 @1328 identifier_node strg: clogf lngt: 5 @1329 function_decl name: @1328 type: @1193 srcp: :0 chan: @1330 body: undefined link: extern @1330 function_decl name: @1331 mngl: @1332 type: @1207 srcp: :0 chan: @1333 body: undefined link: extern @1331 identifier_node strg: __builtin_clogl lngt: 15 @1332 identifier_node strg: clogl lngt: 5 @1333 function_decl name: @1332 type: @1207 srcp: :0 chan: @1334 body: undefined link: extern @1334 function_decl name: @1335 mngl: @1336 type: @1187 srcp: :0 chan: @1337 body: undefined link: extern @1335 identifier_node strg: __builtin_clog10 lngt: 16 @1336 identifier_node strg: clog10 lngt: 6 @1337 function_decl name: @1336 type: @1187 srcp: :0 chan: @1338 body: undefined link: extern @1338 function_decl name: @1339 mngl: @1340 type: @1193 srcp: :0 chan: @1341 body: undefined link: extern @1339 identifier_node strg: __builtin_clog10f lngt: 17 @1340 identifier_node strg: clog10f lngt: 7 @1341 function_decl name: @1340 type: @1193 srcp: :0 chan: @1342 body: undefined link: extern @1342 function_decl name: @1343 mngl: @1344 type: @1207 srcp: :0 chan: @1345 body: undefined link: extern @1343 identifier_node strg: __builtin_clog10l lngt: 17 @1344 identifier_node strg: clog10l lngt: 7 @1345 function_decl name: @1344 type: @1207 srcp: :0 chan: @1346 body: undefined link: extern @1346 function_decl name: @1347 mngl: @1348 type: @1187 srcp: :0 chan: @1349 body: undefined link: extern @1347 identifier_node strg: __builtin_conj lngt: 14 @1348 identifier_node strg: conj lngt: 4 @1349 function_decl name: @1348 type: @1187 srcp: :0 chan: @1350 body: undefined link: extern @1350 function_decl name: @1351 mngl: @1352 type: @1193 srcp: :0 chan: @1353 body: undefined link: extern @1351 identifier_node strg: __builtin_conjf lngt: 15 @1352 identifier_node strg: conjf lngt: 5 @1353 function_decl name: @1352 type: @1193 srcp: :0 chan: @1354 body: undefined link: extern @1354 function_decl name: @1355 mngl: @1356 type: @1207 srcp: :0 chan: @1357 body: undefined link: extern @1355 identifier_node strg: __builtin_conjl lngt: 15 @1356 identifier_node strg: conjl lngt: 5 @1357 function_decl name: @1356 type: @1207 srcp: :0 chan: @1358 body: undefined link: extern @1358 function_decl name: @1359 mngl: @1360 type: @1361 srcp: :0 chan: @1362 body: undefined link: extern @1359 identifier_node strg: __builtin_cpow lngt: 14 @1360 identifier_node strg: cpow lngt: 4 @1361 function_type size: @12 algn: 8 retn: @108 prms: @1363 @1362 function_decl name: @1360 type: @1361 srcp: :0 chan: @1364 body: undefined link: extern @1363 tree_list valu: @108 chan: @1365 @1364 function_decl name: @1366 mngl: @1367 type: @1368 srcp: :0 chan: @1369 body: undefined link: extern @1365 tree_list valu: @108 chan: @137 @1366 identifier_node strg: __builtin_cpowf lngt: 15 @1367 identifier_node strg: cpowf lngt: 5 @1368 function_type size: @12 algn: 8 retn: @105 prms: @1370 @1369 function_decl name: @1367 type: @1368 srcp: :0 chan: @1371 body: undefined link: extern @1370 tree_list valu: @105 chan: @1372 @1371 function_decl name: @1373 mngl: @1374 type: @1375 srcp: :0 chan: @1376 body: undefined link: extern @1372 tree_list valu: @105 chan: @137 @1373 identifier_node strg: __builtin_cpowl lngt: 15 @1374 identifier_node strg: cpowl lngt: 5 @1375 function_type size: @12 algn: 8 retn: @111 prms: @1377 @1376 function_decl name: @1374 type: @1375 srcp: :0 chan: @1378 body: undefined link: extern @1377 tree_list valu: @111 chan: @1379 @1378 function_decl name: @1380 mngl: @1381 type: @1187 srcp: :0 chan: @1382 body: undefined link: extern @1379 tree_list valu: @111 chan: @137 @1380 identifier_node strg: __builtin_cproj lngt: 15 @1381 identifier_node strg: cproj lngt: 5 @1382 function_decl name: @1381 type: @1187 srcp: :0 chan: @1383 body: undefined link: extern @1383 function_decl name: @1384 mngl: @1385 type: @1193 srcp: :0 chan: @1386 body: undefined link: extern @1384 identifier_node strg: __builtin_cprojf lngt: 16 @1385 identifier_node strg: cprojf lngt: 6 @1386 function_decl name: @1385 type: @1193 srcp: :0 chan: @1387 body: undefined link: extern @1387 function_decl name: @1388 mngl: @1389 type: @1207 srcp: :0 chan: @1390 body: undefined link: extern @1388 identifier_node strg: __builtin_cprojl lngt: 16 @1389 identifier_node strg: cprojl lngt: 6 @1390 function_decl name: @1389 type: @1207 srcp: :0 chan: @1391 body: undefined link: extern @1391 function_decl name: @1392 mngl: @1393 type: @1169 srcp: :0 chan: @1394 body: undefined link: extern @1392 identifier_node strg: __builtin_creal lngt: 15 @1393 identifier_node strg: creal lngt: 5 @1394 function_decl name: @1393 type: @1169 srcp: :0 chan: @1395 body: undefined link: extern @1395 function_decl name: @1396 mngl: @1397 type: @1175 srcp: :0 chan: @1398 body: undefined link: extern @1396 identifier_node strg: __builtin_crealf lngt: 16 @1397 identifier_node strg: crealf lngt: 6 @1398 function_decl name: @1397 type: @1175 srcp: :0 chan: @1399 body: undefined link: extern @1399 function_decl name: @1400 mngl: @1401 type: @1181 srcp: :0 chan: @1402 body: undefined link: extern @1400 identifier_node strg: __builtin_creall lngt: 16 @1401 identifier_node strg: creall lngt: 6 @1402 function_decl name: @1401 type: @1181 srcp: :0 chan: @1403 body: undefined link: extern @1403 function_decl name: @1404 mngl: @1405 type: @1187 srcp: :0 chan: @1406 body: undefined link: extern @1404 identifier_node strg: __builtin_csin lngt: 14 @1405 identifier_node strg: csin lngt: 4 @1406 function_decl name: @1405 type: @1187 srcp: :0 chan: @1407 body: undefined link: extern @1407 function_decl name: @1408 mngl: @1409 type: @1193 srcp: :0 chan: @1410 body: undefined link: extern @1408 identifier_node strg: __builtin_csinf lngt: 15 @1409 identifier_node strg: csinf lngt: 5 @1410 function_decl name: @1409 type: @1193 srcp: :0 chan: @1411 body: undefined link: extern @1411 function_decl name: @1412 mngl: @1413 type: @1187 srcp: :0 chan: @1414 body: undefined link: extern @1412 identifier_node strg: __builtin_csinh lngt: 15 @1413 identifier_node strg: csinh lngt: 5 @1414 function_decl name: @1413 type: @1187 srcp: :0 chan: @1415 body: undefined link: extern @1415 function_decl name: @1416 mngl: @1417 type: @1193 srcp: :0 chan: @1418 body: undefined link: extern @1416 identifier_node strg: __builtin_csinhf lngt: 16 @1417 identifier_node strg: csinhf lngt: 6 @1418 function_decl name: @1417 type: @1193 srcp: :0 chan: @1419 body: undefined link: extern @1419 function_decl name: @1420 mngl: @1421 type: @1207 srcp: :0 chan: @1422 body: undefined link: extern @1420 identifier_node strg: __builtin_csinhl lngt: 16 @1421 identifier_node strg: csinhl lngt: 6 @1422 function_decl name: @1421 type: @1207 srcp: :0 chan: @1423 body: undefined link: extern @1423 function_decl name: @1424 mngl: @1425 type: @1207 srcp: :0 chan: @1426 body: undefined link: extern @1424 identifier_node strg: __builtin_csinl lngt: 15 @1425 identifier_node strg: csinl lngt: 5 @1426 function_decl name: @1425 type: @1207 srcp: :0 chan: @1427 body: undefined link: extern @1427 function_decl name: @1428 mngl: @1429 type: @1187 srcp: :0 chan: @1430 body: undefined link: extern @1428 identifier_node strg: __builtin_csqrt lngt: 15 @1429 identifier_node strg: csqrt lngt: 5 @1430 function_decl name: @1429 type: @1187 srcp: :0 chan: @1431 body: undefined link: extern @1431 function_decl name: @1432 mngl: @1433 type: @1193 srcp: :0 chan: @1434 body: undefined link: extern @1432 identifier_node strg: __builtin_csqrtf lngt: 16 @1433 identifier_node strg: csqrtf lngt: 6 @1434 function_decl name: @1433 type: @1193 srcp: :0 chan: @1435 body: undefined link: extern @1435 function_decl name: @1436 mngl: @1437 type: @1207 srcp: :0 chan: @1438 body: undefined link: extern @1436 identifier_node strg: __builtin_csqrtl lngt: 16 @1437 identifier_node strg: csqrtl lngt: 6 @1438 function_decl name: @1437 type: @1207 srcp: :0 chan: @1439 body: undefined link: extern @1439 function_decl name: @1440 mngl: @1441 type: @1187 srcp: :0 chan: @1442 body: undefined link: extern @1440 identifier_node strg: __builtin_ctan lngt: 14 @1441 identifier_node strg: ctan lngt: 4 @1442 function_decl name: @1441 type: @1187 srcp: :0 chan: @1443 body: undefined link: extern @1443 function_decl name: @1444 mngl: @1445 type: @1193 srcp: :0 chan: @1446 body: undefined link: extern @1444 identifier_node strg: __builtin_ctanf lngt: 15 @1445 identifier_node strg: ctanf lngt: 5 @1446 function_decl name: @1445 type: @1193 srcp: :0 chan: @1447 body: undefined link: extern @1447 function_decl name: @1448 mngl: @1449 type: @1187 srcp: :0 chan: @1450 body: undefined link: extern @1448 identifier_node strg: __builtin_ctanh lngt: 15 @1449 identifier_node strg: ctanh lngt: 5 @1450 function_decl name: @1449 type: @1187 srcp: :0 chan: @1451 body: undefined link: extern @1451 function_decl name: @1452 mngl: @1453 type: @1193 srcp: :0 chan: @1454 body: undefined link: extern @1452 identifier_node strg: __builtin_ctanhf lngt: 16 @1453 identifier_node strg: ctanhf lngt: 6 @1454 function_decl name: @1453 type: @1193 srcp: :0 chan: @1455 body: undefined link: extern @1455 function_decl name: @1456 mngl: @1457 type: @1207 srcp: :0 chan: @1458 body: undefined link: extern @1456 identifier_node strg: __builtin_ctanhl lngt: 16 @1457 identifier_node strg: ctanhl lngt: 6 @1458 function_decl name: @1457 type: @1207 srcp: :0 chan: @1459 body: undefined link: extern @1459 function_decl name: @1460 mngl: @1461 type: @1207 srcp: :0 chan: @1462 body: undefined link: extern @1460 identifier_node strg: __builtin_ctanl lngt: 15 @1461 identifier_node strg: ctanl lngt: 5 @1462 function_decl name: @1461 type: @1207 srcp: :0 chan: @1463 body: undefined link: extern @1463 function_decl name: @1464 mngl: @1465 type: @1466 srcp: :0 chan: @1467 body: undefined link: extern @1464 identifier_node strg: __builtin_bcmp lngt: 14 @1465 identifier_node strg: bcmp lngt: 4 @1466 function_type size: @12 algn: 8 retn: @3 prms: @1468 @1467 function_decl name: @1465 type: @1466 srcp: :0 chan: @1469 body: undefined link: extern @1468 tree_list valu: @1470 chan: @1471 @1469 function_decl name: @1472 mngl: @1473 type: @1474 srcp: :0 chan: @1475 body: undefined link: extern @1470 pointer_type size: @22 algn: 64 ptd : @1476 @1471 tree_list valu: @1470 chan: @1477 @1472 identifier_node strg: __builtin_bcopy lngt: 15 @1473 identifier_node strg: bcopy lngt: 5 @1474 function_type size: @12 algn: 8 retn: @115 prms: @1478 @1475 function_decl name: @1473 type: @1474 srcp: :0 chan: @1479 body: undefined link: extern @1476 void_type qual: c unql: @115 algn: 8 @1477 tree_list valu: @31 chan: @137 @1478 tree_list valu: @1470 chan: @1480 @1479 function_decl name: @1481 mngl: @1482 type: @1483 srcp: :0 chan: @1484 body: undefined link: extern @1480 tree_list valu: @147 chan: @1485 @1481 identifier_node strg: __builtin_bzero lngt: 15 @1482 identifier_node strg: bzero lngt: 5 @1483 function_type size: @12 algn: 8 retn: @115 prms: @1486 @1484 function_decl name: @1482 type: @1483 srcp: :0 chan: @1487 body: undefined link: extern @1485 tree_list valu: @31 chan: @137 @1486 tree_list valu: @147 chan: @1488 @1487 function_decl name: @1489 mngl: @1490 type: @1491 srcp: :0 chan: @1492 body: undefined link: extern @1488 tree_list valu: @31 chan: @137 @1489 identifier_node strg: __builtin_index lngt: 15 @1490 identifier_node strg: index lngt: 5 @1491 function_type size: @12 algn: 8 retn: @1493 prms: @1494 @1492 function_decl name: @1490 type: @1491 srcp: :0 chan: @1495 body: undefined link: extern @1493 pointer_type size: @22 algn: 64 ptd : @9 @1494 tree_list valu: @809 chan: @1496 @1495 function_decl name: @1497 mngl: @1498 type: @1499 srcp: :0 chan: @1500 body: undefined link: extern @1496 tree_list valu: @3 chan: @137 @1497 identifier_node strg: __builtin_memcmp lngt: 16 @1498 identifier_node strg: memcmp lngt: 6 @1499 function_type size: @12 algn: 8 retn: @3 prms: @1468 @1500 function_decl name: @1498 type: @1499 srcp: :0 chan: @1501 body: undefined link: extern @1501 function_decl name: @1502 mngl: @1503 type: @1504 srcp: :0 chan: @1505 body: undefined link: extern @1502 identifier_node strg: __builtin_memcpy lngt: 16 @1503 identifier_node strg: memcpy lngt: 6 @1504 function_type size: @12 algn: 8 retn: @147 prms: @1506 @1505 function_decl name: @1503 type: @1504 srcp: :0 chan: @1507 body: undefined link: extern @1506 tree_list valu: @147 chan: @1508 @1507 function_decl name: @1509 mngl: @1510 type: @1504 srcp: :0 chan: @1511 body: undefined link: extern @1508 tree_list valu: @1470 chan: @1512 @1509 identifier_node strg: __builtin_memmove lngt: 17 @1510 identifier_node strg: memmove lngt: 7 @1511 function_decl name: @1510 type: @1504 srcp: :0 chan: @1513 body: undefined link: extern @1512 tree_list valu: @31 chan: @137 @1513 function_decl name: @1514 mngl: @1515 type: @1504 srcp: :0 chan: @1516 body: undefined link: extern @1514 identifier_node strg: __builtin_mempcpy lngt: 17 @1515 identifier_node strg: mempcpy lngt: 7 @1516 function_decl name: @1515 type: @1504 srcp: :0 chan: @1517 body: undefined link: extern @1517 function_decl name: @1518 mngl: @1519 type: @1520 srcp: :0 chan: @1521 body: undefined link: extern @1518 identifier_node strg: __builtin_memset lngt: 16 @1519 identifier_node strg: memset lngt: 6 @1520 function_type size: @12 algn: 8 retn: @147 prms: @1522 @1521 function_decl name: @1519 type: @1520 srcp: :0 chan: @1523 body: undefined link: extern @1522 tree_list valu: @147 chan: @1524 @1523 function_decl name: @1525 mngl: @1526 type: @1491 srcp: :0 chan: @1527 body: undefined link: extern @1524 tree_list valu: @3 chan: @1528 @1525 identifier_node strg: __builtin_rindex lngt: 16 @1526 identifier_node strg: rindex lngt: 6 @1527 function_decl name: @1526 type: @1491 srcp: :0 chan: @1529 body: undefined link: extern @1528 tree_list valu: @31 chan: @137 @1529 function_decl name: @1530 mngl: @1531 type: @1532 srcp: :0 chan: @1533 body: undefined link: extern @1530 identifier_node strg: __builtin_stpcpy lngt: 16 @1531 identifier_node strg: stpcpy lngt: 6 @1532 function_type size: @12 algn: 8 retn: @1493 prms: @1534 @1533 function_decl name: @1531 type: @1532 srcp: :0 chan: @1535 body: undefined link: extern @1534 tree_list valu: @1493 chan: @1536 @1535 function_decl name: @1537 mngl: @1538 type: @1539 srcp: :0 chan: @1540 body: undefined link: extern @1536 tree_list valu: @809 chan: @137 @1537 identifier_node strg: __builtin_stpncpy lngt: 17 @1538 identifier_node strg: stpncpy lngt: 7 @1539 function_type size: @12 algn: 8 retn: @1493 prms: @1541 @1540 function_decl name: @1538 type: @1539 srcp: :0 chan: @1542 body: undefined link: extern @1541 tree_list valu: @1493 chan: @1543 @1542 function_decl name: @1544 mngl: @1545 type: @1546 srcp: :0 chan: @1547 body: undefined link: extern @1543 tree_list valu: @809 chan: @1548 @1544 identifier_node strg: __builtin_strcasecmp lngt: 20 @1545 identifier_node strg: strcasecmp lngt: 10 @1546 function_type size: @12 algn: 8 retn: @3 prms: @1549 @1547 function_decl name: @1545 type: @1546 srcp: :0 chan: @1550 body: undefined link: extern @1548 tree_list valu: @31 chan: @137 @1549 tree_list valu: @809 chan: @1551 @1550 function_decl name: @1552 mngl: @1553 type: @1532 srcp: :0 chan: @1554 body: undefined link: extern @1551 tree_list valu: @809 chan: @137 @1552 identifier_node strg: __builtin_strcat lngt: 16 @1553 identifier_node strg: strcat lngt: 6 @1554 function_decl name: @1553 type: @1532 srcp: :0 chan: @1555 body: undefined link: extern @1555 function_decl name: @1556 mngl: @1557 type: @1491 srcp: :0 chan: @1558 body: undefined link: extern @1556 identifier_node strg: __builtin_strchr lngt: 16 @1557 identifier_node strg: strchr lngt: 6 @1558 function_decl name: @1557 type: @1491 srcp: :0 chan: @1559 body: undefined link: extern @1559 function_decl name: @1560 mngl: @1561 type: @1546 srcp: :0 chan: @1562 body: undefined link: extern @1560 identifier_node strg: __builtin_strcmp lngt: 16 @1561 identifier_node strg: strcmp lngt: 6 @1562 function_decl name: @1561 type: @1546 srcp: :0 chan: @1563 body: undefined link: extern @1563 function_decl name: @1564 mngl: @1565 type: @1532 srcp: :0 chan: @1566 body: undefined link: extern @1564 identifier_node strg: __builtin_strcpy lngt: 16 @1565 identifier_node strg: strcpy lngt: 6 @1566 function_decl name: @1565 type: @1532 srcp: :0 chan: @1567 body: undefined link: extern @1567 function_decl name: @1568 mngl: @1569 type: @1570 srcp: :0 chan: @1571 body: undefined link: extern @1568 identifier_node strg: __builtin_strcspn lngt: 17 @1569 identifier_node strg: strcspn lngt: 7 @1570 function_type size: @12 algn: 8 retn: @31 prms: @1572 @1571 function_decl name: @1569 type: @1570 srcp: :0 chan: @1573 body: undefined link: extern @1572 tree_list valu: @809 chan: @1574 @1573 function_decl name: @1575 mngl: @1576 type: @1577 srcp: :0 chan: @1578 body: undefined link: extern @1574 tree_list valu: @809 chan: @137 @1575 identifier_node strg: __builtin_strdup lngt: 16 @1576 identifier_node strg: strdup lngt: 6 @1577 function_type size: @12 algn: 8 retn: @1493 prms: @1579 @1578 function_decl name: @1576 type: @1577 srcp: :0 chan: @1580 body: undefined link: extern @1579 tree_list valu: @809 chan: @137 @1580 function_decl name: @1581 mngl: @1582 type: @1583 srcp: :0 chan: @1584 body: undefined link: extern @1581 identifier_node strg: __builtin_strndup lngt: 17 @1582 identifier_node strg: strndup lngt: 7 @1583 function_type size: @12 algn: 8 retn: @1493 prms: @1585 @1584 function_decl name: @1582 type: @1583 srcp: :0 chan: @1586 body: undefined link: extern @1585 tree_list valu: @809 chan: @1587 @1586 function_decl name: @1588 mngl: @1589 type: @1590 srcp: :0 chan: @1591 body: undefined link: extern @1587 tree_list valu: @31 chan: @137 @1588 identifier_node strg: __builtin_strlen lngt: 16 @1589 identifier_node strg: strlen lngt: 6 @1590 function_type size: @12 algn: 8 retn: @31 prms: @1592 @1591 function_decl name: @1589 type: @1590 srcp: :0 chan: @1593 body: undefined link: extern @1592 tree_list valu: @809 chan: @137 @1593 function_decl name: @1594 mngl: @1595 type: @1596 srcp: :0 chan: @1597 body: undefined link: extern @1594 identifier_node strg: __builtin_strncasecmp lngt: 21 @1595 identifier_node strg: strncasecmp lngt: 11 @1596 function_type size: @12 algn: 8 retn: @3 prms: @1598 @1597 function_decl name: @1595 type: @1596 srcp: :0 chan: @1599 body: undefined link: extern @1598 tree_list valu: @809 chan: @1600 @1599 function_decl name: @1601 mngl: @1602 type: @1539 srcp: :0 chan: @1603 body: undefined link: extern @1600 tree_list valu: @809 chan: @1604 @1601 identifier_node strg: __builtin_strncat lngt: 17 @1602 identifier_node strg: strncat lngt: 7 @1603 function_decl name: @1602 type: @1539 srcp: :0 chan: @1605 body: undefined link: extern @1604 tree_list valu: @31 chan: @137 @1605 function_decl name: @1606 mngl: @1607 type: @1596 srcp: :0 chan: @1608 body: undefined link: extern @1606 identifier_node strg: __builtin_strncmp lngt: 17 @1607 identifier_node strg: strncmp lngt: 7 @1608 function_decl name: @1607 type: @1596 srcp: :0 chan: @1609 body: undefined link: extern @1609 function_decl name: @1610 mngl: @1611 type: @1539 srcp: :0 chan: @1612 body: undefined link: extern @1610 identifier_node strg: __builtin_strncpy lngt: 17 @1611 identifier_node strg: strncpy lngt: 7 @1612 function_decl name: @1611 type: @1539 srcp: :0 chan: @1613 body: undefined link: extern @1613 function_decl name: @1614 mngl: @1615 type: @1616 srcp: :0 chan: @1617 body: undefined link: extern @1614 identifier_node strg: __builtin_strpbrk lngt: 17 @1615 identifier_node strg: strpbrk lngt: 7 @1616 function_type size: @12 algn: 8 retn: @1493 prms: @1618 @1617 function_decl name: @1615 type: @1616 srcp: :0 chan: @1619 body: undefined link: extern @1618 tree_list valu: @809 chan: @1620 @1619 function_decl name: @1621 mngl: @1622 type: @1491 srcp: :0 chan: @1623 body: undefined link: extern @1620 tree_list valu: @809 chan: @137 @1621 identifier_node strg: __builtin_strrchr lngt: 17 @1622 identifier_node strg: strrchr lngt: 7 @1623 function_decl name: @1622 type: @1491 srcp: :0 chan: @1624 body: undefined link: extern @1624 function_decl name: @1625 mngl: @1626 type: @1570 srcp: :0 chan: @1627 body: undefined link: extern @1625 identifier_node strg: __builtin_strspn lngt: 16 @1626 identifier_node strg: strspn lngt: 6 @1627 function_decl name: @1626 type: @1570 srcp: :0 chan: @1628 body: undefined link: extern @1628 function_decl name: @1629 mngl: @1630 type: @1616 srcp: :0 chan: @1631 body: undefined link: extern @1629 identifier_node strg: __builtin_strstr lngt: 16 @1630 identifier_node strg: strstr lngt: 6 @1631 function_decl name: @1630 type: @1616 srcp: :0 chan: @1632 body: undefined link: extern @1632 function_decl name: @1633 mngl: @1634 type: @1635 srcp: :0 chan: @1636 body: undefined link: extern @1633 identifier_node strg: __builtin_fprintf lngt: 17 @1634 identifier_node strg: fprintf lngt: 7 @1635 function_type size: @12 algn: 8 retn: @3 prms: @1637 @1636 function_decl name: @1634 type: @1638 srcp: stdio.h:324 chan: @1639 body: undefined link: extern @1637 tree_list valu: @147 chan: @1640 @1638 function_type size: @12 algn: 8 retn: @3 prms: @1641 @1639 function_decl name: @1642 mngl: @1643 type: @1635 srcp: :0 chan: @1644 body: undefined link: extern @1640 tree_list valu: @809 @1641 tree_list valu: @1645 chan: @1646 @1642 identifier_node strg: __builtin_fprintf_unlocked lngt: 26 @1643 identifier_node strg: fprintf_unlocked lngt: 16 @1644 function_decl name: @1643 type: @1635 srcp: :0 chan: @1647 body: undefined link: extern @1645 pointer_type qual: r unql: @1648 size: @22 algn: 64 ptd : @1649 @1646 tree_list valu: @1650 @1647 function_decl name: @1651 mngl: @1652 type: @1653 srcp: :0 chan: @1654 body: undefined link: extern @1648 pointer_type size: @22 algn: 64 ptd : @1649 @1649 record_type name: @1655 unql: @1656 size: @1657 algn: 64 tag : struct flds: @1658 @1650 pointer_type qual: r unql: @809 size: @22 algn: 64 ptd : @814 @1651 identifier_node strg: __builtin_fputc lngt: 15 @1652 identifier_node strg: fputc lngt: 5 @1653 function_type size: @12 algn: 8 retn: @3 prms: @1659 @1654 function_decl name: @1652 type: @1660 srcp: stdio.h:479 chan: @1661 body: undefined link: extern @1655 type_decl name: @1662 type: @1649 srcp: stdio.h:46 chan: @1663 @1656 record_type name: @1664 size: @1657 algn: 64 tag : struct flds: @1658 @1657 integer_cst type: @11 low : 1728 @1658 field_decl name: @1665 type: @3 scpe: @1656 srcp: libio.h:268 chan: @1666 size: @5 algn: 32 bpos: @20 @1659 tree_list valu: @3 chan: @1667 @1660 function_type size: @12 algn: 8 retn: @3 prms: @1668 @1661 function_decl name: @1669 mngl: @1670 type: @1653 srcp: :0 chan: @1671 body: undefined link: extern @1662 identifier_node strg: FILE lngt: 4 @1663 type_decl name: @1672 type: @1673 srcp: stdio.h:62 chan: @1674 @1664 identifier_node strg: _IO_FILE lngt: 8 @1665 identifier_node strg: _flags lngt: 6 @1666 field_decl name: @1675 type: @1493 scpe: @1656 srcp: libio.h:273 chan: @1676 size: @22 algn: 64 bpos: @22 @1667 tree_list valu: @147 chan: @137 @1668 tree_list valu: @3 chan: @1677 @1669 identifier_node strg: __builtin_fputc_unlocked lngt: 24 @1670 identifier_node strg: fputc_unlocked lngt: 14 @1671 function_decl name: @1670 type: @1660 srcp: stdio.h:500 chan: @1678 body: undefined link: extern @1672 identifier_node strg: __FILE lngt: 6 @1673 record_type name: @1663 unql: @1656 size: @1657 algn: 64 tag : struct flds: @1658 @1674 type_decl name: @1679 type: @1680 srcp: stddef.h:326 chan: @1681 @1675 identifier_node strg: _IO_read_ptr lngt: 12 @1676 field_decl name: @1682 type: @1493 scpe: @1656 srcp: libio.h:274 chan: @1683 size: @22 algn: 64 bpos: @19 @1677 tree_list valu: @1648 chan: @137 @1678 function_decl name: @1684 mngl: @1685 type: @1686 srcp: :0 chan: @1687 body: undefined link: extern @1679 identifier_node strg: wchar_t lngt: 7 @1680 integer_type name: @1674 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @1681 type_decl name: @1688 type: @1689 srcp: stddef.h:355 chan: @1690 @1682 identifier_node strg: _IO_read_end lngt: 12 @1683 field_decl name: @1691 type: @1493 scpe: @1656 srcp: libio.h:275 chan: @1692 size: @22 algn: 64 bpos: @121 @1684 identifier_node strg: __builtin_fputs lngt: 15 @1685 identifier_node strg: fputs lngt: 5 @1686 function_type size: @12 algn: 8 retn: @3 prms: @1693 @1687 function_decl name: @1685 type: @1694 srcp: stdio.h:585 chan: @1695 body: undefined link: extern @1688 identifier_node strg: wint_t lngt: 6 @1689 integer_type name: @1681 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @1690 type_decl type: @1696 srcp: wchar.h:77 chan: @1697 @1691 identifier_node strg: _IO_read_base lngt: 13 @1692 field_decl name: @1698 type: @1493 scpe: @1656 srcp: libio.h:276 chan: @1699 size: @22 algn: 64 bpos: @113 @1693 tree_list valu: @809 chan: @1700 @1694 function_type size: @12 algn: 8 retn: @3 prms: @1701 @1695 function_decl name: @1702 mngl: @1703 type: @1686 srcp: :0 chan: @1704 body: undefined link: extern @1696 record_type size: @22 algn: 32 tag : struct flds: @1705 @1697 type_decl type: @1706 srcp: wchar.h:80 chan: @1707 @1698 identifier_node strg: _IO_write_base lngt: 14 @1699 field_decl name: @1708 type: @1493 scpe: @1656 srcp: libio.h:277 chan: @1709 size: @22 algn: 64 bpos: @1710 @1700 tree_list valu: @147 chan: @137 @1701 tree_list valu: @1650 chan: @1711 @1702 identifier_node strg: __builtin_fputs_unlocked lngt: 24 @1703 identifier_node strg: fputs_unlocked lngt: 14 @1704 function_decl name: @1703 type: @1686 srcp: :0 chan: @1712 body: undefined link: extern @1705 field_decl name: @1713 type: @3 scpe: @1696 srcp: wchar.h:78 chan: @1714 size: @5 algn: 32 bpos: @20 @1706 union_type size: @5 algn: 32 tag : union flds: @1715 @1707 type_decl name: @1716 type: @1717 srcp: wchar.h:84 chan: @1718 @1708 identifier_node strg: _IO_write_ptr lngt: 13 @1709 field_decl name: @1719 type: @1493 scpe: @1656 srcp: libio.h:278 chan: @1720 size: @22 algn: 64 bpos: @1721 @1710 integer_cst type: @11 low : 320 @1711 tree_list valu: @1645 chan: @137 @1712 function_decl name: @1722 mngl: @1723 type: @1724 srcp: :0 chan: @1725 body: undefined link: extern @1713 identifier_node strg: __count lngt: 7 @1714 field_decl name: @1726 type: @1706 scpe: @1696 srcp: wchar.h:83 size: @5 algn: 32 bpos: @5 @1715 field_decl name: @1727 type: @1689 scpe: @1706 srcp: wchar.h:81 chan: @1728 size: @5 algn: 32 bpos: @20 @1716 identifier_node strg: __mbstate_t lngt: 11 @1717 record_type name: @1707 unql: @1696 size: @22 algn: 32 tag : struct flds: @1705 @1718 type_decl type: @1729 srcp: _G_config.h:27 chan: @1730 @1719 identifier_node strg: _IO_write_end lngt: 13 @1720 field_decl name: @1731 type: @1493 scpe: @1656 srcp: libio.h:279 chan: @1732 size: @22 algn: 64 bpos: @1733 @1721 integer_cst type: @11 low : 384 @1722 identifier_node strg: __builtin_fscanf lngt: 16 @1723 identifier_node strg: fscanf lngt: 6 @1724 function_type size: @12 algn: 8 retn: @3 prms: @1637 @1725 function_decl name: @1723 type: @1734 srcp: stdio.h:396 chan: @1735 body: undefined link: extern @1726 identifier_node strg: __value lngt: 7 @1727 identifier_node strg: __wch lngt: 5 @1728 field_decl name: @1736 type: @1737 scpe: @1706 srcp: wchar.h:82 size: @5 algn: 8 bpos: @20 @1729 record_type size: @19 algn: 64 tag : struct flds: @1738 @1730 type_decl name: @1739 type: @1740 srcp: _G_config.h:30 chan: @1741 @1731 identifier_node strg: _IO_buf_base lngt: 12 @1732 field_decl name: @1742 type: @1493 scpe: @1656 srcp: libio.h:280 chan: @1743 size: @22 algn: 64 bpos: @1744 @1733 integer_cst type: @11 low : 448 @1734 function_type size: @12 algn: 8 retn: @3 prms: @1641 @1735 function_decl name: @1745 mngl: @1746 type: @1747 srcp: :0 chan: @1748 body: undefined link: extern @1736 identifier_node strg: __wchb lngt: 6 @1737 array_type size: @5 algn: 8 elts: @9 domn: @1749 @1738 field_decl name: @1750 type: @1751 scpe: @1729 srcp: _G_config.h:28 chan: @1752 size: @22 algn: 64 bpos: @20 @1739 identifier_node strg: _G_fpos_t lngt: 9 @1740 record_type name: @1730 unql: @1729 size: @19 algn: 64 tag : struct flds: @1738 @1741 type_decl type: @1753 srcp: _G_config.h:32 chan: @1754 @1742 identifier_node strg: _IO_buf_end lngt: 11 @1743 field_decl name: @1755 type: @1493 scpe: @1656 srcp: libio.h:282 chan: @1756 size: @22 algn: 64 bpos: @1757 @1744 integer_cst type: @11 low : 512 @1745 identifier_node strg: __builtin_fwrite lngt: 16 @1746 identifier_node strg: fwrite lngt: 6 @1747 function_type size: @12 algn: 8 retn: @31 prms: @1758 @1748 function_decl name: @1746 type: @1759 srcp: stdio.h:612 chan: @1760 body: undefined link: extern @1749 integer_type size: @22 algn: 64 prec: 64 sign: signed min : @130 max : @1761 @1750 identifier_node strg: __pos lngt: 5 @1751 integer_type name: @1762 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @1752 field_decl name: @1763 type: @1717 scpe: @1729 srcp: _G_config.h:29 size: @22 algn: 32 bpos: @22 @1753 record_type size: @19 algn: 64 tag : struct flds: @1764 @1754 type_decl name: @1765 type: @1766 srcp: _G_config.h:35 chan: @1767 @1755 identifier_node strg: _IO_save_base lngt: 13 @1756 field_decl name: @1768 type: @1493 scpe: @1656 srcp: libio.h:283 chan: @1769 size: @22 algn: 64 bpos: @1770 @1757 integer_cst type: @11 low : 576 @1758 tree_list valu: @1470 chan: @1771 @1759 function_type size: @12 algn: 8 retn: @1772 prms: @1773 @1760 function_decl name: @1774 mngl: @1775 type: @1747 srcp: :0 chan: @1776 body: undefined link: extern @1761 integer_cst type: @136 low : 3 @1762 type_decl name: @1777 type: @1751 srcp: types.h:143 chan: @1778 @1763 identifier_node strg: __state lngt: 7 @1764 field_decl name: @1750 type: @1779 scpe: @1753 srcp: _G_config.h:33 chan: @1780 size: @22 algn: 64 bpos: @20 @1765 identifier_node strg: _G_fpos64_t lngt: 11 @1766 record_type name: @1754 unql: @1753 size: @19 algn: 64 tag : struct flds: @1764 @1767 type_decl type: @1781 srcp: gconv.h:38 chan: @1782 @1768 identifier_node strg: _IO_backup_base lngt: 15 @1769 field_decl name: @1783 type: @1493 scpe: @1656 srcp: libio.h:284 chan: @1784 size: @22 algn: 64 bpos: @1785 @1770 integer_cst type: @11 low : 640 @1771 tree_list valu: @31 chan: @1786 @1772 integer_type name: @1787 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @1773 tree_list valu: @1788 chan: @1789 @1774 identifier_node strg: __builtin_fwrite_unlocked lngt: 25 @1775 identifier_node strg: fwrite_unlocked lngt: 15 @1776 function_decl name: @1775 type: @1759 srcp: stdio.h:636 chan: @1790 body: undefined link: extern @1777 identifier_node strg: __off_t lngt: 7 @1778 type_decl name: @1791 type: @1779 srcp: types.h:144 chan: @1792 @1779 integer_type name: @1778 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @1780 field_decl name: @1763 type: @1717 scpe: @1753 srcp: _G_config.h:34 size: @22 algn: 32 bpos: @22 @1781 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @1793 @1782 const_decl name: @1794 type: @1781 srcp: gconv.h:39 chan: @1795 cnst: @1796 @1783 identifier_node strg: _IO_save_end lngt: 12 @1784 field_decl name: @1797 type: @1798 scpe: @1656 srcp: libio.h:286 chan: @1799 size: @22 algn: 64 bpos: @1800 @1785 integer_cst type: @11 low : 704 @1786 tree_list valu: @31 chan: @1801 @1787 type_decl name: @1802 type: @1772 srcp: stddef.h:214 chan: @1803 @1788 pointer_type qual: r unql: @1804 size: @22 algn: 64 ptd : @1805 @1789 tree_list valu: @1772 chan: @1806 @1790 function_decl name: @1807 mngl: @1808 type: @1809 srcp: :0 chan: @1810 body: undefined link: extern @1791 identifier_node strg: __off64_t lngt: 9 @1792 type_decl name: @1811 type: @1812 srcp: types.h:145 chan: @1813 @1793 tree_list purp: @1794 valu: @1796 chan: @1814 @1794 identifier_node strg: __GCONV_OK lngt: 10 @1795 const_decl name: @1815 type: @1781 srcp: gconv.h:40 chan: @1816 cnst: @1817 @1796 integer_cst type: @3 low : 0 @1797 identifier_node strg: _markers lngt: 8 @1798 pointer_type size: @22 algn: 64 ptd : @1818 @1799 field_decl name: @1819 type: @1820 scpe: @1656 srcp: libio.h:288 chan: @1821 size: @22 algn: 64 bpos: @1822 @1800 integer_cst type: @11 low : 768 @1801 tree_list valu: @147 chan: @137 @1802 identifier_node strg: size_t lngt: 6 @1803 type_decl name: @1823 type: @1824 srcp: types.h:34 chan: @1825 @1804 pointer_type size: @22 algn: 64 ptd : @1805 @1805 void_type qual: c name: @112 unql: @115 algn: 8 @1806 tree_list valu: @1772 chan: @1826 @1807 identifier_node strg: __builtin_printf lngt: 16 @1808 identifier_node strg: printf lngt: 6 @1809 function_type size: @12 algn: 8 retn: @3 prms: @1827 @1810 function_decl name: @1808 type: @1809 srcp: stdio.h:329 chan: @1828 body: undefined link: extern @1811 identifier_node strg: __pid_t lngt: 7 @1812 integer_type name: @1792 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @1813 type_decl type: @1829 srcp: types.h:146 chan: @1830 @1814 tree_list purp: @1815 valu: @1817 chan: @1831 @1815 identifier_node strg: __GCONV_NOCONV lngt: 14 @1816 const_decl name: @1832 type: @1781 srcp: gconv.h:41 chan: @1833 cnst: @1834 @1817 integer_cst type: @3 low : 1 @1818 record_type name: @1835 size: @121 algn: 64 tag : struct flds: @1836 @1819 identifier_node strg: _chain lngt: 6 @1820 pointer_type size: @22 algn: 64 ptd : @1656 @1821 field_decl name: @1837 type: @3 scpe: @1656 srcp: libio.h:290 chan: @1838 size: @5 algn: 32 bpos: @1839 @1822 integer_cst type: @11 low : 832 @1823 identifier_node strg: __u_char lngt: 8 @1824 integer_type name: @1803 unql: @62 size: @12 algn: 8 prec: 8 sign: unsigned min : @64 max : @65 @1825 type_decl name: @1840 type: @1841 srcp: types.h:35 chan: @1842 @1826 tree_list valu: @1645 chan: @137 @1827 tree_list valu: @809 @1828 function_decl name: @1843 mngl: @1844 type: @1809 srcp: :0 chan: @1845 body: undefined link: extern @1829 record_type size: @22 algn: 32 tag : struct flds: @1846 @1830 type_decl name: @1847 type: @1848 srcp: types.h:146 chan: @1849 @1831 tree_list purp: @1832 valu: @1834 chan: @1850 @1832 identifier_node strg: __GCONV_NODB lngt: 12 @1833 const_decl name: @1851 type: @1781 srcp: gconv.h:42 chan: @1852 cnst: @1853 @1834 integer_cst type: @3 low : 2 @1835 identifier_node strg: _IO_marker lngt: 10 @1836 field_decl name: @1854 type: @1798 scpe: @1818 srcp: libio.h:183 chan: @1855 size: @22 algn: 64 bpos: @20 @1837 identifier_node strg: _fileno lngt: 7 @1838 field_decl name: @1856 type: @3 scpe: @1656 srcp: libio.h:294 chan: @1857 size: @5 algn: 32 bpos: @1858 @1839 integer_cst type: @11 low : 896 @1840 identifier_node strg: __u_short lngt: 9 @1841 integer_type name: @1825 unql: @52 size: @48 algn: 16 prec: 16 sign: unsigned min : @54 max : @55 @1842 type_decl name: @1859 type: @1860 srcp: types.h:36 chan: @1861 @1843 identifier_node strg: __builtin_printf_unlocked lngt: 25 @1844 identifier_node strg: printf_unlocked lngt: 15 @1845 function_decl name: @1844 type: @1809 srcp: :0 chan: @1862 body: undefined link: extern @1846 field_decl name: @1863 type: @1864 scpe: @1829 srcp: types.h:146 size: @22 algn: 32 bpos: @20 @1847 identifier_node strg: __fsid_t lngt: 8 @1848 record_type name: @1830 unql: @1829 size: @22 algn: 32 tag : struct flds: @1846 @1849 type_decl name: @1865 type: @1866 srcp: types.h:147 chan: @1867 @1850 tree_list purp: @1851 valu: @1853 chan: @1868 @1851 identifier_node strg: __GCONV_NOMEM lngt: 13 @1852 const_decl name: @1869 type: @1781 srcp: gconv.h:44 chan: @1870 cnst: @1871 @1853 integer_cst type: @3 low : 3 @1854 identifier_node strg: _next lngt: 5 @1855 field_decl name: @1872 type: @1820 scpe: @1818 srcp: libio.h:184 chan: @1873 size: @22 algn: 64 bpos: @22 @1856 identifier_node strg: _flags2 lngt: 7 @1857 field_decl name: @1874 type: @1751 scpe: @1656 srcp: libio.h:296 chan: @1875 size: @22 algn: 64 bpos: @1876 @1858 integer_cst type: @11 low : 928 @1859 identifier_node strg: __u_int lngt: 7 @1860 integer_type name: @1842 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @1861 type_decl name: @1877 type: @1878 srcp: types.h:37 chan: @1879 @1862 function_decl name: @1880 mngl: @1881 type: @1882 srcp: :0 chan: @1883 body: undefined link: extern @1863 identifier_node strg: __val lngt: 5 @1864 array_type size: @22 algn: 32 elts: @3 domn: @1884 @1865 identifier_node strg: __clock_t lngt: 9 @1866 integer_type name: @1849 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @1867 type_decl name: @1885 type: @1886 srcp: types.h:148 chan: @1887 @1868 tree_list purp: @1869 valu: @1871 chan: @1888 @1869 identifier_node strg: __GCONV_EMPTY_INPUT lngt: 19 @1870 const_decl name: @1889 type: @1781 srcp: gconv.h:45 chan: @1890 cnst: @1891 @1871 integer_cst type: @3 low : 4 @1872 identifier_node strg: _sbuf lngt: 5 @1873 field_decl name: @1892 type: @3 scpe: @1818 srcp: libio.h:188 size: @5 algn: 32 bpos: @19 @1874 identifier_node strg: _old_offset lngt: 11 @1875 field_decl name: @1893 type: @52 scpe: @1656 srcp: libio.h:300 chan: @1894 size: @48 algn: 16 bpos: @1895 @1876 integer_cst type: @11 low : 960 @1877 identifier_node strg: __u_long lngt: 8 @1878 integer_type name: @1861 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @1879 type_decl name: @1896 type: @1897 srcp: types.h:40 chan: @1898 @1880 identifier_node strg: __builtin_putchar lngt: 17 @1881 identifier_node strg: putchar lngt: 7 @1882 function_type size: @12 algn: 8 retn: @3 prms: @1899 @1883 function_decl name: @1881 type: @1882 srcp: stdio.h:486 chan: @1900 body: undefined link: extern @1884 integer_type size: @22 algn: 64 prec: 64 sign: signed min : @130 max : @1901 @1885 identifier_node strg: __rlim_t lngt: 8 @1886 integer_type name: @1867 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @1887 type_decl name: @1902 type: @1903 srcp: types.h:149 chan: @1904 @1888 tree_list purp: @1889 valu: @1891 chan: @1905 @1889 identifier_node strg: __GCONV_FULL_OUTPUT lngt: 19 @1890 const_decl name: @1906 type: @1781 srcp: gconv.h:46 chan: @1907 cnst: @1908 @1891 integer_cst type: @3 low : 5 @1892 identifier_node strg: _pos lngt: 4 @1893 identifier_node strg: _cur_column lngt: 11 @1894 field_decl name: @1909 type: @57 scpe: @1656 srcp: libio.h:301 chan: @1910 size: @12 algn: 8 bpos: @1911 @1895 integer_cst type: @11 low : 1024 @1896 identifier_node strg: __int8_t lngt: 8 @1897 integer_type name: @1879 unql: @57 size: @12 algn: 8 prec: 8 sign: signed min : @59 max : @60 @1898 type_decl name: @1912 type: @1913 srcp: types.h:41 chan: @1914 @1899 tree_list valu: @3 chan: @137 @1900 function_decl name: @1915 mngl: @1916 type: @1882 srcp: :0 chan: @1917 body: undefined link: extern @1901 integer_cst type: @136 low : 1 @1902 identifier_node strg: __rlim64_t lngt: 10 @1903 integer_type name: @1887 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @1904 type_decl name: @1918 type: @1919 srcp: types.h:150 chan: @1920 @1905 tree_list purp: @1906 valu: @1908 chan: @1921 @1906 identifier_node strg: __GCONV_ILLEGAL_INPUT lngt: 21 @1907 const_decl name: @1922 type: @1781 srcp: gconv.h:47 chan: @1923 cnst: @1924 @1908 integer_cst type: @3 low : 6 @1909 identifier_node strg: _vtable_offset lngt: 14 @1910 field_decl name: @1925 type: @1926 scpe: @1656 srcp: libio.h:302 chan: @1927 size: @12 algn: 8 bpos: @1928 @1911 integer_cst type: @11 low : 1040 @1912 identifier_node strg: __uint8_t lngt: 9 @1913 integer_type name: @1898 unql: @62 size: @12 algn: 8 prec: 8 sign: unsigned min : @64 max : @65 @1914 type_decl name: @1929 type: @1930 srcp: types.h:42 chan: @1931 @1915 identifier_node strg: __builtin_putchar_unlocked lngt: 26 @1916 identifier_node strg: putchar_unlocked lngt: 16 @1917 function_decl name: @1916 type: @1882 srcp: stdio.h:509 chan: @1932 body: undefined link: extern @1918 identifier_node strg: __id_t lngt: 6 @1919 integer_type name: @1904 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @1920 type_decl name: @1933 type: @1934 srcp: types.h:151 chan: @1935 @1921 tree_list purp: @1922 valu: @1924 chan: @1936 @1922 identifier_node strg: __GCONV_INCOMPLETE_INPUT lngt: 24 @1923 const_decl name: @1937 type: @1781 srcp: gconv.h:49 chan: @1938 cnst: @1939 @1924 integer_cst type: @3 low : 7 @1925 identifier_node strg: _shortbuf lngt: 9 @1926 array_type size: @12 algn: 8 elts: @9 domn: @123 @1927 field_decl name: @1940 type: @1941 scpe: @1656 srcp: libio.h:306 chan: @1942 size: @22 algn: 64 bpos: @1943 @1928 integer_cst type: @11 low : 1048 @1929 identifier_node strg: __int16_t lngt: 9 @1930 integer_type name: @1914 unql: @46 size: @48 algn: 16 prec: 16 sign: signed min : @49 max : @50 @1931 type_decl name: @1944 type: @1945 srcp: types.h:43 chan: @1946 @1932 function_decl name: @1947 mngl: @1948 type: @1949 srcp: :0 chan: @1950 body: undefined link: extern @1933 identifier_node strg: __time_t lngt: 8 @1934 integer_type name: @1920 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @1935 type_decl name: @1951 type: @1952 srcp: types.h:152 chan: @1953 @1936 tree_list purp: @1937 valu: @1939 chan: @1954 @1937 identifier_node strg: __GCONV_ILLEGAL_DESCRIPTOR lngt: 26 @1938 const_decl name: @1955 type: @1781 srcp: gconv.h:51 chan: @1956 cnst: @1957 @1939 integer_cst type: @3 low : 8 @1940 identifier_node strg: _lock lngt: 5 @1941 pointer_type size: @22 algn: 64 ptd : @1958 @1942 field_decl name: @1959 type: @1779 scpe: @1656 srcp: libio.h:315 chan: @1960 size: @22 algn: 64 bpos: @1961 @1943 integer_cst type: @11 low : 1088 @1944 identifier_node strg: __uint16_t lngt: 10 @1945 integer_type name: @1931 unql: @52 size: @48 algn: 16 prec: 16 sign: unsigned min : @54 max : @55 @1946 type_decl name: @1962 type: @1963 srcp: types.h:44 chan: @1964 @1947 identifier_node strg: __builtin_puts lngt: 14 @1948 identifier_node strg: puts lngt: 4 @1949 function_type size: @12 algn: 8 retn: @3 prms: @1965 @1950 function_decl name: @1948 type: @1949 srcp: stdio.h:591 chan: @1966 body: undefined link: extern @1951 identifier_node strg: __useconds_t lngt: 12 @1952 integer_type name: @1935 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @1953 type_decl name: @1967 type: @1968 srcp: types.h:153 chan: @1969 @1954 tree_list purp: @1955 valu: @1957 @1955 identifier_node strg: __GCONV_INTERNAL_ERROR lngt: 22 @1956 type_decl type: @1970 srcp: gconv.h:56 chan: @1971 @1957 integer_cst type: @3 low : 9 @1958 void_type name: @1972 unql: @115 algn: 8 @1959 identifier_node strg: _offset lngt: 7 @1960 field_decl name: @1973 type: @147 scpe: @1656 srcp: libio.h:324 chan: @1974 size: @22 algn: 64 bpos: @1975 @1961 integer_cst type: @11 low : 1152 @1962 identifier_node strg: __int32_t lngt: 9 @1963 integer_type name: @1946 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @1964 type_decl name: @1976 type: @1977 srcp: types.h:45 chan: @1978 @1965 tree_list valu: @809 chan: @137 @1966 function_decl name: @1979 mngl: @1980 type: @1949 srcp: :0 chan: @1981 body: undefined link: extern @1967 identifier_node strg: __suseconds_t lngt: 13 @1968 integer_type name: @1953 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @1969 type_decl name: @1982 type: @1983 srcp: types.h:155 chan: @1984 @1970 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @1985 @1971 const_decl name: @1986 type: @1970 srcp: gconv.h:57 chan: @1987 cnst: @1817 @1972 type_decl name: @1988 type: @1958 srcp: libio.h:176 chan: @1989 @1973 identifier_node strg: __pad1 lngt: 6 @1974 field_decl name: @1990 type: @147 scpe: @1656 srcp: libio.h:325 chan: @1991 size: @22 algn: 64 bpos: @1992 @1975 integer_cst type: @11 low : 1216 @1976 identifier_node strg: __uint32_t lngt: 10 @1977 integer_type name: @1964 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @1978 type_decl name: @1993 type: @1994 srcp: types.h:47 chan: @1995 @1979 identifier_node strg: __builtin_puts_unlocked lngt: 23 @1980 identifier_node strg: puts_unlocked lngt: 13 @1981 function_decl name: @1980 type: @1949 srcp: :0 chan: @1996 body: undefined link: extern @1982 identifier_node strg: __daddr_t lngt: 9 @1983 integer_type name: @1969 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @1984 type_decl name: @1997 type: @1998 srcp: types.h:156 chan: @1999 @1985 tree_list purp: @1986 valu: @1817 chan: @2000 @1986 identifier_node strg: __GCONV_IS_LAST lngt: 15 @1987 const_decl name: @2001 type: @1970 srcp: gconv.h:59 chan: @2002 cnst: @1834 @1988 identifier_node strg: _IO_lock_t lngt: 10 @1989 type_decl type: @1818 srcp: libio.h:182 chan: @2003 @1990 identifier_node strg: __pad2 lngt: 6 @1991 field_decl name: @2004 type: @147 scpe: @1656 srcp: libio.h:326 chan: @2005 size: @22 algn: 64 bpos: @2006 @1992 integer_cst type: @11 low : 1280 @1993 identifier_node strg: __int64_t lngt: 9 @1994 integer_type name: @1978 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @1995 type_decl name: @2007 type: @2008 srcp: types.h:48 chan: @2009 @1996 function_decl name: @2010 mngl: @2011 type: @2012 srcp: :0 chan: @2013 body: undefined link: extern @1997 identifier_node strg: __swblk_t lngt: 9 @1998 integer_type name: @1984 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @1999 type_decl name: @2014 type: @2015 srcp: types.h:157 chan: @2016 @2000 tree_list purp: @2001 valu: @1834 @2001 identifier_node strg: __GCONV_IGNORE_ERRORS lngt: 21 @2002 type_decl type: @2017 srcp: gconv.h:63 chan: @2018 @2003 type_decl type: @2019 srcp: libio.h:203 chan: @2020 @2004 identifier_node strg: __pad3 lngt: 6 @2005 field_decl name: @2021 type: @147 scpe: @1656 srcp: libio.h:327 chan: @2022 size: @22 algn: 64 bpos: @2023 @2006 integer_cst type: @11 low : 1344 @2007 identifier_node strg: __uint64_t lngt: 10 @2008 integer_type name: @1995 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2009 type_decl name: @2024 type: @2025 srcp: types.h:56 chan: @2026 @2010 identifier_node strg: __builtin_scanf lngt: 15 @2011 identifier_node strg: scanf lngt: 5 @2012 function_type size: @12 algn: 8 retn: @3 prms: @1827 @2013 function_decl name: @2011 type: @2012 srcp: stdio.h:401 chan: @2027 body: undefined link: extern @2014 identifier_node strg: __key_t lngt: 7 @2015 integer_type name: @1999 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2016 type_decl name: @2028 type: @2029 srcp: types.h:160 chan: @2030 @2017 record_type name: @2031 size: @1822 algn: 64 tag : struct flds: @2032 @2018 type_decl type: @2033 srcp: gconv.h:64 chan: @2034 @2019 enumeral_type name: @2035 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @2036 @2020 const_decl name: @2037 type: @2019 srcp: libio.h:204 chan: @2038 cnst: @1796 @2021 identifier_node strg: __pad4 lngt: 6 @2022 field_decl name: @2039 type: @1772 scpe: @1656 srcp: libio.h:328 chan: @2040 size: @22 algn: 64 bpos: @2041 @2023 integer_cst type: @11 low : 1408 @2024 identifier_node strg: __quad_t lngt: 8 @2025 integer_type name: @2009 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2026 type_decl name: @2042 type: @2043 srcp: types.h:57 chan: @2044 @2027 function_decl name: @2045 mngl: @2046 type: @2047 srcp: :0 chan: @2048 body: undefined link: extern @2028 identifier_node strg: __clockid_t lngt: 11 @2029 integer_type name: @2016 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2030 type_decl name: @2049 type: @2050 srcp: types.h:163 chan: @2051 @2031 identifier_node strg: __gconv_step lngt: 12 @2032 field_decl name: @2052 type: @2053 scpe: @2017 srcp: gconv.h:117 chan: @2054 size: @22 algn: 64 bpos: @20 @2033 record_type name: @2055 size: @1733 algn: 64 tag : struct flds: @2056 @2034 type_decl type: @2057 srcp: gconv.h:65 chan: @2058 @2035 identifier_node strg: __codecvt_result lngt: 16 @2036 tree_list purp: @2037 valu: @1796 chan: @2059 @2037 identifier_node strg: __codecvt_ok lngt: 12 @2038 const_decl name: @2060 type: @2019 srcp: libio.h:205 chan: @2061 cnst: @1817 @2039 identifier_node strg: __pad5 lngt: 6 @2040 field_decl name: @2062 type: @3 scpe: @1656 srcp: libio.h:330 chan: @2063 size: @5 algn: 32 bpos: @2064 @2041 integer_cst type: @11 low : 1472 @2042 identifier_node strg: __u_quad_t lngt: 10 @2043 integer_type name: @2026 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2044 type_decl name: @2065 type: @2066 srcp: types.h:136 chan: @2067 @2045 identifier_node strg: __builtin_snprintf lngt: 18 @2046 identifier_node strg: snprintf lngt: 8 @2047 function_type size: @12 algn: 8 retn: @3 prms: @2068 @2048 function_decl name: @2046 type: @2069 srcp: stdio.h:355 chan: @2070 body: undefined link: extern @2049 identifier_node strg: __timer_t lngt: 9 @2050 integer_type name: @2030 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2051 type_decl name: @2071 type: @2072 srcp: types.h:166 chan: @2073 @2052 identifier_node strg: __shlib_handle lngt: 14 @2053 pointer_type size: @22 algn: 64 ptd : @2057 @2054 field_decl name: @2074 type: @809 scpe: @2017 srcp: gconv.h:118 chan: @2075 size: @22 algn: 64 bpos: @22 @2055 identifier_node strg: __gconv_step_data lngt: 17 @2056 field_decl name: @2076 type: @2077 scpe: @2033 srcp: gconv.h:147 chan: @2078 size: @22 algn: 64 bpos: @20 @2057 record_type name: @2079 algn: 8 tag : struct @2058 type_decl type: @2080 srcp: gconv.h:66 chan: @2081 @2059 tree_list purp: @2060 valu: @1817 chan: @2082 @2060 identifier_node strg: __codecvt_partial lngt: 17 @2061 const_decl name: @2083 type: @2019 srcp: libio.h:206 chan: @2084 cnst: @1834 @2062 identifier_node strg: _mode lngt: 5 @2063 field_decl name: @2085 type: @2086 scpe: @1656 srcp: libio.h:332 size: @2087 algn: 8 bpos: @2088 @2064 integer_cst type: @11 low : 1536 @2065 identifier_node strg: __dev_t lngt: 7 @2066 integer_type name: @2044 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2067 type_decl name: @2089 type: @2090 srcp: types.h:137 chan: @2091 @2068 tree_list valu: @1493 chan: @2092 @2069 function_type size: @12 algn: 8 retn: @3 prms: @2093 @2070 function_decl name: @2094 mngl: @2095 type: @2096 srcp: :0 chan: @2097 body: undefined link: extern @2071 identifier_node strg: __blksize_t lngt: 11 @2072 integer_type name: @2051 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2073 type_decl name: @2098 type: @2099 srcp: types.h:171 chan: @2100 @2074 identifier_node strg: __modname lngt: 9 @2075 field_decl name: @2101 type: @3 scpe: @2017 srcp: gconv.h:120 chan: @2102 size: @5 algn: 32 bpos: @19 @2076 identifier_node strg: __outbuf lngt: 8 @2077 pointer_type size: @22 algn: 64 ptd : @62 @2078 field_decl name: @2103 type: @2077 scpe: @2033 srcp: gconv.h:148 chan: @2104 size: @22 algn: 64 bpos: @22 @2079 identifier_node strg: __gconv_loaded_object lngt: 21 @2080 record_type name: @2105 size: @1710 algn: 64 tag : struct flds: @2106 @2081 type_decl name: @2107 type: @2108 srcp: gconv.h:72 chan: @2109 @2082 tree_list purp: @2083 valu: @1834 chan: @2110 @2083 identifier_node strg: __codecvt_error lngt: 15 @2084 const_decl name: @2111 type: @2019 srcp: libio.h:208 chan: @2112 cnst: @1853 @2085 identifier_node strg: _unused2 lngt: 8 @2086 array_type size: @2087 algn: 8 elts: @9 domn: @2113 @2087 integer_cst type: @11 low : 160 @2088 integer_cst type: @11 low : 1568 @2089 identifier_node strg: __uid_t lngt: 7 @2090 integer_type name: @2067 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @2091 type_decl name: @2114 type: @2115 srcp: types.h:138 chan: @2116 @2092 tree_list valu: @31 chan: @2117 @2093 tree_list valu: @1493 chan: @2118 @2094 identifier_node strg: __builtin_sprintf lngt: 17 @2095 identifier_node strg: sprintf lngt: 7 @2096 function_type size: @12 algn: 8 retn: @3 prms: @2119 @2097 function_decl name: @2095 type: @2096 srcp: stdio.h:332 chan: @2120 body: undefined link: extern @2098 identifier_node strg: __blkcnt_t lngt: 10 @2099 integer_type name: @2073 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2100 type_decl name: @2121 type: @2122 srcp: types.h:172 chan: @2123 @2101 identifier_node strg: __counter lngt: 9 @2102 field_decl name: @2124 type: @1493 scpe: @2017 srcp: gconv.h:122 chan: @2125 size: @22 algn: 64 bpos: @121 @2103 identifier_node strg: __outbufend lngt: 11 @2104 field_decl name: @2126 type: @3 scpe: @2033 srcp: gconv.h:152 chan: @2127 size: @5 algn: 32 bpos: @19 @2105 identifier_node strg: __gconv_trans_data lngt: 18 @2106 field_decl name: @2128 type: @2129 scpe: @2080 srcp: gconv.h:106 chan: @2130 size: @22 algn: 64 bpos: @20 @2107 identifier_node strg: __gconv_fct lngt: 11 @2108 pointer_type name: @2081 unql: @2131 size: @22 algn: 64 ptd : @2132 @2109 type_decl name: @2133 type: @2134 srcp: gconv.h:75 chan: @2135 @2110 tree_list purp: @2111 valu: @1853 @2111 identifier_node strg: __codecvt_noconv lngt: 16 @2112 type_decl name: @1664 type: @2136 srcp: libio.h:337 chan: @2137 @2113 integer_type size: @22 algn: 64 prec: 64 sign: signed min : @130 max : @2138 @2114 identifier_node strg: __gid_t lngt: 7 @2115 integer_type name: @2091 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @2116 type_decl name: @2139 type: @2140 srcp: types.h:139 chan: @2141 @2117 tree_list valu: @809 @2118 tree_list valu: @1772 chan: @2142 @2119 tree_list valu: @1493 chan: @2143 @2120 function_decl name: @2144 mngl: @2145 type: @2146 srcp: :0 chan: @2147 body: undefined link: extern @2121 identifier_node strg: __blkcnt64_t lngt: 12 @2122 integer_type name: @2100 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2123 type_decl name: @2148 type: @2149 srcp: types.h:175 chan: @2150 @2124 identifier_node strg: __from_name lngt: 11 @2125 field_decl name: @2151 type: @1493 scpe: @2017 srcp: gconv.h:123 chan: @2152 size: @22 algn: 64 bpos: @113 @2126 identifier_node strg: __flags lngt: 7 @2127 field_decl name: @2153 type: @3 scpe: @2033 srcp: gconv.h:156 chan: @2154 size: @5 algn: 32 bpos: @2087 @2128 identifier_node strg: __trans_fct lngt: 11 @2129 pointer_type name: @2155 unql: @2156 size: @22 algn: 64 ptd : @2157 @2130 field_decl name: @2158 type: @2159 scpe: @2080 srcp: gconv.h:107 chan: @2160 size: @22 algn: 64 bpos: @22 @2131 pointer_type size: @22 algn: 64 ptd : @2132 @2132 function_type size: @12 algn: 8 retn: @3 prms: @2161 @2133 identifier_node strg: __gconv_btowc_fct lngt: 17 @2134 pointer_type name: @2109 unql: @2162 size: @22 algn: 64 ptd : @2163 @2135 type_decl name: @2164 type: @2165 srcp: gconv.h:78 chan: @2166 @2136 record_type name: @2112 unql: @1656 size: @1657 algn: 64 tag : struct flds: @1658 @2137 type_decl type: @2167 srcp: libio.h:340 chan: @2168 @2138 integer_cst type: @136 low : 19 @2139 identifier_node strg: __ino_t lngt: 7 @2140 integer_type name: @2116 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2141 type_decl name: @2169 type: @2170 srcp: types.h:140 chan: @2171 @2142 tree_list valu: @809 @2143 tree_list valu: @809 @2144 identifier_node strg: __builtin_sscanf lngt: 16 @2145 identifier_node strg: sscanf lngt: 6 @2146 function_type size: @12 algn: 8 retn: @3 prms: @2172 @2147 function_decl name: @2145 type: @2146 srcp: stdio.h:404 chan: @2173 body: undefined link: extern @2148 identifier_node strg: __fsblkcnt_t lngt: 12 @2149 integer_type name: @2123 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2150 type_decl name: @2174 type: @2175 srcp: types.h:176 chan: @2176 @2151 identifier_node strg: __to_name lngt: 9 @2152 field_decl name: @2177 type: @2108 scpe: @2017 srcp: gconv.h:125 chan: @2178 size: @22 algn: 64 bpos: @1710 @2153 identifier_node strg: __invocation_counter lngt: 20 @2154 field_decl name: @2179 type: @3 scpe: @2033 srcp: gconv.h:160 chan: @2180 size: @5 algn: 32 bpos: @121 @2155 type_decl name: @2181 type: @2129 srcp: gconv.h:88 chan: @2182 @2156 pointer_type size: @22 algn: 64 ptd : @2157 @2157 function_type size: @12 algn: 8 retn: @3 prms: @2183 @2158 identifier_node strg: __trans_context_fct lngt: 19 @2159 pointer_type name: @2182 unql: @2184 size: @22 algn: 64 ptd : @2185 @2160 field_decl name: @2186 type: @2187 scpe: @2080 srcp: gconv.h:108 chan: @2188 size: @22 algn: 64 bpos: @19 @2161 tree_list valu: @2189 chan: @2190 @2162 pointer_type size: @22 algn: 64 ptd : @2163 @2163 function_type size: @12 algn: 8 retn: @1689 prms: @2191 @2164 identifier_node strg: __gconv_init_fct lngt: 16 @2165 pointer_type name: @2135 unql: @2192 size: @22 algn: 64 ptd : @2193 @2166 type_decl name: @2194 type: @2195 srcp: gconv.h:79 chan: @2155 @2167 record_type name: @2196 algn: 8 tag : struct @2168 type_decl name: @2197 type: @2198 srcp: libio.h:360 chan: @2199 @2169 identifier_node strg: __ino64_t lngt: 9 @2170 integer_type name: @2141 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2171 type_decl name: @2200 type: @2201 srcp: types.h:141 chan: @2202 @2172 tree_list valu: @809 chan: @2203 @2173 function_decl name: @2204 mngl: @2205 type: @2206 srcp: :0 chan: @2207 body: undefined link: extern @2174 identifier_node strg: __fsblkcnt64_t lngt: 14 @2175 integer_type name: @2150 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2176 type_decl name: @2208 type: @2209 srcp: types.h:179 chan: @2210 @2177 identifier_node strg: __fct lngt: 5 @2178 field_decl name: @2211 type: @2134 scpe: @2017 srcp: gconv.h:126 chan: @2212 size: @22 algn: 64 bpos: @1721 @2179 identifier_node strg: __internal_use lngt: 14 @2180 field_decl name: @2213 type: @2214 scpe: @2033 srcp: gconv.h:162 chan: @2215 size: @22 algn: 64 bpos: @113 @2181 identifier_node strg: __gconv_trans_fct lngt: 17 @2182 type_decl name: @2216 type: @2159 srcp: gconv.h:93 chan: @2217 @2183 tree_list valu: @2189 chan: @2218 @2184 pointer_type size: @22 algn: 64 ptd : @2185 @2185 function_type size: @12 algn: 8 retn: @3 prms: @2219 @2186 identifier_node strg: __trans_end_fct lngt: 15 @2187 pointer_type name: @2220 unql: @2221 size: @22 algn: 64 ptd : @2222 @2188 field_decl name: @2223 type: @147 scpe: @2080 srcp: gconv.h:109 chan: @2224 size: @22 algn: 64 bpos: @121 @2189 pointer_type size: @22 algn: 64 ptd : @2017 @2190 tree_list valu: @2225 chan: @2226 @2191 tree_list valu: @2189 chan: @2227 @2192 pointer_type size: @22 algn: 64 ptd : @2193 @2193 function_type size: @12 algn: 8 retn: @3 prms: @2228 @2194 identifier_node strg: __gconv_end_fct lngt: 15 @2195 pointer_type name: @2166 unql: @2229 size: @22 algn: 64 ptd : @2230 @2196 identifier_node strg: _IO_FILE_plus lngt: 13 @2197 identifier_node strg: __io_read_fn lngt: 12 @2198 function_type name: @2168 unql: @2231 size: @12 algn: 8 retn: @2232 prms: @2233 @2199 type_decl name: @2234 type: @2235 srcp: libio.h:369 chan: @2236 @2200 identifier_node strg: __mode_t lngt: 8 @2201 integer_type name: @2171 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @2202 type_decl name: @2237 type: @2238 srcp: types.h:142 chan: @1762 @2203 tree_list valu: @809 @2204 identifier_node strg: __builtin_vfprintf lngt: 18 @2205 identifier_node strg: vfprintf lngt: 8 @2206 function_type size: @12 algn: 8 retn: @3 prms: @2239 @2207 function_decl name: @2205 type: @2240 srcp: stdio.h:339 chan: @2241 body: undefined link: extern @2208 identifier_node strg: __fsfilcnt_t lngt: 12 @2209 integer_type name: @2176 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2210 type_decl name: @2242 type: @2243 srcp: types.h:180 chan: @2244 @2211 identifier_node strg: __btowc_fct lngt: 11 @2212 field_decl name: @2245 type: @2165 scpe: @2017 srcp: gconv.h:127 chan: @2246 size: @22 algn: 64 bpos: @1733 @2213 identifier_node strg: __statep lngt: 8 @2214 pointer_type size: @22 algn: 64 ptd : @1717 @2215 field_decl name: @1763 type: @1717 scpe: @2033 srcp: gconv.h:163 chan: @2247 size: @22 algn: 32 bpos: @1710 @2216 identifier_node strg: __gconv_trans_context_fct lngt: 25 @2217 type_decl name: @2248 type: @2249 srcp: gconv.h:97 chan: @2250 @2218 tree_list valu: @2225 chan: @2251 @2219 tree_list valu: @147 chan: @2252 @2220 type_decl name: @2253 type: @2187 srcp: gconv.h:101 chan: @2254 @2221 pointer_type size: @22 algn: 64 ptd : @2222 @2222 function_type size: @12 algn: 8 retn: @115 prms: @2255 @2223 identifier_node strg: __data lngt: 6 @2224 field_decl name: @2256 type: @2257 scpe: @2080 srcp: gconv.h:110 size: @22 algn: 64 bpos: @113 @2225 pointer_type size: @22 algn: 64 ptd : @2033 @2226 tree_list valu: @2258 chan: @2259 @2227 tree_list valu: @62 chan: @137 @2228 tree_list valu: @2189 chan: @137 @2229 pointer_type size: @22 algn: 64 ptd : @2230 @2230 function_type size: @12 algn: 8 retn: @115 prms: @2260 @2231 function_type size: @12 algn: 8 retn: @2232 prms: @2233 @2232 integer_type name: @2244 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2233 tree_list valu: @147 chan: @2261 @2234 identifier_node strg: __io_write_fn lngt: 13 @2235 function_type name: @2199 unql: @2262 size: @12 algn: 8 retn: @2232 prms: @2263 @2236 type_decl name: @2264 type: @2265 srcp: libio.h:377 chan: @2266 @2237 identifier_node strg: __nlink_t lngt: 9 @2238 integer_type name: @2202 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2239 tree_list valu: @147 chan: @2267 @2240 function_type size: @12 algn: 8 retn: @3 prms: @2268 @2241 function_decl name: @2269 mngl: @2270 type: @2271 srcp: :0 chan: @2272 body: undefined link: extern @2242 identifier_node strg: __fsfilcnt64_t lngt: 14 @2243 integer_type name: @2210 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2244 type_decl name: @2273 type: @2232 srcp: types.h:182 chan: @2274 @2245 identifier_node strg: __init_fct lngt: 10 @2246 field_decl name: @2275 type: @2195 scpe: @2017 srcp: gconv.h:128 chan: @2276 size: @22 algn: 64 bpos: @1744 @2247 field_decl name: @2277 type: @2257 scpe: @2033 srcp: gconv.h:167 size: @22 algn: 64 bpos: @1721 @2248 identifier_node strg: __gconv_trans_query_fct lngt: 23 @2249 pointer_type name: @2217 unql: @2278 size: @22 algn: 64 ptd : @2279 @2250 type_decl name: @2280 type: @2281 srcp: gconv.h:100 chan: @2220 @2251 tree_list valu: @147 chan: @2282 @2252 tree_list valu: @2283 chan: @2284 @2253 identifier_node strg: __gconv_trans_end_fct lngt: 21 @2254 type_decl type: @2285 srcp: gconv.h:173 chan: @2286 @2255 tree_list valu: @147 chan: @137 @2256 identifier_node strg: __next lngt: 6 @2257 pointer_type size: @22 algn: 64 ptd : @2080 @2258 pointer_type size: @22 algn: 64 ptd : @2283 @2259 tree_list valu: @2283 chan: @2287 @2260 tree_list valu: @2189 chan: @137 @2261 tree_list valu: @1493 chan: @2288 @2262 function_type size: @12 algn: 8 retn: @2232 prms: @2263 @2263 tree_list valu: @147 chan: @2289 @2264 identifier_node strg: __io_seek_fn lngt: 12 @2265 function_type name: @2236 unql: @2290 size: @12 algn: 8 retn: @3 prms: @2291 @2266 type_decl name: @2292 type: @2293 srcp: libio.h:380 chan: @2294 @2267 tree_list valu: @809 chan: @2295 @2268 tree_list valu: @1645 chan: @2296 @2269 identifier_node strg: __builtin_vfscanf lngt: 17 @2270 identifier_node strg: vfscanf lngt: 7 @2271 function_type size: @12 algn: 8 retn: @3 prms: @2239 @2272 function_decl name: @2270 type: @2271 srcp: :0 chan: @2297 body: undefined link: extern @2273 identifier_node strg: __ssize_t lngt: 9 @2274 type_decl name: @2298 type: @2299 srcp: types.h:186 chan: @2300 @2275 identifier_node strg: __end_fct lngt: 9 @2276 field_decl name: @2301 type: @3 scpe: @2017 srcp: gconv.h:132 chan: @2302 size: @5 algn: 32 bpos: @1757 @2277 identifier_node strg: __trans lngt: 7 @2278 pointer_type size: @22 algn: 64 ptd : @2279 @2279 function_type size: @12 algn: 8 retn: @3 prms: @2303 @2280 identifier_node strg: __gconv_trans_init_fct lngt: 22 @2281 pointer_type name: @2250 unql: @2304 size: @22 algn: 64 ptd : @2305 @2282 tree_list valu: @2283 chan: @2306 @2283 pointer_type size: @22 algn: 64 ptd : @2307 @2284 tree_list valu: @2283 chan: @2308 @2285 record_type name: @2309 size: @19 algn: 64 tag : struct flds: @2310 @2286 type_decl name: @2311 type: @2312 srcp: gconv.h:177 chan: @2313 @2287 tree_list valu: @2314 chan: @2315 @2288 tree_list valu: @1772 chan: @137 @2289 tree_list valu: @809 chan: @2316 @2290 function_type size: @12 algn: 8 retn: @3 prms: @2291 @2291 tree_list valu: @147 chan: @2317 @2292 identifier_node strg: __io_close_fn lngt: 13 @2293 function_type name: @2266 unql: @2318 size: @12 algn: 8 retn: @3 prms: @2319 @2294 type_decl name: @2320 type: @2321 srcp: stdio.h:88 chan: @2322 @2295 tree_list valu: @2323 chan: @137 @2296 tree_list valu: @1650 chan: @2324 @2297 function_decl name: @2325 mngl: @2326 type: @2327 srcp: :0 chan: @2328 body: undefined link: extern @2298 identifier_node strg: __loff_t lngt: 8 @2299 integer_type name: @2274 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2300 type_decl name: @2329 type: @2330 srcp: types.h:187 chan: @2331 @2301 identifier_node strg: __min_needed_from lngt: 17 @2302 field_decl name: @2332 type: @3 scpe: @2017 srcp: gconv.h:133 chan: @2333 size: @5 algn: 32 bpos: @2334 @2303 tree_list valu: @809 chan: @2335 @2304 pointer_type size: @22 algn: 64 ptd : @2305 @2305 function_type size: @12 algn: 8 retn: @3 prms: @2336 @2306 tree_list valu: @2258 chan: @2337 @2307 integer_type qual: c name: @58 unql: @62 size: @12 algn: 8 prec: 8 sign: unsigned min : @64 max : @65 @2308 tree_list valu: @2077 chan: @2338 @2309 identifier_node strg: __gconv_info lngt: 12 @2310 field_decl name: @2339 type: @1772 scpe: @2285 srcp: gconv.h:174 chan: @2340 size: @22 algn: 64 bpos: @20 @2311 identifier_node strg: __gconv_t lngt: 9 @2312 pointer_type name: @2286 unql: @2341 size: @22 algn: 64 ptd : @2285 @2313 type_decl type: @2342 srcp: _G_config.h:46 chan: @2343 @2314 pointer_type size: @22 algn: 64 ptd : @2077 @2315 tree_list valu: @2344 chan: @2345 @2316 tree_list valu: @1772 chan: @137 @2317 tree_list valu: @2346 chan: @2347 @2318 function_type size: @12 algn: 8 retn: @3 prms: @2319 @2319 tree_list valu: @147 chan: @137 @2320 identifier_node strg: fpos_t lngt: 6 @2321 record_type name: @2294 unql: @1729 size: @19 algn: 64 tag : struct flds: @1738 @2322 type_decl name: @2348 type: @2349 srcp: types.h:35 chan: @2350 @2323 pointer_type size: @22 algn: 64 ptd : @122 @2324 tree_list valu: @2323 chan: @137 @2325 identifier_node strg: __builtin_vprintf lngt: 17 @2326 identifier_node strg: vprintf lngt: 7 @2327 function_type size: @12 algn: 8 retn: @3 prms: @2351 @2328 function_decl name: @2326 type: @2327 srcp: stdio.h:344 chan: @2352 body: undefined link: extern @2329 identifier_node strg: __qaddr_t lngt: 9 @2330 pointer_type name: @2300 unql: @2353 size: @22 algn: 64 ptd : @2025 @2331 type_decl name: @2354 type: @2355 srcp: types.h:188 chan: @2356 @2332 identifier_node strg: __max_needed_from lngt: 17 @2333 field_decl name: @2357 type: @3 scpe: @2017 srcp: gconv.h:134 chan: @2358 size: @5 algn: 32 bpos: @1770 @2334 integer_cst type: @11 low : 608 @2335 tree_list valu: @2359 chan: @2360 @2336 tree_list valu: @2361 chan: @2362 @2337 tree_list valu: @2283 chan: @2363 @2338 tree_list valu: @2077 chan: @137 @2339 identifier_node strg: __nsteps lngt: 8 @2340 field_decl name: @2364 type: @2189 scpe: @2285 srcp: gconv.h:175 chan: @2365 size: @22 algn: 64 bpos: @22 @2341 pointer_type size: @22 algn: 64 ptd : @2285 @2342 union_type size: @1757 algn: 64 tag : union flds: @2366 @2343 type_decl type: @2367 srcp: _G_config.h:49 chan: @2368 @2344 pointer_type size: @22 algn: 64 ptd : @1772 @2345 tree_list valu: @3 chan: @2369 @2346 pointer_type size: @22 algn: 64 ptd : @1779 @2347 tree_list valu: @3 chan: @137 @2348 identifier_node strg: u_char lngt: 6 @2349 integer_type name: @2322 unql: @62 size: @12 algn: 8 prec: 8 sign: unsigned min : @64 max : @65 @2350 type_decl name: @2370 type: @2371 srcp: types.h:36 chan: @2372 @2351 tree_list valu: @809 chan: @2373 @2352 function_decl name: @2374 mngl: @2375 type: @2376 srcp: :0 chan: @2377 body: undefined link: extern @2353 pointer_type size: @22 algn: 64 ptd : @2025 @2354 identifier_node strg: __caddr_t lngt: 9 @2355 pointer_type name: @2331 unql: @1493 size: @22 algn: 64 ptd : @9 @2356 type_decl name: @2378 type: @2379 srcp: types.h:191 chan: @2380 @2357 identifier_node strg: __min_needed_to lngt: 15 @2358 field_decl name: @2381 type: @3 scpe: @2017 srcp: gconv.h:135 chan: @2382 size: @5 algn: 32 bpos: @2383 @2359 pointer_type size: @22 algn: 64 ptd : @2384 @2360 tree_list valu: @2344 chan: @137 @2361 pointer_type size: @22 algn: 64 ptd : @147 @2362 tree_list valu: @809 chan: @137 @2363 tree_list valu: @2314 chan: @2385 @2364 identifier_node strg: __steps lngt: 7 @2365 field_decl name: @2223 type: @2386 scpe: @2285 srcp: gconv.h:176 algn: 64 bpos: @19 @2366 field_decl name: @2387 type: @2285 scpe: @2342 srcp: _G_config.h:47 chan: @2388 size: @19 algn: 64 bpos: @20 @2367 record_type size: @1757 algn: 64 tag : struct flds: @2389 @2368 type_decl name: @2390 type: @2391 srcp: _G_config.h:53 chan: @2392 @2369 tree_list valu: @3 chan: @137 @2370 identifier_node strg: u_short lngt: 7 @2371 integer_type name: @2350 unql: @52 size: @48 algn: 16 prec: 16 sign: unsigned min : @54 max : @55 @2372 type_decl name: @2393 type: @2394 srcp: types.h:37 chan: @2395 @2373 tree_list valu: @2323 chan: @137 @2374 identifier_node strg: __builtin_vscanf lngt: 16 @2375 identifier_node strg: vscanf lngt: 6 @2376 function_type size: @12 algn: 8 retn: @3 prms: @2351 @2377 function_decl name: @2375 type: @2376 srcp: :0 chan: @2396 body: undefined link: extern @2378 identifier_node strg: __intptr_t lngt: 10 @2379 integer_type name: @2356 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2380 type_decl name: @2397 type: @2398 srcp: types.h:194 chan: @2399 @2381 identifier_node strg: __max_needed_to lngt: 15 @2382 field_decl name: @2400 type: @3 scpe: @2017 srcp: gconv.h:138 chan: @2401 size: @5 algn: 32 bpos: @1785 @2383 integer_cst type: @11 low : 672 @2384 pointer_type size: @22 algn: 64 ptd : @809 @2385 tree_list valu: @2344 chan: @137 @2386 array_type algn: 64 elts: @2033 domn: @2402 @2387 identifier_node strg: __cd lngt: 4 @2388 field_decl name: @2403 type: @2367 scpe: @2342 srcp: _G_config.h:52 size: @1757 algn: 64 bpos: @20 @2389 field_decl name: @2387 type: @2285 scpe: @2367 srcp: _G_config.h:50 chan: @2404 size: @19 algn: 64 bpos: @20 @2390 identifier_node strg: _G_iconv_t lngt: 10 @2391 union_type name: @2368 unql: @2342 size: @1757 algn: 64 tag : union flds: @2366 @2392 type_decl name: @2405 type: @2406 srcp: _G_config.h:55 chan: @2407 @2393 identifier_node strg: u_int lngt: 5 @2394 integer_type name: @2372 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @2395 type_decl name: @2408 type: @2409 srcp: types.h:38 chan: @2410 @2396 function_decl name: @2411 mngl: @2412 type: @2413 srcp: :0 chan: @2414 body: undefined link: extern @2397 identifier_node strg: __socklen_t lngt: 11 @2398 integer_type name: @2380 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @2399 type_decl type: @1656 srcp: stdio.h:46 chan: @1655 @2400 identifier_node strg: __stateful lngt: 10 @2401 field_decl name: @2223 type: @147 scpe: @2017 srcp: gconv.h:140 size: @22 algn: 64 bpos: @1800 @2402 integer_type size: @22 algn: 64 prec: 64 sign: signed min : @130 @2403 identifier_node strg: __combined lngt: 10 @2404 field_decl name: @2223 type: @2033 scpe: @2367 srcp: _G_config.h:51 size: @1733 algn: 64 bpos: @19 @2405 identifier_node strg: _G_int16_t lngt: 10 @2406 integer_type name: @2392 unql: @46 size: @48 algn: 16 prec: 16 sign: signed min : @49 max : @50 @2407 type_decl name: @2415 type: @2416 srcp: _G_config.h:56 chan: @2417 @2408 identifier_node strg: u_long lngt: 6 @2409 integer_type name: @2395 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2410 type_decl name: @2418 type: @2419 srcp: types.h:39 chan: @2420 @2411 identifier_node strg: __builtin_vsnprintf lngt: 19 @2412 identifier_node strg: vsnprintf lngt: 9 @2413 function_type size: @12 algn: 8 retn: @3 prms: @2421 @2414 function_decl name: @2412 type: @2422 srcp: stdio.h:359 chan: @2423 body: undefined link: extern @2415 identifier_node strg: _G_int32_t lngt: 10 @2416 integer_type name: @2407 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2417 type_decl name: @2424 type: @2425 srcp: _G_config.h:57 chan: @2426 @2418 identifier_node strg: quad_t lngt: 6 @2419 integer_type name: @2410 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2420 type_decl name: @2427 type: @2428 srcp: types.h:40 chan: @2429 @2421 tree_list valu: @1493 chan: @2430 @2422 function_type size: @12 algn: 8 retn: @3 prms: @2431 @2423 function_decl name: @2432 mngl: @2433 type: @2434 srcp: :0 chan: @2435 body: undefined link: extern @2424 identifier_node strg: _G_uint16_t lngt: 11 @2425 integer_type name: @2417 unql: @52 size: @48 algn: 16 prec: 16 sign: unsigned min : @54 max : @55 @2426 type_decl name: @2436 type: @2437 srcp: _G_config.h:58 chan: @2438 @2427 identifier_node strg: u_quad_t lngt: 8 @2428 integer_type name: @2420 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2429 type_decl name: @2439 type: @2440 srcp: types.h:41 chan: @2441 @2430 tree_list valu: @31 chan: @2442 @2431 tree_list valu: @1493 chan: @2443 @2432 identifier_node strg: __builtin_vsprintf lngt: 18 @2433 identifier_node strg: vsprintf lngt: 8 @2434 function_type size: @12 algn: 8 retn: @3 prms: @2444 @2435 function_decl name: @2433 type: @2434 srcp: stdio.h:347 chan: @2445 body: undefined link: extern @2436 identifier_node strg: _G_uint32_t lngt: 11 @2437 integer_type name: @2426 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @2438 type_decl name: @2446 type: @2447 srcp: stdarg.h:43 chan: @2448 @2439 identifier_node strg: fsid_t lngt: 6 @2440 record_type name: @2429 unql: @1829 size: @22 algn: 32 tag : struct flds: @1846 @2441 type_decl name: @2449 type: @2450 srcp: types.h:46 chan: @2451 @2442 tree_list valu: @809 chan: @2452 @2443 tree_list valu: @1772 chan: @2453 @2444 tree_list valu: @1493 chan: @2454 @2445 function_decl name: @2455 mngl: @2456 type: @2457 srcp: :0 chan: @2458 body: undefined link: extern @2446 identifier_node strg: __gnuc_va_list lngt: 14 @2447 array_type name: @2438 unql: @120 size: @121 algn: 64 elts: @122 domn: @123 @2448 type_decl type: @2459 srcp: libio.h:166 chan: @1972 @2449 identifier_node strg: loff_t lngt: 6 @2450 integer_type name: @2441 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2451 type_decl name: @2460 type: @2461 srcp: types.h:50 chan: @2462 @2452 tree_list valu: @2323 chan: @137 @2453 tree_list valu: @809 chan: @2463 @2454 tree_list valu: @809 chan: @2464 @2455 identifier_node strg: __builtin_vsscanf lngt: 17 @2456 identifier_node strg: vsscanf lngt: 7 @2457 function_type size: @12 algn: 8 retn: @3 prms: @2465 @2458 function_decl name: @2456 type: @2457 srcp: :0 chan: @2466 body: undefined link: extern @2459 record_type name: @2467 algn: 8 tag : struct @2460 identifier_node strg: ino_t lngt: 5 @2461 integer_type name: @2451 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2462 type_decl name: @2468 type: @2469 srcp: types.h:62 chan: @2470 @2463 tree_list valu: @2323 chan: @2471 @2464 tree_list valu: @2323 chan: @137 @2465 tree_list valu: @809 chan: @2472 @2466 function_decl name: @2473 mngl: @2474 type: @1882 srcp: :0 chan: @2475 body: undefined link: extern @2467 identifier_node strg: _IO_jump_t lngt: 10 @2468 identifier_node strg: dev_t lngt: 5 @2469 integer_type name: @2462 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2470 type_decl name: @2476 type: @2477 srcp: types.h:67 chan: @2478 @2471 tree_list valu: @115 @2472 tree_list valu: @809 chan: @2479 @2473 identifier_node strg: __builtin_isalnum lngt: 17 @2474 identifier_node strg: isalnum lngt: 7 @2475 function_decl name: @2474 type: @1882 srcp: :0 chan: @2480 body: undefined link: extern @2476 identifier_node strg: gid_t lngt: 5 @2477 integer_type name: @2470 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @2478 type_decl name: @2481 type: @2482 srcp: types.h:72 chan: @2483 @2479 tree_list valu: @2323 chan: @137 @2480 function_decl name: @2484 mngl: @2485 type: @1882 srcp: :0 chan: @2486 body: undefined link: extern @2481 identifier_node strg: mode_t lngt: 6 @2482 integer_type name: @2478 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @2483 type_decl name: @2487 type: @2488 srcp: types.h:77 chan: @2489 @2484 identifier_node strg: __builtin_isalpha lngt: 17 @2485 identifier_node strg: isalpha lngt: 7 @2486 function_decl name: @2485 type: @1882 srcp: :0 chan: @2490 body: undefined link: extern @2487 identifier_node strg: nlink_t lngt: 7 @2488 integer_type name: @2483 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2489 type_decl name: @2491 type: @2492 srcp: types.h:82 chan: @2493 @2490 function_decl name: @2494 mngl: @2495 type: @1882 srcp: :0 chan: @2496 body: undefined link: extern @2491 identifier_node strg: uid_t lngt: 5 @2492 integer_type name: @2489 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @2493 type_decl name: @2497 type: @2498 srcp: types.h:88 chan: @2499 @2494 identifier_node strg: __builtin_isascii lngt: 17 @2495 identifier_node strg: isascii lngt: 7 @2496 function_decl name: @2495 type: @1882 srcp: :0 chan: @2500 body: undefined link: extern @2497 identifier_node strg: off_t lngt: 5 @2498 integer_type name: @2493 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2499 type_decl name: @2501 type: @2502 srcp: types.h:100 chan: @2503 @2500 function_decl name: @2504 mngl: @2505 type: @1882 srcp: :0 chan: @2506 body: undefined link: extern @2501 identifier_node strg: pid_t lngt: 5 @2502 integer_type name: @2499 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2503 type_decl name: @2507 type: @2508 srcp: types.h:105 chan: @2509 @2504 identifier_node strg: __builtin_isblank lngt: 17 @2505 identifier_node strg: isblank lngt: 7 @2506 function_decl name: @2505 type: @1882 srcp: :0 chan: @2510 body: undefined link: extern @2507 identifier_node strg: id_t lngt: 4 @2508 integer_type name: @2503 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @2509 type_decl name: @2511 type: @2512 srcp: types.h:110 chan: @2513 @2510 function_decl name: @2514 mngl: @2515 type: @1882 srcp: :0 chan: @2516 body: undefined link: extern @2511 identifier_node strg: ssize_t lngt: 7 @2512 integer_type name: @2509 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2513 type_decl name: @2517 type: @2518 srcp: types.h:116 chan: @2519 @2514 identifier_node strg: __builtin_iscntrl lngt: 17 @2515 identifier_node strg: iscntrl lngt: 7 @2516 function_decl name: @2515 type: @1882 srcp: :0 chan: @2520 body: undefined link: extern @2517 identifier_node strg: daddr_t lngt: 7 @2518 integer_type name: @2513 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2519 type_decl name: @2521 type: @2522 srcp: types.h:117 chan: @2523 @2520 function_decl name: @2524 mngl: @2525 type: @1882 srcp: :0 chan: @2526 body: undefined link: extern @2521 identifier_node strg: caddr_t lngt: 7 @2522 pointer_type name: @2519 unql: @1493 size: @22 algn: 64 ptd : @9 @2523 type_decl name: @2527 type: @2528 srcp: types.h:123 chan: @2529 @2524 identifier_node strg: __builtin_isdigit lngt: 17 @2525 identifier_node strg: isdigit lngt: 7 @2526 function_decl name: @2525 type: @1882 srcp: :0 chan: @2530 body: undefined link: extern @2527 identifier_node strg: key_t lngt: 5 @2528 integer_type name: @2523 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2529 type_decl name: @2531 type: @2532 srcp: time.h:76 chan: @2533 @2530 function_decl name: @2534 mngl: @2535 type: @1882 srcp: :0 chan: @2536 body: undefined link: extern @2531 identifier_node strg: time_t lngt: 6 @2532 integer_type name: @2529 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2533 type_decl name: @2537 type: @2538 srcp: time.h:92 chan: @2539 @2534 identifier_node strg: __builtin_isgraph lngt: 17 @2535 identifier_node strg: isgraph lngt: 7 @2536 function_decl name: @2535 type: @1882 srcp: :0 chan: @2540 body: undefined link: extern @2537 identifier_node strg: clockid_t lngt: 9 @2538 integer_type name: @2533 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2539 type_decl name: @2541 type: @2542 srcp: time.h:104 chan: @2543 @2540 function_decl name: @2544 mngl: @2545 type: @1882 srcp: :0 chan: @2546 body: undefined link: extern @2541 identifier_node strg: timer_t lngt: 7 @2542 integer_type name: @2539 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2543 type_decl name: @2547 type: @2548 srcp: types.h:151 chan: @2549 @2544 identifier_node strg: __builtin_islower lngt: 17 @2545 identifier_node strg: islower lngt: 7 @2546 function_decl name: @2545 type: @1882 srcp: :0 chan: @2550 body: undefined link: extern @2547 identifier_node strg: ulong lngt: 5 @2548 integer_type name: @2543 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2549 type_decl name: @2551 type: @2552 srcp: types.h:152 chan: @2553 @2550 function_decl name: @2554 mngl: @2555 type: @1882 srcp: :0 chan: @2556 body: undefined link: extern @2551 identifier_node strg: ushort lngt: 6 @2552 integer_type name: @2549 unql: @52 size: @48 algn: 16 prec: 16 sign: unsigned min : @54 max : @55 @2553 type_decl name: @2557 type: @2558 srcp: types.h:153 chan: @2559 @2554 identifier_node strg: __builtin_isprint lngt: 17 @2555 identifier_node strg: isprint lngt: 7 @2556 function_decl name: @2555 type: @1882 srcp: :0 chan: @2560 body: undefined link: extern @2557 identifier_node strg: uint lngt: 4 @2558 integer_type name: @2553 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @2559 type_decl name: @2561 type: @2562 srcp: types.h:191 chan: @2563 @2560 function_decl name: @2564 mngl: @2565 type: @1882 srcp: :0 chan: @2566 body: undefined link: extern @2561 identifier_node strg: int8_t lngt: 6 @2562 integer_type name: @2559 unql: @57 size: @12 algn: 8 prec: 8 sign: signed min : @59 max : @60 @2563 type_decl name: @2567 type: @2568 srcp: types.h:192 chan: @2569 @2564 identifier_node strg: __builtin_ispunct lngt: 17 @2565 identifier_node strg: ispunct lngt: 7 @2566 function_decl name: @2565 type: @1882 srcp: :0 chan: @2570 body: undefined link: extern @2567 identifier_node strg: int16_t lngt: 7 @2568 integer_type name: @2563 unql: @46 size: @48 algn: 16 prec: 16 sign: signed min : @49 max : @50 @2569 type_decl name: @2571 type: @2572 srcp: types.h:193 chan: @2573 @2570 function_decl name: @2574 mngl: @2575 type: @1882 srcp: :0 chan: @2576 body: undefined link: extern @2571 identifier_node strg: int32_t lngt: 7 @2572 integer_type name: @2569 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2573 type_decl name: @2577 type: @2578 srcp: types.h:194 chan: @2579 @2574 identifier_node strg: __builtin_isspace lngt: 17 @2575 identifier_node strg: isspace lngt: 7 @2576 function_decl name: @2575 type: @1882 srcp: :0 chan: @2580 body: undefined link: extern @2577 identifier_node strg: int64_t lngt: 7 @2578 integer_type name: @2573 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2579 type_decl name: @2581 type: @2582 srcp: types.h:197 chan: @2583 @2580 function_decl name: @2584 mngl: @2585 type: @1882 srcp: :0 chan: @2586 body: undefined link: extern @2581 identifier_node strg: u_int8_t lngt: 8 @2582 integer_type name: @2579 unql: @62 size: @12 algn: 8 prec: 8 sign: unsigned min : @64 max : @65 @2583 type_decl name: @2587 type: @2588 srcp: types.h:198 chan: @2589 @2584 identifier_node strg: __builtin_isupper lngt: 17 @2585 identifier_node strg: isupper lngt: 7 @2586 function_decl name: @2585 type: @1882 srcp: :0 chan: @2590 body: undefined link: extern @2587 identifier_node strg: u_int16_t lngt: 9 @2588 integer_type name: @2583 unql: @52 size: @48 algn: 16 prec: 16 sign: unsigned min : @54 max : @55 @2589 type_decl name: @2591 type: @2592 srcp: types.h:199 chan: @2593 @2590 function_decl name: @2594 mngl: @2595 type: @1882 srcp: :0 chan: @2596 body: undefined link: extern @2591 identifier_node strg: u_int32_t lngt: 9 @2592 integer_type name: @2589 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @2593 type_decl name: @2597 type: @2598 srcp: types.h:200 chan: @2599 @2594 identifier_node strg: __builtin_isxdigit lngt: 18 @2595 identifier_node strg: isxdigit lngt: 8 @2596 function_decl name: @2595 type: @1882 srcp: :0 chan: @2600 body: undefined link: extern @2597 identifier_node strg: u_int64_t lngt: 9 @2598 integer_type name: @2593 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2599 type_decl name: @2601 type: @2602 srcp: types.h:202 chan: @2603 @2600 function_decl name: @2604 mngl: @2605 type: @1882 srcp: :0 chan: @2606 body: undefined link: extern @2601 identifier_node strg: register_t lngt: 10 @2602 integer_type name: @2599 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2603 type_decl name: @2607 type: @2608 srcp: sigset.h:23 chan: @2609 @2604 identifier_node strg: __builtin_toascii lngt: 17 @2605 identifier_node strg: toascii lngt: 7 @2606 function_decl name: @2605 type: @1882 srcp: :0 chan: @2610 body: undefined link: extern @2607 identifier_node strg: __sig_atomic_t lngt: 14 @2608 integer_type name: @2603 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2609 type_decl type: @2611 srcp: sigset.h:29 chan: @2612 @2610 function_decl name: @2613 mngl: @2614 type: @1882 srcp: :0 chan: @2615 body: undefined link: extern @2611 record_type size: @1895 algn: 64 tag : struct flds: @2616 @2612 type_decl name: @2617 type: @2618 srcp: sigset.h:31 chan: @2619 @2613 identifier_node strg: __builtin_tolower lngt: 17 @2614 identifier_node strg: tolower lngt: 7 @2615 function_decl name: @2614 type: @1882 srcp: :0 chan: @2620 body: undefined link: extern @2616 field_decl name: @1863 type: @2621 scpe: @2611 srcp: sigset.h:30 size: @1895 algn: 64 bpos: @20 @2617 identifier_node strg: __sigset_t lngt: 10 @2618 record_type name: @2612 unql: @2611 size: @1895 algn: 64 tag : struct flds: @2616 @2619 type_decl name: @2622 type: @2623 srcp: select.h:38 chan: @2624 @2620 function_decl name: @2625 mngl: @2626 type: @1882 srcp: :0 chan: @2627 body: undefined link: extern @2621 array_type size: @1895 algn: 64 elts: @31 domn: @2628 @2622 identifier_node strg: sigset_t lngt: 8 @2623 record_type name: @2619 unql: @2611 size: @1895 algn: 64 tag : struct flds: @2616 @2624 type_decl type: @2629 srcp: time.h:119 chan: @2630 @2625 identifier_node strg: __builtin_toupper lngt: 17 @2626 identifier_node strg: toupper lngt: 7 @2627 function_decl name: @2626 type: @1882 srcp: :0 chan: @2631 body: undefined link: extern @2628 integer_type size: @22 algn: 64 prec: 64 sign: signed min : @130 max : @2632 @2629 record_type name: @2633 size: @19 algn: 64 tag : struct flds: @2634 @2630 type_decl type: @2635 srcp: time.h:70 chan: @2636 @2631 function_decl name: @2637 mngl: @2638 type: @2639 srcp: :0 chan: @2640 body: undefined link: extern @2632 integer_cst type: @136 low : 15 @2633 identifier_node strg: timespec lngt: 8 @2634 field_decl name: @2641 type: @1934 scpe: @2629 srcp: time.h:120 chan: @2642 size: @22 algn: 64 bpos: @20 @2635 record_type name: @2643 size: @19 algn: 64 tag : struct flds: @2644 @2636 type_decl name: @2645 type: @2646 srcp: select.h:49 chan: @2647 @2637 identifier_node strg: __builtin_iswalnum lngt: 18 @2638 identifier_node strg: iswalnum lngt: 8 @2639 function_type size: @12 algn: 8 retn: @3 prms: @2648 @2640 function_decl name: @2638 type: @2639 srcp: :0 chan: @2649 body: undefined link: extern @2641 identifier_node strg: tv_sec lngt: 6 @2642 field_decl name: @2650 type: @16 scpe: @2629 srcp: time.h:121 size: @22 algn: 64 bpos: @22 @2643 identifier_node strg: timeval lngt: 7 @2644 field_decl name: @2641 type: @1934 scpe: @2635 srcp: time.h:71 chan: @2651 size: @22 algn: 64 bpos: @20 @2645 identifier_node strg: suseconds_t lngt: 11 @2646 integer_type name: @2636 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2647 type_decl name: @2652 type: @2653 srcp: select.h:55 chan: @2654 @2648 tree_list valu: @26 chan: @137 @2649 function_decl name: @2655 mngl: @2656 type: @2639 srcp: :0 chan: @2657 body: undefined link: extern @2650 identifier_node strg: tv_nsec lngt: 7 @2651 field_decl name: @2658 type: @1968 scpe: @2635 srcp: time.h:72 size: @22 algn: 64 bpos: @22 @2652 identifier_node strg: __fd_mask lngt: 9 @2653 integer_type name: @2647 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2654 type_decl type: @2659 srcp: select.h:68 chan: @2660 @2655 identifier_node strg: __builtin_iswalpha lngt: 18 @2656 identifier_node strg: iswalpha lngt: 8 @2657 function_decl name: @2656 type: @2639 srcp: :0 chan: @2661 body: undefined link: extern @2658 identifier_node strg: tv_usec lngt: 7 @2659 record_type size: @1895 algn: 64 tag : struct flds: @2662 @2660 type_decl name: @2663 type: @2664 srcp: select.h:78 chan: @2665 @2661 function_decl name: @2666 mngl: @2667 type: @2639 srcp: :0 chan: @2668 body: undefined link: extern @2662 field_decl name: @2669 type: @2670 scpe: @2659 srcp: select.h:75 size: @1895 algn: 64 bpos: @20 @2663 identifier_node strg: fd_set lngt: 6 @2664 record_type name: @2660 unql: @2659 size: @1895 algn: 64 tag : struct flds: @2662 @2665 type_decl name: @2671 type: @2672 srcp: select.h:85 chan: @2673 @2666 identifier_node strg: __builtin_iswblank lngt: 18 @2667 identifier_node strg: iswblank lngt: 8 @2668 function_decl name: @2667 type: @2639 srcp: :0 chan: @2674 body: undefined link: extern @2669 identifier_node strg: __fds_bits lngt: 10 @2670 array_type size: @1895 algn: 64 elts: @2653 domn: @2628 @2671 identifier_node strg: fd_mask lngt: 7 @2672 integer_type name: @2665 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2673 type_decl name: @2675 type: @2676 srcp: types.h:231 chan: @2677 @2674 function_decl name: @2678 mngl: @2679 type: @2639 srcp: :0 chan: @2680 body: undefined link: extern @2675 identifier_node strg: blkcnt_t lngt: 8 @2676 integer_type name: @2673 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2677 type_decl name: @2681 type: @2682 srcp: types.h:235 chan: @2683 @2678 identifier_node strg: __builtin_iswcntrl lngt: 18 @2679 identifier_node strg: iswcntrl lngt: 8 @2680 function_decl name: @2679 type: @2639 srcp: :0 chan: @2684 body: undefined link: extern @2681 identifier_node strg: fsblkcnt_t lngt: 10 @2682 integer_type name: @2677 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2683 type_decl name: @2685 type: @2686 srcp: types.h:239 chan: @2687 @2684 function_decl name: @2688 mngl: @2689 type: @2639 srcp: :0 chan: @2690 body: undefined link: extern @2685 identifier_node strg: fsfilcnt_t lngt: 10 @2686 integer_type name: @2683 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2687 type_decl type: @2691 srcp: sched.h:84 chan: @2692 @2688 identifier_node strg: __builtin_iswdigit lngt: 18 @2689 identifier_node strg: iswdigit lngt: 8 @2690 function_decl name: @2689 type: @2639 srcp: :0 chan: @2693 body: undefined link: extern @2691 record_type name: @2694 size: @5 algn: 32 tag : struct flds: @2695 @2692 type_decl type: @2696 srcp: pthreadtypes.h:27 chan: @2697 @2693 function_decl name: @2698 mngl: @2699 type: @2639 srcp: :0 chan: @2700 body: undefined link: extern @2694 identifier_node strg: __sched_param lngt: 13 @2695 field_decl name: @2701 type: @3 scpe: @2691 srcp: sched.h:85 size: @5 algn: 32 bpos: @20 @2696 record_type name: @2702 size: @19 algn: 64 tag : struct flds: @2703 @2697 type_decl type: @2704 srcp: pthreadtypes.h:35 chan: @2705 @2698 identifier_node strg: __builtin_iswgraph lngt: 18 @2699 identifier_node strg: iswgraph lngt: 8 @2700 function_decl name: @2699 type: @2639 srcp: :0 chan: @2706 body: undefined link: extern @2701 identifier_node strg: __sched_priority lngt: 16 @2702 identifier_node strg: _pthread_fastlock lngt: 17 @2703 field_decl name: @2707 type: @16 scpe: @2696 srcp: pthreadtypes.h:28 chan: @2708 size: @22 algn: 64 bpos: @20 @2704 record_type name: @2709 algn: 8 tag : struct @2705 type_decl name: @2710 type: @2711 srcp: pthreadtypes.h:35 chan: @2712 @2706 function_decl name: @2713 mngl: @2714 type: @2639 srcp: :0 chan: @2715 body: undefined link: extern @2707 identifier_node strg: __status lngt: 8 @2708 field_decl name: @2716 type: @3 scpe: @2696 srcp: pthreadtypes.h:29 size: @5 algn: 32 bpos: @22 @2709 identifier_node strg: _pthread_descr_struct lngt: 21 @2710 identifier_node strg: _pthread_descr lngt: 14 @2711 pointer_type name: @2705 unql: @2717 size: @22 algn: 64 ptd : @2704 @2712 type_decl type: @2718 srcp: pthreadtypes.h:42 chan: @2719 @2713 identifier_node strg: __builtin_iswlower lngt: 18 @2714 identifier_node strg: iswlower lngt: 8 @2715 function_decl name: @2714 type: @2639 srcp: :0 chan: @2720 body: undefined link: extern @2716 identifier_node strg: __spinlock lngt: 10 @2717 pointer_type size: @22 algn: 64 ptd : @2704 @2718 record_type name: @2721 size: @1733 algn: 64 tag : struct flds: @2722 @2719 type_decl name: @2723 type: @2724 srcp: pthreadtypes.h:52 chan: @2725 @2720 function_decl name: @2726 mngl: @2727 type: @2639 srcp: :0 chan: @2728 body: undefined link: extern @2721 identifier_node strg: __pthread_attr_s lngt: 16 @2722 field_decl name: @2729 type: @3 scpe: @2718 srcp: pthreadtypes.h:43 chan: @2730 size: @5 algn: 32 bpos: @20 @2723 identifier_node strg: pthread_attr_t lngt: 14 @2724 record_type name: @2719 unql: @2718 size: @1733 algn: 64 tag : struct flds: @2722 @2725 type_decl name: @2731 type: @2732 srcp: pthreadtypes.h:58 chan: @2733 @2726 identifier_node strg: __builtin_iswprint lngt: 18 @2727 identifier_node strg: iswprint lngt: 8 @2728 function_decl name: @2727 type: @2639 srcp: :0 chan: @2734 body: undefined link: extern @2729 identifier_node strg: __detachstate lngt: 13 @2730 field_decl name: @2735 type: @3 scpe: @2718 srcp: pthreadtypes.h:44 chan: @2736 size: @5 algn: 32 bpos: @5 @2731 identifier_node strg: __pthread_cond_align_t lngt: 22 @2732 integer_type name: @2725 unql: @36 size: @22 algn: 64 prec: 64 sign: signed min : @38 max : @39 @2733 type_decl type: @2737 srcp: pthreadtypes.h:64 chan: @2738 @2734 function_decl name: @2739 mngl: @2740 type: @2639 srcp: :0 chan: @2741 body: undefined link: extern @2735 identifier_node strg: __schedpolicy lngt: 13 @2736 field_decl name: @2742 type: @2691 scpe: @2718 srcp: pthreadtypes.h:45 chan: @2743 size: @5 algn: 32 bpos: @22 @2737 record_type size: @1721 algn: 64 tag : struct flds: @2744 @2738 type_decl name: @2745 type: @2746 srcp: pthreadtypes.h:70 chan: @2747 @2739 identifier_node strg: __builtin_iswpunct lngt: 18 @2740 identifier_node strg: iswpunct lngt: 8 @2741 function_decl name: @2740 type: @2639 srcp: :0 chan: @2748 body: undefined link: extern @2742 identifier_node strg: __schedparam lngt: 12 @2743 field_decl name: @2749 type: @3 scpe: @2718 srcp: pthreadtypes.h:46 chan: @2750 size: @5 algn: 32 bpos: @2751 @2744 field_decl name: @2752 type: @2696 scpe: @2737 srcp: pthreadtypes.h:65 chan: @2753 size: @19 algn: 64 bpos: @20 @2745 identifier_node strg: pthread_cond_t lngt: 14 @2746 record_type name: @2738 unql: @2737 size: @1721 algn: 64 tag : struct flds: @2744 @2747 type_decl type: @2754 srcp: pthreadtypes.h:75 chan: @2755 @2748 function_decl name: @2756 mngl: @2757 type: @2639 srcp: :0 chan: @2758 body: undefined link: extern @2749 identifier_node strg: __inheritsched lngt: 14 @2750 field_decl name: @2759 type: @3 scpe: @2718 srcp: pthreadtypes.h:47 chan: @2760 size: @5 algn: 32 bpos: @19 @2751 integer_cst type: @11 low : 96 @2752 identifier_node strg: __c_lock lngt: 8 @2753 field_decl name: @2761 type: @2711 scpe: @2737 srcp: pthreadtypes.h:66 chan: @2762 size: @22 algn: 64 bpos: @19 @2754 record_type size: @5 algn: 32 tag : struct flds: @2763 @2755 type_decl name: @2764 type: @2765 srcp: pthreadtypes.h:77 chan: @2766 @2756 identifier_node strg: __builtin_iswspace lngt: 18 @2757 identifier_node strg: iswspace lngt: 8 @2758 function_decl name: @2757 type: @2639 srcp: :0 chan: @2767 body: undefined link: extern @2759 identifier_node strg: __scope lngt: 7 @2760 field_decl name: @2768 type: @1772 scpe: @2718 srcp: pthreadtypes.h:48 chan: @2769 size: @22 algn: 64 bpos: @121 @2761 identifier_node strg: __c_waiting lngt: 11 @2762 field_decl name: @2770 type: @2771 scpe: @2737 srcp: pthreadtypes.h:68 chan: @2772 size: @19 algn: 8 bpos: @121 @2763 field_decl name: @2773 type: @3 scpe: @2754 srcp: pthreadtypes.h:76 size: @5 algn: 32 bpos: @20 @2764 identifier_node strg: pthread_condattr_t lngt: 18 @2765 record_type name: @2755 unql: @2754 size: @5 algn: 32 tag : struct flds: @2763 @2766 type_decl name: @2774 type: @2775 srcp: pthreadtypes.h:80 chan: @2776 @2767 function_decl name: @2777 mngl: @2778 type: @2639 srcp: :0 chan: @2779 body: undefined link: extern @2768 identifier_node strg: __guardsize lngt: 11 @2769 field_decl name: @2780 type: @3 scpe: @2718 srcp: pthreadtypes.h:49 chan: @2781 size: @5 algn: 32 bpos: @113 @2770 identifier_node strg: __padding lngt: 9 @2771 array_type size: @19 algn: 8 elts: @9 domn: @2628 @2772 field_decl name: @2782 type: @2732 scpe: @2737 srcp: pthreadtypes.h:69 size: @22 algn: 64 bpos: @1710 @2773 identifier_node strg: __dummy lngt: 7 @2774 identifier_node strg: pthread_key_t lngt: 13 @2775 integer_type name: @2766 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @2776 type_decl type: @2783 srcp: pthreadtypes.h:87 chan: @2784 @2777 identifier_node strg: __builtin_iswupper lngt: 18 @2778 identifier_node strg: iswupper lngt: 8 @2779 function_decl name: @2778 type: @2639 srcp: :0 chan: @2785 body: undefined link: extern @2780 identifier_node strg: __stackaddr_set lngt: 15 @2781 field_decl name: @2786 type: @147 scpe: @2718 srcp: pthreadtypes.h:50 chan: @2787 size: @22 algn: 64 bpos: @1710 @2782 identifier_node strg: __align lngt: 7 @2783 record_type size: @1710 algn: 64 tag : struct flds: @2788 @2784 type_decl name: @2789 type: @2790 srcp: pthreadtypes.h:93 chan: @2791 @2785 function_decl name: @2792 mngl: @2793 type: @2639 srcp: :0 chan: @2794 body: undefined link: extern @2786 identifier_node strg: __stackaddr lngt: 11 @2787 field_decl name: @2795 type: @1772 scpe: @2718 srcp: pthreadtypes.h:51 size: @22 algn: 64 bpos: @1721 @2788 field_decl name: @2796 type: @3 scpe: @2783 srcp: pthreadtypes.h:88 chan: @2797 size: @5 algn: 32 bpos: @20 @2789 identifier_node strg: pthread_mutex_t lngt: 15 @2790 record_type name: @2784 unql: @2783 size: @1710 algn: 64 tag : struct flds: @2788 @2791 type_decl type: @2798 srcp: pthreadtypes.h:98 chan: @2799 @2792 identifier_node strg: __builtin_iswxdigit lngt: 19 @2793 identifier_node strg: iswxdigit lngt: 9 @2794 function_decl name: @2793 type: @2639 srcp: :0 chan: @2800 body: undefined link: extern @2795 identifier_node strg: __stacksize lngt: 11 @2796 identifier_node strg: __m_reserved lngt: 12 @2797 field_decl name: @2801 type: @3 scpe: @2783 srcp: pthreadtypes.h:89 chan: @2802 size: @5 algn: 32 bpos: @5 @2798 record_type size: @5 algn: 32 tag : struct flds: @2803 @2799 type_decl name: @2804 type: @2805 srcp: pthreadtypes.h:100 chan: @2806 @2800 function_decl name: @2807 mngl: @2808 type: @2809 srcp: :0 chan: @2810 body: undefined link: extern @2801 identifier_node strg: __m_count lngt: 9 @2802 field_decl name: @2811 type: @2711 scpe: @2783 srcp: pthreadtypes.h:90 chan: @2812 size: @22 algn: 64 bpos: @22 @2803 field_decl name: @2813 type: @3 scpe: @2798 srcp: pthreadtypes.h:99 size: @5 algn: 32 bpos: @20 @2804 identifier_node strg: pthread_mutexattr_t lngt: 19 @2805 record_type name: @2799 unql: @2798 size: @5 algn: 32 tag : struct flds: @2803 @2806 type_decl name: @2814 type: @2815 srcp: pthreadtypes.h:104 chan: @2816 @2807 identifier_node strg: __builtin_towlower lngt: 18 @2808 identifier_node strg: towlower lngt: 8 @2809 function_type size: @12 algn: 8 retn: @26 prms: @2817 @2810 function_decl name: @2808 type: @2809 srcp: :0 chan: @2818 body: undefined link: extern @2811 identifier_node strg: __m_owner lngt: 9 @2812 field_decl name: @2819 type: @3 scpe: @2783 srcp: pthreadtypes.h:91 chan: @2820 size: @5 algn: 32 bpos: @19 @2813 identifier_node strg: __mutexkind lngt: 11 @2814 identifier_node strg: pthread_once_t lngt: 14 @2815 integer_type name: @2806 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2816 type_decl name: @2821 type: @2822 srcp: pthreadtypes.h:150 chan: @2823 @2817 tree_list valu: @26 chan: @137 @2818 function_decl name: @2824 mngl: @2825 type: @2809 srcp: :0 chan: @2826 body: undefined link: extern @2819 identifier_node strg: __m_kind lngt: 8 @2820 field_decl name: @2827 type: @2696 scpe: @2783 srcp: pthreadtypes.h:92 size: @19 algn: 64 bpos: @121 @2821 identifier_node strg: pthread_t lngt: 9 @2822 integer_type name: @2816 unql: @31 size: @22 algn: 64 prec: 64 sign: unsigned min : @33 max : @34 @2823 type_decl name: @2828 type: @2829 srcp: time.h:60 chan: @2830 @2824 identifier_node strg: __builtin_towupper lngt: 18 @2825 identifier_node strg: towupper lngt: 8 @2826 function_decl name: @2825 type: @2809 srcp: :0 chan: @2831 body: undefined link: extern @2827 identifier_node strg: __m_lock lngt: 8 @2828 identifier_node strg: clock_t lngt: 7 @2829 integer_type name: @2823 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @2830 type_decl type: @2832 srcp: time.h:132 chan: @2833 @2831 function_decl name: @2834 mngl: @2835 type: @2836 srcp: :0 chan: @2837 body: undefined link: extern @2832 record_type name: @2838 size: @1733 algn: 64 tag : struct flds: @2839 @2833 type_decl type: @2840 srcp: time.h:160 chan: @2841 @2834 identifier_node strg: __builtin_abort lngt: 15 @2835 identifier_node strg: abort lngt: 5 @2836 function_type size: @12 algn: 8 retn: @115 prms: @137 @2837 function_decl name: @2835 type: @2836 srcp: :0 chan: @2842 body: undefined link: extern @2838 identifier_node strg: tm lngt: 2 @2839 field_decl name: @2843 type: @3 scpe: @2832 srcp: time.h:133 chan: @2844 size: @5 algn: 32 bpos: @20 @2840 record_type name: @2845 size: @113 algn: 64 tag : struct flds: @2846 @2841 type_decl type: @2847 srcp: time.h:166 chan: @2848 @2842 function_decl name: @2849 mngl: @2850 type: @1882 srcp: :0 chan: @2851 body: undefined link: extern @2843 identifier_node strg: tm_sec lngt: 6 @2844 field_decl name: @2852 type: @3 scpe: @2832 srcp: time.h:134 chan: @2853 size: @5 algn: 32 bpos: @5 @2845 identifier_node strg: itimerspec lngt: 10 @2846 field_decl name: @2854 type: @2629 scpe: @2840 srcp: time.h:161 chan: @2855 size: @19 algn: 64 bpos: @20 @2847 record_type name: @2856 algn: 8 tag : struct @2848 type_decl type: @2857 srcp: uio.h:43 chan: @2858 @2849 identifier_node strg: __builtin_abs lngt: 13 @2850 identifier_node strg: abs lngt: 3 @2851 function_decl name: @2850 type: @1882 srcp: :0 chan: @2859 body: undefined link: extern @2852 identifier_node strg: tm_min lngt: 6 @2853 field_decl name: @2860 type: @3 scpe: @2832 srcp: time.h:135 chan: @2861 size: @5 algn: 32 bpos: @22 @2854 identifier_node strg: it_interval lngt: 11 @2855 field_decl name: @2862 type: @2629 scpe: @2840 srcp: time.h:162 size: @19 algn: 64 bpos: @19 @2856 identifier_node strg: sigevent lngt: 8 @2857 record_type name: @2863 size: @19 algn: 64 tag : struct flds: @2864 @2858 type_decl name: @2865 type: @2866 srcp: socket.h:36 chan: @2867 @2859 function_decl name: @2868 type: @2869 srcp: :0 chan: @2870 body: undefined link: extern @2860 identifier_node strg: tm_hour lngt: 7 @2861 field_decl name: @2871 type: @3 scpe: @2832 srcp: time.h:136 chan: @2872 size: @5 algn: 32 bpos: @2751 @2862 identifier_node strg: it_value lngt: 8 @2863 identifier_node strg: iovec lngt: 5 @2864 field_decl name: @2873 type: @147 scpe: @2857 srcp: uio.h:44 chan: @2874 size: @22 algn: 64 bpos: @20 @2865 identifier_node strg: socklen_t lngt: 9 @2866 integer_type name: @2858 unql: @26 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 @2867 type_decl type: @2875 srcp: socket.h:42 chan: @2876 @2868 identifier_node strg: __builtin_aggregate_incoming_address lngt: 36 @2869 function_type size: @12 algn: 8 retn: @147 @2870 function_decl name: @2877 mngl: @2878 type: @2879 srcp: :0 chan: @2880 body: undefined link: extern @2871 identifier_node strg: tm_mday lngt: 7 @2872 field_decl name: @2881 type: @3 scpe: @2832 srcp: time.h:137 chan: @2882 size: @5 algn: 32 bpos: @19 @2873 identifier_node strg: iov_base lngt: 8 @2874 field_decl name: @2883 type: @1772 scpe: @2857 srcp: uio.h:45 size: @22 algn: 64 bpos: @22 @2875 enumeral_type name: @2884 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @2885 @2876 const_decl name: @2886 type: @2875 srcp: socket.h:43 chan: @2887 cnst: @1817 @2877 identifier_node strg: __builtin_alloca lngt: 16 @2878 identifier_node strg: alloca lngt: 6 @2879 function_type size: @12 algn: 8 retn: @147 prms: @2888 @2880 function_decl name: @2878 type: @2879 srcp: :0 chan: @2889 body: undefined link: extern @2881 identifier_node strg: tm_mon lngt: 6 @2882 field_decl name: @2890 type: @3 scpe: @2832 srcp: time.h:138 chan: @2891 size: @5 algn: 32 bpos: @2087 @2883 identifier_node strg: iov_len lngt: 7 @2884 identifier_node strg: __socket_type lngt: 13 @2885 tree_list purp: @2886 valu: @1817 chan: @2892 @2886 identifier_node strg: SOCK_STREAM lngt: 11 @2887 const_decl name: @2893 type: @2875 srcp: socket.h:46 chan: @2894 cnst: @1834 @2888 tree_list valu: @31 chan: @137 @2889 function_decl name: @2895 type: @2896 srcp: :0 chan: @2897 body: undefined link: extern @2890 identifier_node strg: tm_year lngt: 7 @2891 field_decl name: @2898 type: @3 scpe: @2832 srcp: time.h:139 chan: @2899 size: @5 algn: 32 bpos: @121 @2892 tree_list purp: @2893 valu: @1834 chan: @2900 @2893 identifier_node strg: SOCK_DGRAM lngt: 10 @2894 const_decl name: @2901 type: @2875 srcp: socket.h:49 chan: @2902 cnst: @1853 @2895 identifier_node strg: __builtin_apply lngt: 15 @2896 function_type size: @12 algn: 8 retn: @147 prms: @2903 @2897 function_decl name: @2904 type: @2869 srcp: :0 chan: @2905 body: undefined link: extern @2898 identifier_node strg: tm_wday lngt: 7 @2899 field_decl name: @2906 type: @3 scpe: @2832 srcp: time.h:140 chan: @2907 size: @5 algn: 32 bpos: @2908 @2900 tree_list purp: @2901 valu: @1853 chan: @2909 @2901 identifier_node strg: SOCK_RAW lngt: 8 @2902 const_decl name: @2910 type: @2875 srcp: socket.h:51 chan: @2911 cnst: @1871 @2903 tree_list valu: @2912 chan: @2913 @2904 identifier_node strg: __builtin_apply_args lngt: 20 @2905 function_decl name: @2914 type: @1882 srcp: :0 chan: @2915 body: undefined link: extern @2906 identifier_node strg: tm_yday lngt: 7 @2907 field_decl name: @2916 type: @3 scpe: @2832 srcp: time.h:141 chan: @2917 size: @5 algn: 32 bpos: @113 @2908 integer_cst type: @11 low : 224 @2909 tree_list purp: @2910 valu: @1871 chan: @2918 @2910 identifier_node strg: SOCK_RDM lngt: 8 @2911 const_decl name: @2919 type: @2875 srcp: socket.h:53 chan: @2920 cnst: @1891 @2912 pointer_type size: @22 algn: 64 ptd : @2921 @2913 tree_list valu: @147 chan: @2922 @2914 identifier_node strg: __builtin_args_info lngt: 19 @2915 function_decl name: @2923 mngl: @2924 type: @2925 srcp: :0 chan: @2926 body: undefined link: extern @2916 identifier_node strg: tm_isdst lngt: 8 @2917 field_decl name: @2927 type: @16 scpe: @2832 srcp: time.h:144 chan: @2928 size: @22 algn: 64 bpos: @1710 @2918 tree_list purp: @2919 valu: @1891 chan: @2929 @2919 identifier_node strg: SOCK_SEQPACKET lngt: 14 @2920 const_decl name: @2930 type: @2875 srcp: socket.h:60 chan: @2931 cnst: @2932 @2921 function_type size: @12 algn: 8 retn: @115 @2922 tree_list valu: @31 chan: @137 @2923 identifier_node strg: __builtin_calloc lngt: 16 @2924 identifier_node strg: calloc lngt: 6 @2925 function_type size: @12 algn: 8 retn: @147 prms: @2933 @2926 function_decl name: @2924 type: @2925 srcp: :0 chan: @2934 body: undefined link: extern @2927 identifier_node strg: tm_gmtoff lngt: 9 @2928 field_decl name: @2935 type: @809 scpe: @2832 srcp: time.h:145 size: @22 algn: 64 bpos: @1721 @2929 tree_list purp: @2930 valu: @2932 @2930 identifier_node strg: SOCK_PACKET lngt: 11 @2931 type_decl name: @2936 type: @2937 srcp: sockaddr.h:29 chan: @2938 @2932 integer_cst type: @3 low : 10 @2933 tree_list valu: @31 chan: @2939 @2934 function_decl name: @2940 type: @2941 srcp: :0 chan: @2942 body: undefined link: extern @2935 identifier_node strg: tm_zone lngt: 7 @2936 identifier_node strg: sa_family_t lngt: 11 @2937 integer_type name: @2931 unql: @52 size: @48 algn: 16 prec: 16 sign: unsigned min : @54 max : @55 @2938 type_decl type: @2943 srcp: socket.h:146 chan: @2944 @2939 tree_list valu: @31 chan: @137 @2940 identifier_node strg: __builtin_classify_type lngt: 23 @2941 function_type size: @12 algn: 8 retn: @3 @2942 function_decl name: @2945 type: @2639 srcp: :0 chan: @2946 body: undefined link: extern @2943 record_type name: @2947 size: @19 algn: 16 tag : struct flds: @2948 @2944 type_decl type: @2949 srcp: socket.h:163 chan: @2950 @2945 identifier_node strg: __builtin_clz lngt: 13 @2946 function_decl name: @2951 type: @2952 srcp: :0 chan: @2953 body: undefined link: extern @2947 identifier_node strg: sockaddr lngt: 8 @2948 field_decl name: @2954 type: @2937 scpe: @2943 srcp: socket.h:147 chan: @2955 size: @48 algn: 16 bpos: @20 @2949 record_type name: @2956 size: @1895 algn: 64 tag : struct flds: @2957 @2950 type_decl type: @2958 srcp: socket.h:172 chan: @2959 @2951 identifier_node strg: __builtin_clzimax lngt: 17 @2952 function_type size: @12 algn: 8 retn: @3 prms: @2960 @2953 function_decl name: @2961 type: @2952 srcp: :0 chan: @2962 body: undefined link: extern @2954 identifier_node strg: sa_family lngt: 9 @2955 field_decl name: @2963 type: @2964 scpe: @2943 srcp: socket.h:148 size: @2965 algn: 8 bpos: @48 @2956 identifier_node strg: sockaddr_storage lngt: 16 @2957 field_decl name: @2966 type: @2937 scpe: @2949 srcp: socket.h:164 chan: @2967 size: @48 algn: 16 bpos: @20 @2958 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @2968 @2959 const_decl name: @2969 type: @2958 srcp: socket.h:173 chan: @2970 cnst: @1817 @2960 tree_list valu: @31 chan: @137 @2961 identifier_node strg: __builtin_clzl lngt: 14 @2962 function_decl name: @2971 type: @2972 srcp: :0 chan: @2973 body: undefined link: extern @2963 identifier_node strg: sa_data lngt: 7 @2964 array_type size: @2965 algn: 8 elts: @9 domn: @2974 @2965 integer_cst type: @11 low : 112 @2966 identifier_node strg: ss_family lngt: 9 @2967 field_decl name: @2975 type: @2008 scpe: @2949 srcp: socket.h:165 chan: @2976 size: @22 algn: 64 bpos: @22 @2968 tree_list purp: @2969 valu: @1817 chan: @2977 @2969 identifier_node strg: MSG_OOB lngt: 7 @2970 const_decl name: @2978 type: @2958 srcp: socket.h:175 chan: @2979 cnst: @1834 @2971 identifier_node strg: __builtin_clzll lngt: 15 @2972 function_type size: @12 algn: 8 retn: @3 prms: @2980 @2973 function_decl name: @2981 type: @2941 srcp: :0 chan: @2982 body: undefined link: extern @2974 integer_type size: @22 algn: 64 prec: 64 sign: signed min : @130 max : @2983 @2975 identifier_node strg: __ss_align lngt: 10 @2976 field_decl name: @2984 type: @2985 scpe: @2949 srcp: socket.h:166 size: @1839 algn: 8 bpos: @19 @2977 tree_list purp: @2978 valu: @1834 chan: @2986 @2978 identifier_node strg: MSG_PEEK lngt: 8 @2979 const_decl name: @2987 type: @2958 srcp: socket.h:177 chan: @2988 cnst: @1871 @2980 tree_list valu: @41 chan: @137 @2981 identifier_node strg: __builtin_constant_p lngt: 20 @2982 function_decl name: @2989 type: @2639 srcp: :0 chan: @2990 body: undefined link: extern @2983 integer_cst type: @136 low : 13 @2984 identifier_node strg: __ss_padding lngt: 12 @2985 array_type size: @1839 algn: 8 elts: @9 domn: @2991 @2986 tree_list purp: @2987 valu: @1871 chan: @2992 @2987 identifier_node strg: MSG_DONTROUTE lngt: 13 @2988 const_decl name: @2993 type: @2958 srcp: socket.h:184 chan: @2994 cnst: @1939 @2989 identifier_node strg: __builtin_ctz lngt: 13 @2990 function_decl name: @2995 type: @2952 srcp: :0 chan: @2996 body: undefined link: extern @2991 integer_type size: @22 algn: 64 prec: 64 sign: signed min : @130 max : @2997 @2992 tree_list purp: @2993 valu: @1939 chan: @2998 @2993 identifier_node strg: MSG_CTRUNC lngt: 10 @2994 const_decl name: @2999 type: @2958 srcp: socket.h:186 chan: @3000 cnst: @3001 @2995 identifier_node strg: __builtin_ctzimax lngt: 17 @2996 function_decl name: @3002 type: @2952 srcp: :0 chan: @3003 body: undefined link: extern @2997 integer_cst type: @136 low : 111 @2998 tree_list purp: @2999 valu: @3001 chan: @3004 @2999 identifier_node strg: MSG_PROXY lngt: 9 @3000 const_decl name: @3005 type: @2958 srcp: socket.h:188 chan: @3006 cnst: @3007 @3001 integer_cst type: @3 low : 16 @3002 identifier_node strg: __builtin_ctzl lngt: 14 @3003 function_decl name: @3008 type: @2972 srcp: :0 chan: @3009 body: undefined link: extern @3004 tree_list purp: @3005 valu: @3007 chan: @3010 @3005 identifier_node strg: MSG_TRUNC lngt: 9 @3006 const_decl name: @3011 type: @2958 srcp: socket.h:190 chan: @3012 cnst: @3013 @3007 integer_cst type: @3 low : 32 @3008 identifier_node strg: __builtin_ctzll lngt: 15 @3009 function_decl name: @3014 mngl: @3015 type: @3016 srcp: :0 chan: @3017 body: undefined link: extern @3010 tree_list purp: @3011 valu: @3013 chan: @3018 @3011 identifier_node strg: MSG_DONTWAIT lngt: 12 @3012 const_decl name: @3019 type: @2958 srcp: socket.h:192 chan: @3020 cnst: @3021 @3013 integer_cst type: @3 low : 64 @3014 identifier_node strg: __builtin_dcgettext lngt: 19 @3015 identifier_node strg: dcgettext lngt: 9 @3016 function_type size: @12 algn: 8 retn: @1493 prms: @3022 @3017 function_decl name: @3015 type: @3016 srcp: :0 chan: @3023 body: undefined link: extern @3018 tree_list purp: @3019 valu: @3021 chan: @3024 @3019 identifier_node strg: MSG_EOR lngt: 7 @3020 const_decl name: @3025 type: @2958 srcp: socket.h:194 chan: @3026 cnst: @3027 @3021 integer_cst type: @3 low : 128 @3022 tree_list valu: @809 chan: @3028 @3023 function_decl name: @3029 mngl: @3030 type: @3031 srcp: :0 chan: @3032 body: undefined link: extern @3024 tree_list purp: @3025 valu: @3027 chan: @3033 @3025 identifier_node strg: MSG_WAITALL lngt: 11 @3026 const_decl name: @3034 type: @2958 srcp: socket.h:196 chan: @3035 cnst: @3036 @3027 integer_cst type: @3 low : 256 @3028 tree_list valu: @809 chan: @3037 @3029 identifier_node strg: __builtin_dgettext lngt: 18 @3030 identifier_node strg: dgettext lngt: 8 @3031 function_type size: @12 algn: 8 retn: @1493 prms: @1618 @3032 function_decl name: @3030 type: @3031 srcp: :0 chan: @3038 body: undefined link: extern @3033 tree_list purp: @3034 valu: @3036 chan: @3039 @3034 identifier_node strg: MSG_FIN lngt: 7 @3035 const_decl name: @3040 type: @2958 srcp: socket.h:198 chan: @3041 cnst: @3042 @3036 integer_cst type: @3 low : 512 @3037 tree_list valu: @3 chan: @137 @3038 function_decl name: @3043 type: @3044 srcp: :0 chan: @3045 body: undefined link: extern @3039 tree_list purp: @3040 valu: @3042 chan: @3046 @3040 identifier_node strg: MSG_SYN lngt: 7 @3041 const_decl name: @3047 type: @2958 srcp: socket.h:200 chan: @3048 cnst: @3049 @3042 integer_cst type: @3 low : 1024 @3043 identifier_node strg: __builtin_dwarf_cfa lngt: 19 @3044 function_type size: @12 algn: 8 retn: @147 prms: @137 @3045 function_decl name: @3050 type: @3051 srcp: :0 chan: @3052 body: undefined link: extern @3046 tree_list purp: @3047 valu: @3049 chan: @3053 @3047 identifier_node strg: MSG_CONFIRM lngt: 11 @3048 const_decl name: @3054 type: @2958 srcp: socket.h:202 chan: @3055 cnst: @3056 @3049 integer_cst type: @3 low : 2048 @3050 identifier_node strg: __builtin_dwarf_sp_column lngt: 25 @3051 function_type size: @12 algn: 8 retn: @26 prms: @137 @3052 function_decl name: @3057 type: @3058 srcp: :0 chan: @3059 body: undefined link: extern @3053 tree_list purp: @3054 valu: @3056 chan: @3060 @3054 identifier_node strg: MSG_RST lngt: 7 @3055 const_decl name: @3061 type: @2958 srcp: socket.h:204 chan: @3062 cnst: @3063 @3056 integer_cst type: @3 low : 4096 @3057 identifier_node strg: __builtin_eh_return lngt: 19 @3058 function_type size: @12 algn: 8 retn: @115 prms: @3064 @3059 function_decl name: @3065 type: @1882 srcp: :0 chan: @3066 body: undefined link: extern @3060 tree_list purp: @3061 valu: @3063 chan: @3067 @3061 identifier_node strg: MSG_ERRQUEUE lngt: 12 @3062 const_decl name: @3068 type: @2958 srcp: socket.h:206 chan: @3069 cnst: @3070 @3063 integer_cst type: @3 low : 8192 @3064 tree_list valu: @16 chan: @3071 @3065 identifier_node strg: __builtin_eh_return_data_regno lngt: 30 @3066 function_decl name: @3072 mngl: @3073 type: @3074 srcp: :0 chan: @3075 body: undefined link: extern @3067 tree_list purp: @3068 valu: @3070 chan: @3076 @3068 identifier_node strg: MSG_NOSIGNAL lngt: 12 @3069 const_decl name: @3077 type: @2958 srcp: socket.h:210 chan: @3078 cnst: @3079 @3070 integer_cst type: @3 low : 16384 @3071 tree_list valu: @147 chan: @137 @3072 identifier_node strg: __builtin_execl lngt: 15 @3073 identifier_node strg: execl lngt: 5 @3074 function_type size: @12 algn: 8 retn: @3 prms: @2172 @3075 function_decl name: @3073 type: @3074 srcp: :0 chan: @3080 body: undefined link: extern @3076 tree_list purp: @3077 valu: @3079 @3077 identifier_node strg: MSG_MORE lngt: 8 @3078 type_decl type: @3081 srcp: socket.h:216 chan: @3082 @3079 integer_cst type: @3 low : 32768 @3080 function_decl name: @3083 mngl: @3084 type: @3074 srcp: :0 chan: @3085 body: undefined link: extern @3081 record_type name: @3086 size: @1733 algn: 64 tag : struct flds: @3087 @3082 type_decl type: @3088 srcp: socket.h:231 chan: @3089 @3083 identifier_node strg: __builtin_execlp lngt: 16 @3084 identifier_node strg: execlp lngt: 6 @3085 function_decl name: @3084 type: @3074 srcp: :0 chan: @3090 body: undefined link: extern @3086 identifier_node strg: msghdr lngt: 6 @3087 field_decl name: @3091 type: @147 scpe: @3081 srcp: socket.h:217 chan: @3092 size: @22 algn: 64 bpos: @20 @3088 record_type name: @3093 size: @19 algn: 64 tag : struct flds: @3094 @3089 type_decl type: @3095 srcp: socket.h:285 chan: @3096 @3090 function_decl name: @3097 mngl: @3098 type: @3099 srcp: :0 chan: @3100 body: undefined link: extern @3091 identifier_node strg: msg_name lngt: 8 @3092 field_decl name: @3101 type: @2866 scpe: @3081 srcp: socket.h:218 chan: @3102 size: @5 algn: 32 bpos: @22 @3093 identifier_node strg: cmsghdr lngt: 7 @3094 field_decl name: @3103 type: @1772 scpe: @3088 srcp: socket.h:232 chan: @3104 size: @22 algn: 64 bpos: @20 @3095 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @3105 @3096 const_decl name: @3106 type: @3095 srcp: socket.h:289 chan: @3107 cnst: @1817 @3097 identifier_node strg: __builtin_execle lngt: 16 @3098 identifier_node strg: execle lngt: 6 @3099 function_type size: @12 algn: 8 retn: @3 prms: @2172 @3100 function_decl name: @3098 type: @3099 srcp: :0 chan: @3108 body: undefined link: extern @3101 identifier_node strg: msg_namelen lngt: 11 @3102 field_decl name: @3109 type: @3110 scpe: @3081 srcp: socket.h:220 chan: @3111 size: @22 algn: 64 bpos: @19 @3103 identifier_node strg: cmsg_len lngt: 8 @3104 field_decl name: @3112 type: @3 scpe: @3088 srcp: socket.h:234 chan: @3113 size: @5 algn: 32 bpos: @22 @3105 tree_list purp: @3106 valu: @1817 chan: @3114 @3106 identifier_node strg: SCM_RIGHTS lngt: 10 @3107 const_decl name: @3115 type: @3095 srcp: socket.h:292 chan: @3116 cnst: @1834 @3108 function_decl name: @3117 mngl: @3118 type: @3119 srcp: :0 chan: @3120 body: undefined link: extern @3109 identifier_node strg: msg_iov lngt: 7 @3110 pointer_type size: @22 algn: 64 ptd : @2857 @3111 field_decl name: @3121 type: @1772 scpe: @3081 srcp: socket.h:221 chan: @3122 size: @22 algn: 64 bpos: @121 @3112 identifier_node strg: cmsg_level lngt: 10 @3113 field_decl name: @3123 type: @3 scpe: @3088 srcp: socket.h:235 chan: @3124 size: @5 algn: 32 bpos: @2751 @3114 tree_list purp: @3115 valu: @1834 @3115 identifier_node strg: SCM_CREDENTIALS lngt: 15 @3116 type_decl type: @3125 srcp: socket.h:297 chan: @3126 @3117 identifier_node strg: __builtin_execv lngt: 15 @3118 identifier_node strg: execv lngt: 5 @3119 function_type size: @12 algn: 8 retn: @3 prms: @3127 @3120 function_decl name: @3118 type: @3119 srcp: :0 chan: @3128 body: undefined link: extern @3121 identifier_node strg: msg_iovlen lngt: 10 @3122 field_decl name: @3129 type: @147 scpe: @3081 srcp: socket.h:223 chan: @3130 size: @22 algn: 64 bpos: @113 @3123 identifier_node strg: cmsg_type lngt: 9 @3124 field_decl name: @3131 type: @3132 scpe: @3088 srcp: socket.h:237 algn: 8 bpos: @19 @3125 record_type name: @3133 size: @2751 algn: 32 tag : struct flds: @3134 @3126 type_decl type: @3135 srcp: socket.h:309 chan: @3136 @3127 tree_list valu: @809 chan: @3137 @3128 function_decl name: @3138 mngl: @3139 type: @3119 srcp: :0 chan: @3140 body: undefined link: extern @3129 identifier_node strg: msg_control lngt: 11 @3130 field_decl name: @3141 type: @1772 scpe: @3081 srcp: socket.h:224 chan: @3142 size: @22 algn: 64 bpos: @1710 @3131 identifier_node strg: __cmsg_data lngt: 11 @3132 array_type algn: 8 elts: @62 domn: @3143 @3133 identifier_node strg: ucred lngt: 5 @3134 field_decl name: @3144 type: @2502 scpe: @3125 srcp: socket.h:298 chan: @3145 size: @5 algn: 32 bpos: @20 @3135 record_type name: @3146 size: @22 algn: 32 tag : struct flds: @3147 @3136 type_decl type: @3148 srcp: socket.h:41 chan: @3149 @3137 tree_list valu: @2384 chan: @137 @3138 identifier_node strg: __builtin_execvp lngt: 16 @3139 identifier_node strg: execvp lngt: 6 @3140 function_decl name: @3139 type: @3119 srcp: :0 chan: @3150 body: undefined link: extern @3141 identifier_node strg: msg_controllen lngt: 14 @3142 field_decl name: @3151 type: @3 scpe: @3081 srcp: socket.h:226 size: @5 algn: 32 bpos: @1721 @3143 integer_type size: @22 algn: 64 prec: 64 sign: signed min : @130 @3144 identifier_node strg: pid lngt: 3 @3145 field_decl name: @3152 type: @2492 scpe: @3125 srcp: socket.h:299 chan: @3153 size: @5 algn: 32 bpos: @5 @3146 identifier_node strg: linger lngt: 6 @3147 field_decl name: @3154 type: @3 scpe: @3135 srcp: socket.h:310 chan: @3155 size: @5 algn: 32 bpos: @20 @3148 record_type name: @3156 size: @19 algn: 16 tag : struct flds: @3157 @3149 type_decl type: @3158 srcp: socket.h:50 chan: @3159 @3150 function_decl name: @3160 mngl: @3161 type: @3162 srcp: :0 chan: @3163 body: undefined link: extern @3151 identifier_node strg: msg_flags lngt: 9 @3152 identifier_node strg: uid lngt: 3 @3153 field_decl name: @3164 type: @2477 scpe: @3125 srcp: socket.h:300 size: @5 algn: 32 bpos: @22 @3154 identifier_node strg: l_onoff lngt: 7 @3155 field_decl name: @3165 type: @3 scpe: @3135 srcp: socket.h:311 size: @5 algn: 32 bpos: @5 @3156 identifier_node strg: osockaddr lngt: 9 @3157 field_decl name: @2954 type: @52 scpe: @3148 srcp: socket.h:42 chan: @3166 size: @48 algn: 16 bpos: @20 @3158 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @3167 @3159 const_decl name: @3168 type: @3158 srcp: socket.h:51 chan: @3169 cnst: @1796 @3160 identifier_node strg: __builtin_execve lngt: 16 @3161 identifier_node strg: execve lngt: 6 @3162 function_type size: @12 algn: 8 retn: @3 prms: @3170 @3163 function_decl name: @3161 type: @3162 srcp: :0 chan: @3171 body: undefined link: extern @3164 identifier_node strg: gid lngt: 3 @3165 identifier_node strg: l_linger lngt: 8 @3166 field_decl name: @2963 type: @3172 scpe: @3148 srcp: socket.h:43 size: @2965 algn: 8 bpos: @48 @3167 tree_list purp: @3168 valu: @1796 chan: @3173 @3168 identifier_node strg: SHUT_RD lngt: 7 @3169 const_decl name: @3174 type: @3158 srcp: socket.h:53 chan: @3175 cnst: @1817 @3170 tree_list valu: @809 chan: @3176 @3171 function_decl name: @3177 mngl: @3178 type: @3179 srcp: :0 chan: @3180 body: undefined link: extern @3172 array_type size: @2965 algn: 8 elts: @62 domn: @2974 @3173 tree_list purp: @3174 valu: @1817 chan: @3181 @3174 identifier_node strg: SHUT_WR lngt: 7 @3175 const_decl name: @3182 type: @3158 srcp: socket.h:57 chan: @3183 cnst: @1834 @3176 tree_list valu: @2384 chan: @3184 @3177 identifier_node strg: __builtin_exit lngt: 14 @3178 identifier_node strg: exit lngt: 4 @3179 function_type size: @12 algn: 8 retn: @115 prms: @3185 @3180 function_decl name: @3178 type: @3179 srcp: :0 chan: @3186 body: undefined link: extern @3181 tree_list purp: @3182 valu: @1834 @3182 identifier_node strg: SHUT_RDWR lngt: 9 @3183 type_decl type: @3187 srcp: time.h:57 chan: @3188 @3184 tree_list valu: @2384 chan: @137 @3185 tree_list valu: @3 chan: @137 @3186 function_decl name: @3189 type: @3190 srcp: :0 chan: @3191 body: undefined link: extern @3187 record_type name: @3192 size: @22 algn: 32 tag : struct flds: @3193 @3188 type_decl name: @3194 type: @3195 srcp: time.h:62 chan: @3196 @3189 identifier_node strg: __builtin_expect lngt: 16 @3190 function_type size: @12 algn: 8 retn: @16 prms: @3197 @3191 function_decl name: @3198 type: @3199 srcp: :0 chan: @3200 body: undefined link: extern @3192 identifier_node strg: timezone lngt: 8 @3193 field_decl name: @3201 type: @3 scpe: @3187 srcp: time.h:58 chan: @3202 size: @5 algn: 32 bpos: @20 @3194 identifier_node strg: __timezone_ptr_t lngt: 16 @3195 pointer_type qual: r name: @3188 unql: @3203 size: @22 algn: 64 ptd : @3187 @3196 type_decl type: @3204 srcp: time.h:92 chan: @3205 @3197 tree_list valu: @16 chan: @3206 @3198 identifier_node strg: __builtin_extend_pointer lngt: 24 @3199 function_type size: @12 algn: 8 retn: @16 prms: @3207 @3200 function_decl name: @3208 type: @3209 srcp: :0 chan: @3210 body: undefined link: extern @3201 identifier_node strg: tz_minuteswest lngt: 14 @3202 field_decl name: @3211 type: @3 scpe: @3187 srcp: time.h:59 size: @5 algn: 32 bpos: @5 @3203 pointer_type size: @22 algn: 64 ptd : @3187 @3204 enumeral_type name: @3212 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @3213 @3205 const_decl name: @3214 type: @3204 srcp: time.h:94 chan: @3215 cnst: @1796 @3206 tree_list valu: @16 chan: @137 @3207 tree_list valu: @147 chan: @137 @3208 identifier_node strg: __builtin_extract_return_addr lngt: 29 @3209 function_type size: @12 algn: 8 retn: @147 prms: @3216 @3210 function_decl name: @3217 mngl: @3218 type: @1882 srcp: :0 chan: @3219 body: undefined link: extern @3211 identifier_node strg: tz_dsttime lngt: 10 @3212 identifier_node strg: __itimer_which lngt: 14 @3213 tree_list purp: @3214 valu: @1796 chan: @3220 @3214 identifier_node strg: ITIMER_REAL lngt: 11 @3215 const_decl name: @3221 type: @3204 srcp: time.h:97 chan: @3222 cnst: @1817 @3216 tree_list valu: @147 chan: @137 @3217 identifier_node strg: __builtin_ffs lngt: 13 @3218 identifier_node strg: ffs lngt: 3 @3219 function_decl name: @3218 type: @1882 srcp: :0 chan: @3223 body: undefined link: extern @3220 tree_list purp: @3221 valu: @1817 chan: @3224 @3221 identifier_node strg: ITIMER_VIRTUAL lngt: 14 @3222 const_decl name: @3225 type: @3204 srcp: time.h:103 chan: @3226 cnst: @1834 @3223 function_decl name: @3227 mngl: @3228 type: @3229 srcp: :0 chan: @3230 body: undefined link: extern @3224 tree_list purp: @3225 valu: @1834 @3225 identifier_node strg: ITIMER_PROF lngt: 11 @3226 type_decl type: @3231 srcp: time.h:108 chan: @3232 @3227 identifier_node strg: __builtin_ffsimax lngt: 17 @3228 identifier_node strg: ffsimax lngt: 7 @3229 function_type size: @12 algn: 8 retn: @3 prms: @3233 @3230 function_decl name: @3228 type: @3229 srcp: :0 chan: @3234 body: undefined link: extern @3231 record_type name: @3235 size: @113 algn: 64 tag : struct flds: @3236 @3232 type_decl name: @3237 type: @3238 srcp: time.h:120 chan: @3239 @3233 tree_list valu: @16 chan: @137 @3234 function_decl name: @3240 mngl: @3241 type: @3229 srcp: :0 chan: @3242 body: undefined link: extern @3235 identifier_node strg: itimerval lngt: 9 @3236 field_decl name: @2854 type: @2635 scpe: @3231 srcp: time.h:110 chan: @3243 size: @19 algn: 64 bpos: @20 @3237 identifier_node strg: __itimer_which_t lngt: 16 @3238 integer_type name: @3232 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @3239 type_decl name: @3244 type: @3245 srcp: curl.h:94 chan: @3246 @3240 identifier_node strg: __builtin_ffsl lngt: 14 @3241 identifier_node strg: ffsl lngt: 4 @3242 function_decl name: @3241 type: @3229 srcp: :0 chan: @3247 body: undefined link: extern @3243 field_decl name: @2862 type: @2635 scpe: @3231 srcp: time.h:112 size: @19 algn: 64 bpos: @19 @3244 identifier_node strg: CURL lngt: 4 @3245 void_type name: @3239 unql: @115 algn: 8 @3246 type_decl name: @3248 type: @3249 srcp: curl.h:128 chan: @3250 @3247 function_decl name: @3251 mngl: @3252 type: @3253 srcp: :0 chan: @3254 body: undefined link: extern @3248 identifier_node strg: curl_socket_t lngt: 13 @3249 integer_type name: @3246 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @3250 type_decl type: @3255 srcp: curl.h:134 chan: @3256 @3251 identifier_node strg: __builtin_ffsll lngt: 15 @3252 identifier_node strg: ffsll lngt: 5 @3253 function_type size: @12 algn: 8 retn: @3 prms: @3257 @3254 function_decl name: @3252 type: @3253 srcp: :0 chan: @3258 body: undefined link: extern @3255 record_type name: @3259 size: @1822 algn: 64 tag : struct flds: @3260 @3256 type_decl type: @3261 srcp: curl.h:143 chan: @3262 @3257 tree_list valu: @36 chan: @137 @3258 function_decl name: @3263 mngl: @3264 type: @3265 srcp: :0 chan: @3266 body: undefined link: extern @3259 identifier_node strg: curl_httppost lngt: 13 @3260 field_decl name: @3267 type: @3268 scpe: @3255 srcp: curl.h:135 chan: @3269 size: @22 algn: 64 bpos: @20 @3261 record_type name: @3270 size: @19 algn: 64 tag : struct flds: @3271 @3262 type_decl name: @3272 type: @3273 srcp: curl.h:172 chan: @3274 @3263 identifier_node strg: __builtin_fork lngt: 14 @3264 identifier_node strg: fork lngt: 4 @3265 function_type size: @12 algn: 8 retn: @3 prms: @137 @3266 function_decl name: @3264 type: @3265 srcp: :0 chan: @3275 body: undefined link: extern @3267 identifier_node strg: next lngt: 4 @3268 pointer_type size: @22 algn: 64 ptd : @3255 @3269 field_decl name: @3276 type: @1493 scpe: @3255 srcp: curl.h:136 chan: @3277 size: @22 algn: 64 bpos: @22 @3270 identifier_node strg: curl_slist lngt: 10 @3271 field_decl name: @3278 type: @1493 scpe: @3261 srcp: curl.h:1549 chan: @3279 size: @22 algn: 64 bpos: @20 @3272 identifier_node strg: curl_progress_callback lngt: 22 @3273 pointer_type name: @3262 unql: @3280 size: @22 algn: 64 ptd : @3281 @3274 type_decl name: @3282 type: @3283 srcp: curl.h:187 chan: @3284 @3275 function_decl name: @3285 type: @3286 srcp: :0 chan: @3287 body: undefined link: extern @3276 identifier_node strg: name lngt: 4 @3277 field_decl name: @3288 type: @16 scpe: @3255 srcp: curl.h:137 chan: @3289 size: @22 algn: 64 bpos: @19 @3278 identifier_node strg: data lngt: 4 @3279 field_decl name: @3267 type: @3290 scpe: @3261 srcp: curl.h:1550 size: @22 algn: 64 bpos: @22 @3280 pointer_type size: @22 algn: 64 ptd : @3281 @3281 function_type size: @12 algn: 8 retn: @3 prms: @3291 @3282 identifier_node strg: curl_write_callback lngt: 19 @3283 pointer_type name: @3274 unql: @3292 size: @22 algn: 64 ptd : @3293 @3284 type_decl name: @3294 type: @3295 srcp: curl.h:197 chan: @3296 @3285 identifier_node strg: __builtin_frame_address lngt: 23 @3286 function_type size: @12 algn: 8 retn: @147 prms: @3297 @3287 function_decl name: @3298 type: @3209 srcp: :0 chan: @3299 body: undefined link: extern @3288 identifier_node strg: namelength lngt: 10 @3289 field_decl name: @3300 type: @1493 scpe: @3255 srcp: curl.h:138 chan: @3301 size: @22 algn: 64 bpos: @121 @3290 pointer_type size: @22 algn: 64 ptd : @3261 @3291 tree_list valu: @147 chan: @3302 @3292 pointer_type size: @22 algn: 64 ptd : @3293 @3293 function_type size: @12 algn: 8 retn: @1772 prms: @3303 @3294 identifier_node strg: curl_seek_callback lngt: 18 @3295 pointer_type name: @3284 unql: @3304 size: @22 algn: 64 ptd : @3305 @3296 type_decl name: @3306 type: @3307 srcp: curl.h:202 chan: @3308 @3297 tree_list valu: @26 chan: @137 @3298 identifier_node strg: __builtin_frob_return_addr lngt: 26 @3299 function_decl name: @3309 mngl: @3310 type: @3311 srcp: :0 chan: @3312 body: undefined link: extern @3300 identifier_node strg: contents lngt: 8 @3301 field_decl name: @3313 type: @16 scpe: @3255 srcp: curl.h:139 chan: @3314 size: @22 algn: 64 bpos: @113 @3302 tree_list valu: @96 chan: @3315 @3303 tree_list valu: @1493 chan: @3316 @3304 pointer_type size: @22 algn: 64 ptd : @3305 @3305 function_type size: @12 algn: 8 retn: @3 prms: @3317 @3306 identifier_node strg: curl_read_callback lngt: 18 @3307 pointer_type name: @3296 unql: @3292 size: @22 algn: 64 ptd : @3293 @3308 type_decl type: @3318 srcp: curl.h:204 chan: @3319 @3309 identifier_node strg: __builtin_gettext lngt: 17 @3310 identifier_node strg: gettext lngt: 7 @3311 function_type size: @12 algn: 8 retn: @1493 prms: @1579 @3312 function_decl name: @3310 type: @3311 srcp: :0 chan: @3320 body: undefined link: extern @3313 identifier_node strg: contentslength lngt: 14 @3314 field_decl name: @3321 type: @1493 scpe: @3255 srcp: curl.h:140 chan: @3322 size: @22 algn: 64 bpos: @1710 @3315 tree_list valu: @96 chan: @3323 @3316 tree_list valu: @1772 chan: @3324 @3317 tree_list valu: @147 chan: @3325 @3318 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @3326 @3319 const_decl name: @3327 type: @3318 srcp: curl.h:205 chan: @3328 cnst: @1796 @3320 function_decl name: @3329 mngl: @3330 type: @3331 srcp: :0 chan: @3332 body: undefined link: extern @3321 identifier_node strg: buffer lngt: 6 @3322 field_decl name: @3333 type: @16 scpe: @3255 srcp: curl.h:141 chan: @3334 size: @22 algn: 64 bpos: @1721 @3323 tree_list valu: @96 chan: @3335 @3324 tree_list valu: @1772 chan: @3336 @3325 tree_list valu: @3337 chan: @3338 @3326 tree_list purp: @3327 valu: @1796 chan: @3339 @3327 identifier_node strg: CURLSOCKTYPE_IPCXN lngt: 18 @3328 const_decl name: @3340 type: @3318 srcp: curl.h:207 chan: @3341 cnst: @1817 @3329 identifier_node strg: __builtin_imaxabs lngt: 17 @3330 identifier_node strg: imaxabs lngt: 7 @3331 function_type size: @12 algn: 8 retn: @16 prms: @3342 @3332 function_decl name: @3330 type: @3331 srcp: :0 chan: @3343 body: undefined link: extern @3333 identifier_node strg: bufferlength lngt: 12 @3334 field_decl name: @3344 type: @1493 scpe: @3255 srcp: curl.h:142 chan: @3345 size: @22 algn: 64 bpos: @1733 @3335 tree_list valu: @96 chan: @137 @3336 tree_list valu: @147 chan: @137 @3337 integer_type name: @3346 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @3338 tree_list valu: @3 chan: @137 @3339 tree_list purp: @3340 valu: @1817 @3340 identifier_node strg: CURLSOCKTYPE_LAST lngt: 17 @3341 type_decl name: @3347 type: @3348 srcp: curl.h:207 chan: @3349 @3342 tree_list valu: @16 chan: @137 @3343 function_decl name: @3350 type: @2222 srcp: :0 chan: @3351 body: undefined link: extern @3344 identifier_node strg: contenttype lngt: 11 @3345 field_decl name: @3352 type: @3290 scpe: @3255 srcp: curl.h:143 chan: @3353 size: @22 algn: 64 bpos: @1744 @3346 type_decl name: @3354 type: @3337 srcp: curlbuild.h:134 chan: @3355 @3347 identifier_node strg: curlsocktype lngt: 12 @3348 enumeral_type name: @3341 unql: @3318 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @3326 @3349 type_decl name: @3356 type: @3357 srcp: curl.h:211 chan: @3358 @3350 identifier_node strg: __builtin_init_dwarf_reg_size_table lngt: 35 @3351 function_decl name: @3359 mngl: @3360 type: @534 srcp: :0 chan: @3361 body: undefined link: extern @3352 identifier_node strg: contentheader lngt: 13 @3353 field_decl name: @3362 type: @3268 scpe: @3255 srcp: curl.h:144 chan: @3363 size: @22 algn: 64 bpos: @1757 @3354 identifier_node strg: curl_off_t lngt: 10 @3355 type_decl name: @3364 type: @3365 srcp: curlrules.h:134 chan: @3366 @3356 identifier_node strg: curl_sockopt_callback lngt: 21 @3357 pointer_type name: @3349 unql: @3367 size: @22 algn: 64 ptd : @3368 @3358 type_decl type: @3369 srcp: curl.h:213 chan: @3370 @3359 identifier_node strg: __builtin_finite lngt: 16 @3360 identifier_node strg: finite lngt: 6 @3361 function_decl name: @3360 type: @534 srcp: :0 chan: @3371 body: undefined link: extern @3362 identifier_node strg: more lngt: 4 @3363 field_decl name: @3372 type: @16 scpe: @3255 srcp: curl.h:147 chan: @3373 size: @22 algn: 64 bpos: @1770 @3364 identifier_node strg: __curl_rule_01__ lngt: 16 @3365 array_type name: @3355 unql: @1926 size: @12 algn: 8 elts: @9 domn: @123 @3366 type_decl name: @3374 type: @3375 srcp: curlrules.h:144 chan: @3376 @3367 pointer_type size: @22 algn: 64 ptd : @3368 @3368 function_type size: @12 algn: 8 retn: @3 prms: @3377 @3369 record_type name: @3378 size: @113 algn: 32 tag : struct flds: @3379 @3370 type_decl name: @3380 type: @3381 srcp: curl.h:226 chan: @3382 @3371 function_decl name: @3383 mngl: @3384 type: @540 srcp: :0 chan: @3385 body: undefined link: extern @3372 identifier_node strg: flags lngt: 5 @3373 field_decl name: @3386 type: @1493 scpe: @3255 srcp: curl.h:161 chan: @3387 size: @22 algn: 64 bpos: @1785 @3374 identifier_node strg: __curl_rule_02__ lngt: 16 @3375 array_type name: @3366 unql: @1926 size: @12 algn: 8 elts: @9 domn: @123 @3376 type_decl name: @3388 type: @3389 srcp: curlrules.h:154 chan: @1787 @3377 tree_list valu: @147 chan: @3390 @3378 identifier_node strg: curl_sockaddr lngt: 13 @3379 field_decl name: @3391 type: @3 scpe: @3369 srcp: curl.h:214 chan: @3392 size: @5 algn: 32 bpos: @20 @3380 identifier_node strg: curl_opensocket_callback lngt: 24 @3381 pointer_type name: @3370 unql: @3393 size: @22 algn: 64 ptd : @3394 @3382 type_decl name: @3395 type: @3396 srcp: curl.h:233 chan: @3397 @3383 identifier_node strg: __builtin_finitef lngt: 17 @3384 identifier_node strg: finitef lngt: 7 @3385 function_decl name: @3384 type: @540 srcp: :0 chan: @3398 body: undefined link: extern @3386 identifier_node strg: showfilename lngt: 12 @3387 field_decl name: @3399 type: @147 scpe: @3255 srcp: curl.h:164 size: @22 algn: 64 bpos: @1800 @3388 identifier_node strg: __curl_rule_03__ lngt: 16 @3389 array_type name: @3376 unql: @1926 size: @12 algn: 8 elts: @9 domn: @123 @3390 tree_list valu: @3249 chan: @3400 @3391 identifier_node strg: family lngt: 6 @3392 field_decl name: @3401 type: @3 scpe: @3369 srcp: curl.h:215 chan: @3402 size: @5 algn: 32 bpos: @5 @3393 pointer_type size: @22 algn: 64 ptd : @3394 @3394 function_type size: @12 algn: 8 retn: @3249 prms: @3403 @3395 identifier_node strg: curl_passwd_callback lngt: 20 @3396 pointer_type name: @3382 unql: @3404 size: @22 algn: 64 ptd : @3405 @3397 type_decl type: @3406 srcp: curl.h:236 chan: @3407 @3398 function_decl name: @3408 mngl: @3409 type: @546 srcp: :0 chan: @3410 body: undefined link: extern @3399 identifier_node strg: userp lngt: 5 @3400 tree_list valu: @3348 chan: @137 @3401 identifier_node strg: socktype lngt: 8 @3402 field_decl name: @3411 type: @3 scpe: @3369 srcp: curl.h:216 chan: @3412 size: @5 algn: 32 bpos: @22 @3403 tree_list valu: @147 chan: @3413 @3404 pointer_type size: @22 algn: 64 ptd : @3405 @3405 function_type size: @12 algn: 8 retn: @3 prms: @3414 @3406 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @3415 @3407 const_decl name: @3416 type: @3406 srcp: curl.h:237 chan: @3417 cnst: @1796 @3408 identifier_node strg: __builtin_finitel lngt: 17 @3409 identifier_node strg: finitel lngt: 7 @3410 function_decl name: @3409 type: @546 srcp: :0 chan: @3418 body: undefined link: extern @3411 identifier_node strg: protocol lngt: 8 @3412 field_decl name: @3419 type: @26 scpe: @3369 srcp: curl.h:217 chan: @3420 size: @5 algn: 32 bpos: @2751 @3413 tree_list valu: @3348 chan: @3421 @3414 tree_list valu: @147 chan: @3422 @3415 tree_list purp: @3416 valu: @1796 chan: @3423 @3416 identifier_node strg: CURLIOE_OK lngt: 10 @3417 const_decl name: @3424 type: @3406 srcp: curl.h:238 chan: @3425 cnst: @1817 @3418 function_decl name: @3426 mngl: @3427 type: @2941 srcp: :0 chan: @3428 body: undefined link: extern @3419 identifier_node strg: addrlen lngt: 7 @3420 field_decl name: @3429 type: @2943 scpe: @3369 srcp: curl.h:220 size: @19 algn: 16 bpos: @19 @3421 tree_list valu: @3430 chan: @137 @3422 tree_list valu: @809 chan: @3431 @3423 tree_list purp: @3424 valu: @1817 chan: @3432 @3424 identifier_node strg: CURLIOE_UNKNOWNCMD lngt: 18 @3425 const_decl name: @3433 type: @3406 srcp: curl.h:239 chan: @3434 cnst: @1834 @3426 identifier_node strg: __builtin_isinf lngt: 15 @3427 identifier_node strg: isinf lngt: 5 @3428 function_decl name: @3427 type: @2941 srcp: :0 chan: @3435 body: undefined link: extern @3429 identifier_node strg: addr lngt: 4 @3430 pointer_type size: @22 algn: 64 ptd : @3369 @3431 tree_list valu: @1493 chan: @3436 @3432 tree_list purp: @3433 valu: @1834 chan: @3437 @3433 identifier_node strg: CURLIOE_FAILRESTART lngt: 19 @3434 const_decl name: @3438 type: @3406 srcp: curl.h:241 chan: @3439 cnst: @1853 @3435 function_decl name: @3440 mngl: @3441 type: @540 srcp: :0 chan: @3442 body: undefined link: extern @3436 tree_list valu: @3 chan: @137 @3437 tree_list purp: @3438 valu: @1853 @3438 identifier_node strg: CURLIOE_LAST lngt: 12 @3439 type_decl name: @3443 type: @3444 srcp: curl.h:241 chan: @3445 @3440 identifier_node strg: __builtin_isinff lngt: 16 @3441 identifier_node strg: isinff lngt: 6 @3442 function_decl name: @3441 type: @540 srcp: :0 chan: @3446 body: undefined link: extern @3443 identifier_node strg: curlioerr lngt: 9 @3444 enumeral_type name: @3439 unql: @3406 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @3415 @3445 type_decl type: @3447 srcp: curl.h:243 chan: @3448 @3446 function_decl name: @3449 mngl: @3450 type: @546 srcp: :0 chan: @3451 body: undefined link: extern @3447 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @3452 @3448 const_decl name: @3453 type: @3447 srcp: curl.h:244 chan: @3454 cnst: @1796 @3449 identifier_node strg: __builtin_isinfl lngt: 16 @3450 identifier_node strg: isinfl lngt: 6 @3451 function_decl name: @3450 type: @546 srcp: :0 chan: @3455 body: undefined link: extern @3452 tree_list purp: @3453 valu: @1796 chan: @3456 @3453 identifier_node strg: CURLIOCMD_NOP lngt: 13 @3454 const_decl name: @3457 type: @3447 srcp: curl.h:245 chan: @3458 cnst: @1817 @3455 function_decl name: @3459 mngl: @3460 type: @2941 srcp: :0 chan: @3461 body: undefined link: extern @3456 tree_list purp: @3457 valu: @1817 chan: @3462 @3457 identifier_node strg: CURLIOCMD_RESTARTREAD lngt: 21 @3458 const_decl name: @3463 type: @3447 srcp: curl.h:247 chan: @3464 cnst: @1834 @3459 identifier_node strg: __builtin_isnan lngt: 15 @3460 identifier_node strg: isnan lngt: 5 @3461 function_decl name: @3460 type: @2941 srcp: :0 chan: @3465 body: undefined link: extern @3462 tree_list purp: @3463 valu: @1834 @3463 identifier_node strg: CURLIOCMD_LAST lngt: 14 @3464 type_decl name: @3466 type: @3467 srcp: curl.h:247 chan: @3468 @3465 function_decl name: @3469 mngl: @3470 type: @540 srcp: :0 chan: @3471 body: undefined link: extern @3466 identifier_node strg: curliocmd lngt: 9 @3467 enumeral_type name: @3464 unql: @3447 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @3452 @3468 type_decl name: @3472 type: @3473 srcp: curl.h:251 chan: @3474 @3469 identifier_node strg: __builtin_isnanf lngt: 16 @3470 identifier_node strg: isnanf lngt: 6 @3471 function_decl name: @3470 type: @540 srcp: :0 chan: @3475 body: undefined link: extern @3472 identifier_node strg: curl_ioctl_callback lngt: 19 @3473 pointer_type name: @3468 unql: @3476 size: @22 algn: 64 ptd : @3477 @3474 type_decl name: @3478 type: @3479 srcp: curl.h:259 chan: @3480 @3475 function_decl name: @3481 mngl: @3482 type: @546 srcp: :0 chan: @3483 body: undefined link: extern @3476 pointer_type size: @22 algn: 64 ptd : @3477 @3477 function_type size: @12 algn: 8 retn: @3444 prms: @3484 @3478 identifier_node strg: curl_malloc_callback lngt: 20 @3479 pointer_type name: @3474 unql: @3485 size: @22 algn: 64 ptd : @3486 @3480 type_decl name: @3487 type: @3488 srcp: curl.h:260 chan: @3489 @3481 identifier_node strg: __builtin_isnanl lngt: 16 @3482 identifier_node strg: isnanl lngt: 6 @3483 function_decl name: @3482 type: @546 srcp: :0 chan: @3490 body: undefined link: extern @3484 tree_list valu: @3491 chan: @3492 @3485 pointer_type size: @22 algn: 64 ptd : @3486 @3486 function_type size: @12 algn: 8 retn: @147 prms: @3493 @3487 identifier_node strg: curl_free_callback lngt: 18 @3488 pointer_type name: @3480 unql: @2221 size: @22 algn: 64 ptd : @2222 @3489 type_decl name: @3494 type: @3495 srcp: curl.h:261 chan: @3496 @3490 function_decl name: @3497 type: @2941 srcp: :0 chan: @3498 body: undefined link: extern @3491 pointer_type size: @22 algn: 64 ptd : @3245 @3492 tree_list valu: @3 chan: @3499 @3493 tree_list valu: @1772 chan: @137 @3494 identifier_node strg: curl_realloc_callback lngt: 21 @3495 pointer_type name: @3489 unql: @3500 size: @22 algn: 64 ptd : @3501 @3496 type_decl name: @3502 type: @3503 srcp: curl.h:262 chan: @3504 @3497 identifier_node strg: __builtin_isgreater lngt: 19 @3498 function_decl name: @3505 type: @2941 srcp: :0 chan: @3506 body: undefined link: extern @3499 tree_list valu: @147 chan: @137 @3500 pointer_type size: @22 algn: 64 ptd : @3501 @3501 function_type size: @12 algn: 8 retn: @147 prms: @3507 @3502 identifier_node strg: curl_strdup_callback lngt: 20 @3503 pointer_type name: @3496 unql: @3508 size: @22 algn: 64 ptd : @3509 @3504 type_decl name: @3510 type: @3511 srcp: curl.h:263 chan: @3512 @3505 identifier_node strg: __builtin_isgreaterequal lngt: 24 @3506 function_decl name: @3513 type: @2941 srcp: :0 chan: @3514 body: undefined link: extern @3507 tree_list valu: @147 chan: @3515 @3508 pointer_type size: @22 algn: 64 ptd : @3509 @3509 function_type size: @12 algn: 8 retn: @1493 prms: @1579 @3510 identifier_node strg: curl_calloc_callback lngt: 20 @3511 pointer_type name: @3504 unql: @3516 size: @22 algn: 64 ptd : @3517 @3512 type_decl type: @3518 srcp: curl.h:266 chan: @3519 @3513 identifier_node strg: __builtin_isless lngt: 16 @3514 function_decl name: @3520 type: @2941 srcp: :0 chan: @3521 body: undefined link: extern @3515 tree_list valu: @1772 chan: @137 @3516 pointer_type size: @22 algn: 64 ptd : @3517 @3517 function_type size: @12 algn: 8 retn: @147 prms: @3522 @3518 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @3523 @3519 const_decl name: @3524 type: @3518 srcp: curl.h:267 chan: @3525 cnst: @1796 @3520 identifier_node strg: __builtin_islessequal lngt: 21 @3521 function_decl name: @3526 type: @2941 srcp: :0 chan: @3527 body: undefined link: extern @3522 tree_list valu: @1772 chan: @3528 @3523 tree_list purp: @3524 valu: @1796 chan: @3529 @3524 identifier_node strg: CURLINFO_TEXT lngt: 13 @3525 const_decl name: @3530 type: @3518 srcp: curl.h:268 chan: @3531 cnst: @1817 @3526 identifier_node strg: __builtin_islessgreater lngt: 23 @3527 function_decl name: @3532 type: @2941 srcp: :0 chan: @3533 body: undefined link: extern @3528 tree_list valu: @1772 chan: @137 @3529 tree_list purp: @3530 valu: @1817 chan: @3534 @3530 identifier_node strg: CURLINFO_HEADER_IN lngt: 18 @3531 const_decl name: @3535 type: @3518 srcp: curl.h:269 chan: @3536 cnst: @1834 @3532 identifier_node strg: __builtin_isunordered lngt: 21 @3533 function_decl name: @3537 mngl: @3538 type: @3331 srcp: :0 chan: @3539 body: undefined link: extern @3534 tree_list purp: @3535 valu: @1834 chan: @3540 @3535 identifier_node strg: CURLINFO_HEADER_OUT lngt: 19 @3536 const_decl name: @3541 type: @3518 srcp: curl.h:270 chan: @3542 cnst: @1853 @3537 identifier_node strg: __builtin_labs lngt: 14 @3538 identifier_node strg: labs lngt: 4 @3539 function_decl name: @3538 type: @3331 srcp: :0 chan: @3543 body: undefined link: extern @3540 tree_list purp: @3541 valu: @1853 chan: @3544 @3541 identifier_node strg: CURLINFO_DATA_IN lngt: 16 @3542 const_decl name: @3545 type: @3518 srcp: curl.h:271 chan: @3546 cnst: @1871 @3543 function_decl name: @3547 mngl: @3548 type: @3549 srcp: :0 chan: @3550 body: undefined link: extern @3544 tree_list purp: @3545 valu: @1871 chan: @3551 @3545 identifier_node strg: CURLINFO_DATA_OUT lngt: 17 @3546 const_decl name: @3552 type: @3518 srcp: curl.h:272 chan: @3553 cnst: @1891 @3547 identifier_node strg: __builtin_llabs lngt: 15 @3548 identifier_node strg: llabs lngt: 5 @3549 function_type size: @12 algn: 8 retn: @36 prms: @3554 @3550 function_decl name: @3548 type: @3549 srcp: :0 chan: @3555 body: undefined link: extern @3551 tree_list purp: @3552 valu: @1891 chan: @3556 @3552 identifier_node strg: CURLINFO_SSL_DATA_IN lngt: 20 @3553 const_decl name: @3557 type: @3518 srcp: curl.h:273 chan: @3558 cnst: @1908 @3554 tree_list valu: @36 chan: @137 @3555 function_decl name: @3559 type: @3560 srcp: :0 chan: @3561 body: undefined link: extern @3556 tree_list purp: @3557 valu: @1908 chan: @3562 @3557 identifier_node strg: CURLINFO_SSL_DATA_OUT lngt: 21 @3558 const_decl name: @3563 type: @3518 srcp: curl.h:275 chan: @3564 cnst: @1924 @3559 identifier_node strg: __builtin_longjmp lngt: 17 @3560 function_type size: @12 algn: 8 retn: @115 prms: @3565 @3561 function_decl name: @3566 mngl: @3567 type: @2879 srcp: :0 chan: @3568 body: undefined link: extern @3562 tree_list purp: @3563 valu: @1924 @3563 identifier_node strg: CURLINFO_END lngt: 12 @3564 type_decl name: @3569 type: @3570 srcp: curl.h:275 chan: @3571 @3565 tree_list valu: @147 chan: @3572 @3566 identifier_node strg: __builtin_malloc lngt: 16 @3567 identifier_node strg: malloc lngt: 6 @3568 function_decl name: @3567 type: @2879 srcp: :0 chan: @3573 body: undefined link: extern @3569 identifier_node strg: curl_infotype lngt: 13 @3570 enumeral_type name: @3564 unql: @3518 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @3523 @3571 type_decl name: @3574 type: @3575 srcp: curl.h:282 chan: @3576 @3572 tree_list valu: @3 chan: @137 @3573 function_decl name: @3577 type: @2869 srcp: :0 chan: @3578 body: undefined link: extern @3574 identifier_node strg: curl_debug_callback lngt: 19 @3575 pointer_type name: @3571 unql: @3579 size: @22 algn: 64 ptd : @3580 @3576 type_decl type: @3581 srcp: curl.h:291 chan: @3582 @3577 identifier_node strg: __builtin_next_arg lngt: 18 @3578 function_decl name: @3583 type: @2639 srcp: :0 chan: @3584 body: undefined link: extern @3579 pointer_type size: @22 algn: 64 ptd : @3580 @3580 function_type size: @12 algn: 8 retn: @3 prms: @3585 @3581 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @3586 @3582 const_decl name: @3587 type: @3581 srcp: curl.h:292 chan: @3588 cnst: @1796 @3583 identifier_node strg: __builtin_parity lngt: 16 @3584 function_decl name: @3589 type: @2952 srcp: :0 chan: @3590 body: undefined link: extern @3585 tree_list valu: @3491 chan: @3591 @3586 tree_list purp: @3587 valu: @1796 chan: @3592 @3587 identifier_node strg: CURLE_OK lngt: 8 @3588 const_decl name: @3593 type: @3581 srcp: curl.h:293 chan: @3594 cnst: @1817 @3589 identifier_node strg: __builtin_parityimax lngt: 20 @3590 function_decl name: @3595 type: @2952 srcp: :0 chan: @3596 body: undefined link: extern @3591 tree_list valu: @3570 chan: @3597 @3592 tree_list purp: @3593 valu: @1817 chan: @3598 @3593 identifier_node strg: CURLE_UNSUPPORTED_PROTOCOL lngt: 26 @3594 const_decl name: @3599 type: @3581 srcp: curl.h:294 chan: @3600 cnst: @1834 @3595 identifier_node strg: __builtin_parityl lngt: 17 @3596 function_decl name: @3601 type: @2972 srcp: :0 chan: @3602 body: undefined link: extern @3597 tree_list valu: @1493 chan: @3603 @3598 tree_list purp: @3599 valu: @1834 chan: @3604 @3599 identifier_node strg: CURLE_FAILED_INIT lngt: 17 @3600 const_decl name: @3605 type: @3581 srcp: curl.h:295 chan: @3606 cnst: @1853 @3601 identifier_node strg: __builtin_parityll lngt: 18 @3602 function_decl name: @3607 type: @2639 srcp: :0 chan: @3608 body: undefined link: extern @3603 tree_list valu: @1772 chan: @3609 @3604 tree_list purp: @3605 valu: @1853 chan: @3610 @3605 identifier_node strg: CURLE_URL_MALFORMAT lngt: 19 @3606 const_decl name: @3611 type: @3581 srcp: curl.h:296 chan: @3612 cnst: @1871 @3607 identifier_node strg: __builtin_popcount lngt: 18 @3608 function_decl name: @3613 type: @2952 srcp: :0 chan: @3614 body: undefined link: extern @3609 tree_list valu: @147 chan: @137 @3610 tree_list purp: @3611 valu: @1871 chan: @3615 @3611 identifier_node strg: CURLE_OBSOLETE4 lngt: 15 @3612 const_decl name: @3616 type: @3581 srcp: curl.h:297 chan: @3617 cnst: @1891 @3613 identifier_node strg: __builtin_popcountimax lngt: 22 @3614 function_decl name: @3618 type: @2952 srcp: :0 chan: @3619 body: undefined link: extern @3615 tree_list purp: @3616 valu: @1891 chan: @3620 @3616 identifier_node strg: CURLE_COULDNT_RESOLVE_PROXY lngt: 27 @3617 const_decl name: @3621 type: @3581 srcp: curl.h:298 chan: @3622 cnst: @1908 @3618 identifier_node strg: __builtin_popcountl lngt: 19 @3619 function_decl name: @3623 type: @2972 srcp: :0 chan: @3624 body: undefined link: extern @3620 tree_list purp: @3621 valu: @1908 chan: @3625 @3621 identifier_node strg: CURLE_COULDNT_RESOLVE_HOST lngt: 26 @3622 const_decl name: @3626 type: @3581 srcp: curl.h:299 chan: @3627 cnst: @1924 @3623 identifier_node strg: __builtin_popcountll lngt: 20 @3624 function_decl name: @3628 type: @3629 srcp: :0 chan: @3630 body: undefined link: extern @3625 tree_list purp: @3626 valu: @1924 chan: @3631 @3626 identifier_node strg: CURLE_COULDNT_CONNECT lngt: 21 @3627 const_decl name: @3632 type: @3581 srcp: curl.h:300 chan: @3633 cnst: @1939 @3628 identifier_node strg: __builtin_prefetch lngt: 18 @3629 function_type size: @12 algn: 8 retn: @115 prms: @3634 @3630 function_decl name: @3635 type: @2222 srcp: :0 chan: @3636 body: undefined link: extern @3631 tree_list purp: @3632 valu: @1939 chan: @3637 @3632 identifier_node strg: CURLE_FTP_WEIRD_SERVER_REPLY lngt: 28 @3633 const_decl name: @3638 type: @3581 srcp: curl.h:301 chan: @3639 cnst: @1957 @3634 tree_list valu: @1470 @3635 identifier_node strg: __builtin_return lngt: 16 @3636 function_decl name: @3640 type: @3286 srcp: :0 chan: @3641 body: undefined link: extern @3637 tree_list purp: @3638 valu: @1957 chan: @3642 @3638 identifier_node strg: CURLE_REMOTE_ACCESS_DENIED lngt: 26 @3639 const_decl name: @3643 type: @3581 srcp: curl.h:304 chan: @3644 cnst: @2932 @3640 identifier_node strg: __builtin_return_address lngt: 24 @3641 function_decl name: @3645 type: @2869 srcp: :0 chan: @3646 body: undefined link: extern @3642 tree_list purp: @3643 valu: @2932 chan: @3647 @3643 identifier_node strg: CURLE_OBSOLETE10 lngt: 16 @3644 const_decl name: @3648 type: @3581 srcp: curl.h:305 chan: @3649 cnst: @3650 @3645 identifier_node strg: __builtin_saveregs lngt: 18 @3646 function_decl name: @3651 type: @2318 srcp: :0 chan: @3652 body: undefined link: extern @3647 tree_list purp: @3648 valu: @3650 chan: @3653 @3648 identifier_node strg: CURLE_FTP_WEIRD_PASS_REPLY lngt: 26 @3649 const_decl name: @3654 type: @3581 srcp: curl.h:306 chan: @3655 cnst: @3656 @3650 integer_cst type: @3 low : 11 @3651 identifier_node strg: __builtin_setjmp lngt: 16 @3652 function_decl name: @3657 type: @3658 srcp: :0 chan: @3659 body: undefined link: extern @3653 tree_list purp: @3654 valu: @3656 chan: @3660 @3654 identifier_node strg: CURLE_OBSOLETE12 lngt: 16 @3655 const_decl name: @3661 type: @3581 srcp: curl.h:307 chan: @3662 cnst: @3663 @3656 integer_cst type: @3 low : 12 @3657 identifier_node strg: __builtin_stdarg_start lngt: 22 @3658 function_type size: @12 algn: 8 retn: @115 prms: @3664 @3659 function_decl name: @3665 mngl: @3666 type: @3667 srcp: :0 chan: @3668 body: undefined link: extern @3660 tree_list purp: @3661 valu: @3663 chan: @3669 @3661 identifier_node strg: CURLE_FTP_WEIRD_PASV_REPLY lngt: 26 @3662 const_decl name: @3670 type: @3581 srcp: curl.h:308 chan: @3671 cnst: @3672 @3663 integer_cst type: @3 low : 13 @3664 tree_list valu: @2323 @3665 identifier_node strg: __builtin_strfmon lngt: 17 @3666 identifier_node strg: strfmon lngt: 7 @3667 function_type size: @12 algn: 8 retn: @16 prms: @3673 @3668 function_decl name: @3666 type: @3667 srcp: :0 chan: @3674 body: undefined link: extern @3669 tree_list purp: @3670 valu: @3672 chan: @3675 @3670 identifier_node strg: CURLE_FTP_WEIRD_227_FORMAT lngt: 26 @3671 const_decl name: @3676 type: @3581 srcp: curl.h:309 chan: @3677 cnst: @3678 @3672 integer_cst type: @3 low : 14 @3673 tree_list valu: @1493 chan: @3679 @3674 function_decl name: @3680 mngl: @3681 type: @3682 srcp: :0 chan: @3683 body: undefined link: extern @3675 tree_list purp: @3676 valu: @3678 chan: @3684 @3676 identifier_node strg: CURLE_FTP_CANT_GET_HOST lngt: 23 @3677 const_decl name: @3685 type: @3581 srcp: curl.h:310 chan: @3686 cnst: @3001 @3678 integer_cst type: @3 low : 15 @3679 tree_list valu: @31 chan: @3687 @3680 identifier_node strg: __builtin_strftime lngt: 18 @3681 identifier_node strg: strftime lngt: 8 @3682 function_type size: @12 algn: 8 retn: @31 prms: @3688 @3683 function_decl name: @3681 type: @3689 srcp: time.h:199 chan: @3690 body: undefined link: extern @3684 tree_list purp: @3685 valu: @3001 chan: @3691 @3685 identifier_node strg: CURLE_OBSOLETE16 lngt: 16 @3686 const_decl name: @3692 type: @3581 srcp: curl.h:311 chan: @3693 cnst: @3694 @3687 tree_list valu: @809 @3688 tree_list valu: @1493 chan: @3695 @3689 function_type size: @12 algn: 8 retn: @1772 prms: @3696 @3690 function_decl name: @3697 type: @2836 srcp: :0 chan: @3698 body: undefined link: extern @3691 tree_list purp: @3692 valu: @3694 chan: @3699 @3692 identifier_node strg: CURLE_FTP_COULDNT_SET_TYPE lngt: 26 @3693 const_decl name: @3700 type: @3581 srcp: curl.h:312 chan: @3701 cnst: @3702 @3694 integer_cst type: @3 low : 17 @3695 tree_list valu: @31 chan: @3703 @3696 tree_list valu: @3704 chan: @3705 @3697 identifier_node strg: __builtin_trap lngt: 14 @3698 function_decl name: @3706 type: @2836 srcp: :0 chan: @3707 body: undefined link: extern @3699 tree_list purp: @3700 valu: @3702 chan: @3708 @3700 identifier_node strg: CURLE_PARTIAL_FILE lngt: 18 @3701 const_decl name: @3709 type: @3581 srcp: curl.h:313 chan: @3710 cnst: @3711 @3702 integer_cst type: @3 low : 18 @3703 tree_list valu: @809 chan: @3712 @3704 pointer_type qual: r unql: @1493 size: @22 algn: 64 ptd : @9 @3705 tree_list valu: @1772 chan: @3713 @3706 identifier_node strg: __builtin_unwind_init lngt: 21 @3707 function_decl name: @3714 type: @3560 srcp: :0 chan: @3715 body: undefined link: extern @3708 tree_list purp: @3709 valu: @3711 chan: @3716 @3709 identifier_node strg: CURLE_FTP_COULDNT_RETR_FILE lngt: 27 @3710 const_decl name: @3717 type: @3581 srcp: curl.h:314 chan: @3718 cnst: @3719 @3711 integer_cst type: @3 low : 19 @3712 tree_list valu: @1470 chan: @137 @3713 tree_list valu: @1650 chan: @3720 @3714 identifier_node strg: __builtin_update_setjmp_buf lngt: 27 @3715 function_decl name: @3721 type: @3722 srcp: :0 chan: @3723 body: undefined link: extern @3716 tree_list purp: @3717 valu: @3719 chan: @3724 @3717 identifier_node strg: CURLE_OBSOLETE20 lngt: 16 @3718 const_decl name: @3725 type: @3581 srcp: curl.h:315 chan: @3726 cnst: @3727 @3719 integer_cst type: @3 low : 20 @3720 tree_list valu: @3728 chan: @137 @3721 identifier_node strg: __builtin_va_copy lngt: 17 @3722 function_type size: @12 algn: 8 retn: @115 prms: @3729 @3723 function_decl name: @3730 type: @3731 srcp: :0 chan: @3732 body: undefined link: extern @3724 tree_list purp: @3725 valu: @3727 chan: @3733 @3725 identifier_node strg: CURLE_QUOTE_ERROR lngt: 17 @3726 const_decl name: @3734 type: @3581 srcp: curl.h:316 chan: @3735 cnst: @3736 @3727 integer_cst type: @3 low : 21 @3728 pointer_type qual: r unql: @3737 size: @22 algn: 64 ptd : @3738 @3729 tree_list valu: @2323 chan: @3739 @3730 identifier_node strg: __builtin_va_end lngt: 16 @3731 function_type size: @12 algn: 8 retn: @115 prms: @3740 @3732 function_decl name: @3741 type: @3658 srcp: :0 chan: @3742 body: undefined link: extern @3733 tree_list purp: @3734 valu: @3736 chan: @3743 @3734 identifier_node strg: CURLE_HTTP_RETURNED_ERROR lngt: 25 @3735 const_decl name: @3744 type: @3581 srcp: curl.h:317 chan: @3745 cnst: @3746 @3736 integer_cst type: @3 low : 22 @3737 pointer_type size: @22 algn: 64 ptd : @3738 @3738 record_type qual: c name: @2838 unql: @2832 size: @1733 algn: 64 tag : struct flds: @2839 @3739 tree_list valu: @2323 chan: @137 @3740 tree_list valu: @2323 chan: @137 @3741 identifier_node strg: __builtin_va_start lngt: 18 @3742 function_decl name: @3747 mngl: @3748 type: @3179 srcp: :0 chan: @3749 body: undefined link: extern @3743 tree_list purp: @3744 valu: @3746 chan: @3750 @3744 identifier_node strg: CURLE_WRITE_ERROR lngt: 17 @3745 const_decl name: @3751 type: @3581 srcp: curl.h:318 chan: @3752 cnst: @3753 @3746 integer_cst type: @3 low : 23 @3747 identifier_node strg: __builtin__exit lngt: 15 @3748 identifier_node strg: _exit lngt: 5 @3749 function_decl name: @3748 type: @3179 srcp: :0 chan: @3754 body: undefined link: extern @3750 tree_list purp: @3751 valu: @3753 chan: @3755 @3751 identifier_node strg: CURLE_OBSOLETE24 lngt: 16 @3752 const_decl name: @3756 type: @3581 srcp: curl.h:319 chan: @3757 cnst: @3758 @3753 integer_cst type: @3 low : 24 @3754 function_decl name: @3759 mngl: @3760 type: @3179 srcp: :0 chan: @3761 body: undefined link: extern @3755 tree_list purp: @3756 valu: @3758 chan: @3762 @3756 identifier_node strg: CURLE_UPLOAD_FAILED lngt: 19 @3757 const_decl name: @3763 type: @3581 srcp: curl.h:320 chan: @3764 cnst: @3765 @3758 integer_cst type: @3 low : 25 @3759 identifier_node strg: __builtin__Exit lngt: 15 @3760 identifier_node strg: _Exit lngt: 5 @3761 function_decl name: @3760 type: @3179 srcp: :0 chan: @3766 body: undefined link: extern @3762 tree_list purp: @3763 valu: @3765 chan: @3767 @3763 identifier_node strg: CURLE_READ_ERROR lngt: 16 @3764 const_decl name: @3768 type: @3581 srcp: curl.h:321 chan: @3769 cnst: @3770 @3765 integer_cst type: @3 low : 26 @3766 function_decl name: @3771 type: @3772 srcp: :0 chan: @3773 body: undefined link: extern @3767 tree_list purp: @3768 valu: @3770 chan: @3774 @3768 identifier_node strg: CURLE_OUT_OF_MEMORY lngt: 19 @3769 const_decl name: @3775 type: @3581 srcp: curl.h:326 chan: @3776 cnst: @3777 @3770 integer_cst type: @3 low : 27 @3771 identifier_node strg: __builtin_object_size lngt: 21 @3772 function_type size: @12 algn: 8 retn: @31 prms: @3778 @3773 function_decl name: @3779 mngl: @3780 type: @3781 srcp: :0 chan: @3782 body: undefined link: extern @3774 tree_list purp: @3775 valu: @3777 chan: @3783 @3775 identifier_node strg: CURLE_OPERATION_TIMEDOUT lngt: 24 @3776 const_decl name: @3784 type: @3581 srcp: curl.h:327 chan: @3785 cnst: @3786 @3777 integer_cst type: @3 low : 28 @3778 tree_list valu: @1470 chan: @3787 @3779 identifier_node strg: __builtin___memcpy_chk lngt: 22 @3780 identifier_node strg: __memcpy_chk lngt: 12 @3781 function_type size: @12 algn: 8 retn: @147 prms: @3788 @3782 function_decl name: @3780 type: @3781 srcp: :0 chan: @3789 body: undefined link: extern @3783 tree_list purp: @3784 valu: @3786 chan: @3790 @3784 identifier_node strg: CURLE_OBSOLETE29 lngt: 16 @3785 const_decl name: @3791 type: @3581 srcp: curl.h:328 chan: @3792 cnst: @3793 @3786 integer_cst type: @3 low : 29 @3787 tree_list valu: @3 chan: @137 @3788 tree_list valu: @147 chan: @3794 @3789 function_decl name: @3795 mngl: @3796 type: @3781 srcp: :0 chan: @3797 body: undefined link: extern @3790 tree_list purp: @3791 valu: @3793 chan: @3798 @3791 identifier_node strg: CURLE_FTP_PORT_FAILED lngt: 21 @3792 const_decl name: @3799 type: @3581 srcp: curl.h:329 chan: @3800 cnst: @3801 @3793 integer_cst type: @3 low : 30 @3794 tree_list valu: @1470 chan: @3802 @3795 identifier_node strg: __builtin___memmove_chk lngt: 23 @3796 identifier_node strg: __memmove_chk lngt: 13 @3797 function_decl name: @3796 type: @3781 srcp: :0 chan: @3803 body: undefined link: extern @3798 tree_list purp: @3799 valu: @3801 chan: @3804 @3799 identifier_node strg: CURLE_FTP_COULDNT_USE_REST lngt: 26 @3800 const_decl name: @3805 type: @3581 srcp: curl.h:330 chan: @3806 cnst: @3007 @3801 integer_cst type: @3 low : 31 @3802 tree_list valu: @31 chan: @3807 @3803 function_decl name: @3808 mngl: @3809 type: @3781 srcp: :0 chan: @3810 body: undefined link: extern @3804 tree_list purp: @3805 valu: @3007 chan: @3811 @3805 identifier_node strg: CURLE_OBSOLETE32 lngt: 16 @3806 const_decl name: @3812 type: @3581 srcp: curl.h:331 chan: @3813 cnst: @3814 @3807 tree_list valu: @31 chan: @137 @3808 identifier_node strg: __builtin___mempcpy_chk lngt: 23 @3809 identifier_node strg: __mempcpy_chk lngt: 13 @3810 function_decl name: @3809 type: @3781 srcp: :0 chan: @3815 body: undefined link: extern @3811 tree_list purp: @3812 valu: @3814 chan: @3816 @3812 identifier_node strg: CURLE_RANGE_ERROR lngt: 17 @3813 const_decl name: @3817 type: @3581 srcp: curl.h:332 chan: @3818 cnst: @3819 @3814 integer_cst type: @3 low : 33 @3815 function_decl name: @3820 mngl: @3821 type: @3822 srcp: :0 chan: @3823 body: undefined link: extern @3816 tree_list purp: @3817 valu: @3819 chan: @3824 @3817 identifier_node strg: CURLE_HTTP_POST_ERROR lngt: 21 @3818 const_decl name: @3825 type: @3581 srcp: curl.h:333 chan: @3826 cnst: @3827 @3819 integer_cst type: @3 low : 34 @3820 identifier_node strg: __builtin___memset_chk lngt: 22 @3821 identifier_node strg: __memset_chk lngt: 12 @3822 function_type size: @12 algn: 8 retn: @147 prms: @3828 @3823 function_decl name: @3821 type: @3822 srcp: :0 chan: @3829 body: undefined link: extern @3824 tree_list purp: @3825 valu: @3827 chan: @3830 @3825 identifier_node strg: CURLE_SSL_CONNECT_ERROR lngt: 23 @3826 const_decl name: @3831 type: @3581 srcp: curl.h:334 chan: @3832 cnst: @3833 @3827 integer_cst type: @3 low : 35 @3828 tree_list valu: @147 chan: @3834 @3829 function_decl name: @3835 mngl: @3836 type: @1539 srcp: :0 chan: @3837 body: undefined link: extern @3830 tree_list purp: @3831 valu: @3833 chan: @3838 @3831 identifier_node strg: CURLE_BAD_DOWNLOAD_RESUME lngt: 25 @3832 const_decl name: @3839 type: @3581 srcp: curl.h:335 chan: @3840 cnst: @3841 @3833 integer_cst type: @3 low : 36 @3834 tree_list valu: @3 chan: @3842 @3835 identifier_node strg: __builtin___stpcpy_chk lngt: 22 @3836 identifier_node strg: __stpcpy_chk lngt: 12 @3837 function_decl name: @3836 type: @1539 srcp: :0 chan: @3843 body: undefined link: extern @3838 tree_list purp: @3839 valu: @3841 chan: @3844 @3839 identifier_node strg: CURLE_FILE_COULDNT_READ_FILE lngt: 28 @3840 const_decl name: @3845 type: @3581 srcp: curl.h:336 chan: @3846 cnst: @3847 @3841 integer_cst type: @3 low : 37 @3842 tree_list valu: @31 chan: @3848 @3843 function_decl name: @3849 mngl: @3850 type: @1539 srcp: :0 chan: @3851 body: undefined link: extern @3844 tree_list purp: @3845 valu: @3847 chan: @3852 @3845 identifier_node strg: CURLE_LDAP_CANNOT_BIND lngt: 22 @3846 const_decl name: @3853 type: @3581 srcp: curl.h:337 chan: @3854 cnst: @3855 @3847 integer_cst type: @3 low : 38 @3848 tree_list valu: @31 chan: @137 @3849 identifier_node strg: __builtin___strcat_chk lngt: 22 @3850 identifier_node strg: __strcat_chk lngt: 12 @3851 function_decl name: @3850 type: @1539 srcp: :0 chan: @3856 body: undefined link: extern @3852 tree_list purp: @3853 valu: @3855 chan: @3857 @3853 identifier_node strg: CURLE_LDAP_SEARCH_FAILED lngt: 24 @3854 const_decl name: @3858 type: @3581 srcp: curl.h:338 chan: @3859 cnst: @3860 @3855 integer_cst type: @3 low : 39 @3856 function_decl name: @3861 mngl: @3862 type: @1539 srcp: :0 chan: @3863 body: undefined link: extern @3857 tree_list purp: @3858 valu: @3860 chan: @3864 @3858 identifier_node strg: CURLE_OBSOLETE40 lngt: 16 @3859 const_decl name: @3865 type: @3581 srcp: curl.h:339 chan: @3866 cnst: @3867 @3860 integer_cst type: @3 low : 40 @3861 identifier_node strg: __builtin___strcpy_chk lngt: 22 @3862 identifier_node strg: __strcpy_chk lngt: 12 @3863 function_decl name: @3862 type: @1539 srcp: :0 chan: @3868 body: undefined link: extern @3864 tree_list purp: @3865 valu: @3867 chan: @3869 @3865 identifier_node strg: CURLE_FUNCTION_NOT_FOUND lngt: 24 @3866 const_decl name: @3870 type: @3581 srcp: curl.h:340 chan: @3871 cnst: @3872 @3867 integer_cst type: @3 low : 41 @3868 function_decl name: @3873 mngl: @3874 type: @3875 srcp: :0 chan: @3876 body: undefined link: extern @3869 tree_list purp: @3870 valu: @3872 chan: @3877 @3870 identifier_node strg: CURLE_ABORTED_BY_CALLBACK lngt: 25 @3871 const_decl name: @3878 type: @3581 srcp: curl.h:341 chan: @3879 cnst: @3880 @3872 integer_cst type: @3 low : 42 @3873 identifier_node strg: __builtin___strncat_chk lngt: 23 @3874 identifier_node strg: __strncat_chk lngt: 13 @3875 function_type size: @12 algn: 8 retn: @1493 prms: @3881 @3876 function_decl name: @3874 type: @3875 srcp: :0 chan: @3882 body: undefined link: extern @3877 tree_list purp: @3878 valu: @3880 chan: @3883 @3878 identifier_node strg: CURLE_BAD_FUNCTION_ARGUMENT lngt: 27 @3879 const_decl name: @3884 type: @3581 srcp: curl.h:342 chan: @3885 cnst: @3886 @3880 integer_cst type: @3 low : 43 @3881 tree_list valu: @1493 chan: @3887 @3882 function_decl name: @3888 mngl: @3889 type: @3875 srcp: :0 chan: @3890 body: undefined link: extern @3883 tree_list purp: @3884 valu: @3886 chan: @3891 @3884 identifier_node strg: CURLE_OBSOLETE44 lngt: 16 @3885 const_decl name: @3892 type: @3581 srcp: curl.h:343 chan: @3893 cnst: @3894 @3886 integer_cst type: @3 low : 44 @3887 tree_list valu: @809 chan: @3895 @3888 identifier_node strg: __builtin___strncpy_chk lngt: 23 @3889 identifier_node strg: __strncpy_chk lngt: 13 @3890 function_decl name: @3889 type: @3875 srcp: :0 chan: @3896 body: undefined link: extern @3891 tree_list purp: @3892 valu: @3894 chan: @3897 @3892 identifier_node strg: CURLE_INTERFACE_FAILED lngt: 22 @3893 const_decl name: @3898 type: @3581 srcp: curl.h:344 chan: @3899 cnst: @3900 @3894 integer_cst type: @3 low : 45 @3895 tree_list valu: @31 chan: @3901 @3896 function_decl name: @3902 mngl: @3903 type: @3904 srcp: :0 chan: @3905 body: undefined link: extern @3897 tree_list purp: @3898 valu: @3900 chan: @3906 @3898 identifier_node strg: CURLE_OBSOLETE46 lngt: 16 @3899 const_decl name: @3907 type: @3581 srcp: curl.h:345 chan: @3908 cnst: @3909 @3900 integer_cst type: @3 low : 46 @3901 tree_list valu: @31 chan: @137 @3902 identifier_node strg: __builtin___snprintf_chk lngt: 24 @3903 identifier_node strg: __snprintf_chk lngt: 14 @3904 function_type size: @12 algn: 8 retn: @3 prms: @3910 @3905 function_decl name: @3903 type: @3904 srcp: :0 chan: @3911 body: undefined link: extern @3906 tree_list purp: @3907 valu: @3909 chan: @3912 @3907 identifier_node strg: CURLE_TOO_MANY_REDIRECTS lngt: 24 @3908 const_decl name: @3913 type: @3581 srcp: curl.h:346 chan: @3914 cnst: @3915 @3909 integer_cst type: @3 low : 47 @3910 tree_list valu: @1493 chan: @3916 @3911 function_decl name: @3917 mngl: @3918 type: @3919 srcp: :0 chan: @3920 body: undefined link: extern @3912 tree_list purp: @3913 valu: @3915 chan: @3921 @3913 identifier_node strg: CURLE_UNKNOWN_TELNET_OPTION lngt: 27 @3914 const_decl name: @3922 type: @3581 srcp: curl.h:347 chan: @3923 cnst: @3924 @3915 integer_cst type: @3 low : 48 @3916 tree_list valu: @31 chan: @3925 @3917 identifier_node strg: __builtin___sprintf_chk lngt: 23 @3918 identifier_node strg: __sprintf_chk lngt: 13 @3919 function_type size: @12 algn: 8 retn: @3 prms: @3926 @3920 function_decl name: @3918 type: @3919 srcp: :0 chan: @3927 body: undefined link: extern @3921 tree_list purp: @3922 valu: @3924 chan: @3928 @3922 identifier_node strg: CURLE_TELNET_OPTION_SYNTAX lngt: 26 @3923 const_decl name: @3929 type: @3581 srcp: curl.h:348 chan: @3930 cnst: @3931 @3924 integer_cst type: @3 low : 49 @3925 tree_list valu: @3 chan: @3932 @3926 tree_list valu: @1493 chan: @3933 @3927 function_decl name: @3934 mngl: @3935 type: @3936 srcp: :0 chan: @3937 body: undefined link: extern @3928 tree_list purp: @3929 valu: @3931 chan: @3938 @3929 identifier_node strg: CURLE_OBSOLETE50 lngt: 16 @3930 const_decl name: @3939 type: @3581 srcp: curl.h:349 chan: @3940 cnst: @3941 @3931 integer_cst type: @3 low : 50 @3932 tree_list valu: @31 chan: @3942 @3933 tree_list valu: @3 chan: @3943 @3934 identifier_node strg: __builtin___vsnprintf_chk lngt: 25 @3935 identifier_node strg: __vsnprintf_chk lngt: 15 @3936 function_type size: @12 algn: 8 retn: @3 prms: @3944 @3937 function_decl name: @3935 type: @3936 srcp: :0 chan: @3945 body: undefined link: extern @3938 tree_list purp: @3939 valu: @3941 chan: @3946 @3939 identifier_node strg: CURLE_PEER_FAILED_VERIFICATION lngt: 30 @3940 const_decl name: @3947 type: @3581 srcp: curl.h:351 chan: @3948 cnst: @3949 @3941 integer_cst type: @3 low : 51 @3942 tree_list valu: @809 @3943 tree_list valu: @31 chan: @3950 @3944 tree_list valu: @1493 chan: @3951 @3945 function_decl name: @3952 mngl: @3953 type: @3954 srcp: :0 chan: @3955 body: undefined link: extern @3946 tree_list purp: @3947 valu: @3949 chan: @3956 @3947 identifier_node strg: CURLE_GOT_NOTHING lngt: 17 @3948 const_decl name: @3957 type: @3581 srcp: curl.h:352 chan: @3958 cnst: @3959 @3949 integer_cst type: @3 low : 52 @3950 tree_list valu: @809 @3951 tree_list valu: @31 chan: @3960 @3952 identifier_node strg: __builtin___vsprintf_chk lngt: 24 @3953 identifier_node strg: __vsprintf_chk lngt: 14 @3954 function_type size: @12 algn: 8 retn: @3 prms: @3961 @3955 function_decl name: @3953 type: @3954 srcp: :0 chan: @3962 body: undefined link: extern @3956 tree_list purp: @3957 valu: @3959 chan: @3963 @3957 identifier_node strg: CURLE_SSL_ENGINE_NOTFOUND lngt: 25 @3958 const_decl name: @3964 type: @3581 srcp: curl.h:353 chan: @3965 cnst: @3966 @3959 integer_cst type: @3 low : 53 @3960 tree_list valu: @3 chan: @3967 @3961 tree_list valu: @1493 chan: @3968 @3962 function_decl name: @3969 mngl: @3970 type: @3971 srcp: :0 chan: @3972 body: undefined link: extern @3963 tree_list purp: @3964 valu: @3966 chan: @3973 @3964 identifier_node strg: CURLE_SSL_ENGINE_SETFAILED lngt: 26 @3965 const_decl name: @3974 type: @3581 srcp: curl.h:355 chan: @3975 cnst: @3976 @3966 integer_cst type: @3 low : 54 @3967 tree_list valu: @31 chan: @3977 @3968 tree_list valu: @3 chan: @3978 @3969 identifier_node strg: __builtin___fprintf_chk lngt: 23 @3970 identifier_node strg: __fprintf_chk lngt: 13 @3971 function_type size: @12 algn: 8 retn: @3 prms: @3979 @3972 function_decl name: @3970 type: @3971 srcp: :0 chan: @3980 body: undefined link: extern @3973 tree_list purp: @3974 valu: @3976 chan: @3981 @3974 identifier_node strg: CURLE_SEND_ERROR lngt: 16 @3975 const_decl name: @3982 type: @3581 srcp: curl.h:356 chan: @3983 cnst: @3984 @3976 integer_cst type: @3 low : 55 @3977 tree_list valu: @809 chan: @3985 @3978 tree_list valu: @31 chan: @3986 @3979 tree_list valu: @147 chan: @3987 @3980 function_decl name: @3988 mngl: @3989 type: @3990 srcp: :0 chan: @3991 body: undefined link: extern @3981 tree_list purp: @3982 valu: @3984 chan: @3992 @3982 identifier_node strg: CURLE_RECV_ERROR lngt: 16 @3983 const_decl name: @3993 type: @3581 srcp: curl.h:357 chan: @3994 cnst: @3995 @3984 integer_cst type: @3 low : 56 @3985 tree_list valu: @2323 chan: @137 @3986 tree_list valu: @809 chan: @3996 @3987 tree_list valu: @3 chan: @3997 @3988 identifier_node strg: __builtin___printf_chk lngt: 22 @3989 identifier_node strg: __printf_chk lngt: 12 @3990 function_type size: @12 algn: 8 retn: @3 prms: @3998 @3991 function_decl name: @3989 type: @3990 srcp: :0 chan: @3999 body: undefined link: extern @3992 tree_list purp: @3993 valu: @3995 chan: @4000 @3993 identifier_node strg: CURLE_OBSOLETE57 lngt: 16 @3994 const_decl name: @4001 type: @3581 srcp: curl.h:358 chan: @4002 cnst: @4003 @3995 integer_cst type: @3 low : 57 @3996 tree_list valu: @2323 chan: @137 @3997 tree_list valu: @809 @3998 tree_list valu: @3 chan: @4004 @3999 function_decl name: @4005 mngl: @4006 type: @4007 srcp: :0 chan: @4008 body: undefined link: extern @4000 tree_list purp: @4001 valu: @4003 chan: @4009 @4001 identifier_node strg: CURLE_SSL_CERTPROBLEM lngt: 21 @4002 const_decl name: @4010 type: @3581 srcp: curl.h:359 chan: @4011 cnst: @4012 @4003 integer_cst type: @3 low : 58 @4004 tree_list valu: @809 @4005 identifier_node strg: __builtin___vfprintf_chk lngt: 24 @4006 identifier_node strg: __vfprintf_chk lngt: 14 @4007 function_type size: @12 algn: 8 retn: @3 prms: @4013 @4008 function_decl name: @4006 type: @4007 srcp: :0 chan: @4014 body: undefined link: extern @4009 tree_list purp: @4010 valu: @4012 chan: @4015 @4010 identifier_node strg: CURLE_SSL_CIPHER lngt: 16 @4011 const_decl name: @4016 type: @3581 srcp: curl.h:360 chan: @4017 cnst: @4018 @4012 integer_cst type: @3 low : 59 @4013 tree_list valu: @147 chan: @4019 @4014 function_decl name: @4020 mngl: @4021 type: @4022 srcp: :0 chan: @4023 body: undefined link: extern @4015 tree_list purp: @4016 valu: @4018 chan: @4024 @4016 identifier_node strg: CURLE_SSL_CACERT lngt: 16 @4017 const_decl name: @4025 type: @3581 srcp: curl.h:361 chan: @4026 cnst: @4027 @4018 integer_cst type: @3 low : 60 @4019 tree_list valu: @3 chan: @4028 @4020 identifier_node strg: __builtin___vprintf_chk lngt: 23 @4021 identifier_node strg: __vprintf_chk lngt: 13 @4022 function_type size: @12 algn: 8 retn: @3 prms: @4029 @4023 function_decl name: @4021 type: @4022 srcp: :0 chan: @4030 body: undefined link: extern @4024 tree_list purp: @4025 valu: @4027 chan: @4031 @4025 identifier_node strg: CURLE_BAD_CONTENT_ENCODING lngt: 26 @4026 const_decl name: @4032 type: @3581 srcp: curl.h:362 chan: @4033 cnst: @4034 @4027 integer_cst type: @3 low : 61 @4028 tree_list valu: @809 chan: @4035 @4029 tree_list valu: @3 chan: @4036 @4030 function_decl name: @4037 type: @2921 srcp: :0 chan: @4038 body: undefined link: extern @4031 tree_list purp: @4032 valu: @4034 chan: @4039 @4032 identifier_node strg: CURLE_LDAP_INVALID_URL lngt: 22 @4033 const_decl name: @4040 type: @3581 srcp: curl.h:363 chan: @4041 cnst: @4042 @4034 integer_cst type: @3 low : 62 @4035 tree_list valu: @2323 chan: @137 @4036 tree_list valu: @809 chan: @4043 @4037 identifier_node strg: __sync_fetch_and_add lngt: 20 @4038 function_decl name: @4044 type: @4045 srcp: :0 chan: @4046 body: undefined link: extern @4039 tree_list purp: @4040 valu: @4042 chan: @4047 @4040 identifier_node strg: CURLE_FILESIZE_EXCEEDED lngt: 23 @4041 const_decl name: @4048 type: @3581 srcp: curl.h:364 chan: @4049 cnst: @3013 @4042 integer_cst type: @3 low : 63 @4043 tree_list valu: @2323 chan: @137 @4044 identifier_node strg: __sync_fetch_and_add_1 lngt: 22 @4045 function_type size: @12 algn: 8 retn: @62 prms: @4050 @4046 function_decl name: @4051 type: @4052 srcp: :0 chan: @4053 body: undefined link: extern @4047 tree_list purp: @4048 valu: @3013 chan: @4054 @4048 identifier_node strg: CURLE_USE_SSL_FAILED lngt: 20 @4049 const_decl name: @4055 type: @3581 srcp: curl.h:365 chan: @4056 cnst: @4057 @4050 tree_list valu: @4058 chan: @4059 @4051 identifier_node strg: __sync_fetch_and_add_2 lngt: 22 @4052 function_type size: @12 algn: 8 retn: @52 prms: @4060 @4053 function_decl name: @4061 type: @4062 srcp: :0 chan: @4063 body: undefined link: extern @4054 tree_list purp: @4055 valu: @4057 chan: @4064 @4055 identifier_node strg: CURLE_SEND_FAIL_REWIND lngt: 22 @4056 const_decl name: @4065 type: @3581 srcp: curl.h:367 chan: @4066 cnst: @4067 @4057 integer_cst type: @3 low : 65 @4058 pointer_type size: @22 algn: 64 ptd : @4068 @4059 tree_list valu: @62 chan: @137 @4060 tree_list valu: @4058 chan: @4069 @4061 identifier_node strg: __sync_fetch_and_add_4 lngt: 22 @4062 function_type size: @12 algn: 8 retn: @26 prms: @4070 @4063 function_decl name: @4071 type: @4072 srcp: :0 chan: @4073 body: undefined link: extern @4064 tree_list purp: @4065 valu: @4067 chan: @4074 @4065 identifier_node strg: CURLE_SSL_ENGINE_INITFAILED lngt: 27 @4066 const_decl name: @4075 type: @3581 srcp: curl.h:368 chan: @4076 cnst: @4077 @4067 integer_cst type: @3 low : 66 @4068 void_type qual: v name: @112 unql: @115 algn: 8 @4069 tree_list valu: @52 chan: @137 @4070 tree_list valu: @4058 chan: @4078 @4071 identifier_node strg: __sync_fetch_and_add_8 lngt: 22 @4072 function_type size: @12 algn: 8 retn: @31 prms: @4079 @4073 function_decl name: @4080 type: @2921 srcp: :0 chan: @4081 body: undefined link: extern @4074 tree_list purp: @4075 valu: @4077 chan: @4082 @4075 identifier_node strg: CURLE_LOGIN_DENIED lngt: 18 @4076 const_decl name: @4083 type: @3581 srcp: curl.h:370 chan: @4084 cnst: @4085 @4077 integer_cst type: @3 low : 67 @4078 tree_list valu: @26 chan: @137 @4079 tree_list valu: @4058 chan: @4086 @4080 identifier_node strg: __sync_fetch_and_sub lngt: 20 @4081 function_decl name: @4087 type: @4045 srcp: :0 chan: @4088 body: undefined link: extern @4082 tree_list purp: @4083 valu: @4085 chan: @4089 @4083 identifier_node strg: CURLE_TFTP_NOTFOUND lngt: 19 @4084 const_decl name: @4090 type: @3581 srcp: curl.h:371 chan: @4091 cnst: @4092 @4085 integer_cst type: @3 low : 68 @4086 tree_list valu: @31 chan: @137 @4087 identifier_node strg: __sync_fetch_and_sub_1 lngt: 22 @4088 function_decl name: @4093 type: @4052 srcp: :0 chan: @4094 body: undefined link: extern @4089 tree_list purp: @4090 valu: @4092 chan: @4095 @4090 identifier_node strg: CURLE_TFTP_PERM lngt: 15 @4091 const_decl name: @4096 type: @3581 srcp: curl.h:372 chan: @4097 cnst: @4098 @4092 integer_cst type: @3 low : 69 @4093 identifier_node strg: __sync_fetch_and_sub_2 lngt: 22 @4094 function_decl name: @4099 type: @4062 srcp: :0 chan: @4100 body: undefined link: extern @4095 tree_list purp: @4096 valu: @4098 chan: @4101 @4096 identifier_node strg: CURLE_REMOTE_DISK_FULL lngt: 22 @4097 const_decl name: @4102 type: @3581 srcp: curl.h:373 chan: @4103 cnst: @4104 @4098 integer_cst type: @3 low : 70 @4099 identifier_node strg: __sync_fetch_and_sub_4 lngt: 22 @4100 function_decl name: @4105 type: @4072 srcp: :0 chan: @4106 body: undefined link: extern @4101 tree_list purp: @4102 valu: @4104 chan: @4107 @4102 identifier_node strg: CURLE_TFTP_ILLEGAL lngt: 18 @4103 const_decl name: @4108 type: @3581 srcp: curl.h:374 chan: @4109 cnst: @4110 @4104 integer_cst type: @3 low : 71 @4105 identifier_node strg: __sync_fetch_and_sub_8 lngt: 22 @4106 function_decl name: @4111 type: @2921 srcp: :0 chan: @4112 body: undefined link: extern @4107 tree_list purp: @4108 valu: @4110 chan: @4113 @4108 identifier_node strg: CURLE_TFTP_UNKNOWNID lngt: 20 @4109 const_decl name: @4114 type: @3581 srcp: curl.h:375 chan: @4115 cnst: @4116 @4110 integer_cst type: @3 low : 72 @4111 identifier_node strg: __sync_fetch_and_or lngt: 19 @4112 function_decl name: @4117 type: @4045 srcp: :0 chan: @4118 body: undefined link: extern @4113 tree_list purp: @4114 valu: @4116 chan: @4119 @4114 identifier_node strg: CURLE_REMOTE_FILE_EXISTS lngt: 24 @4115 const_decl name: @4120 type: @3581 srcp: curl.h:376 chan: @4121 cnst: @4122 @4116 integer_cst type: @3 low : 73 @4117 identifier_node strg: __sync_fetch_and_or_1 lngt: 21 @4118 function_decl name: @4123 type: @4052 srcp: :0 chan: @4124 body: undefined link: extern @4119 tree_list purp: @4120 valu: @4122 chan: @4125 @4120 identifier_node strg: CURLE_TFTP_NOSUCHUSER lngt: 21 @4121 const_decl name: @4126 type: @3581 srcp: curl.h:377 chan: @4127 cnst: @4128 @4122 integer_cst type: @3 low : 74 @4123 identifier_node strg: __sync_fetch_and_or_2 lngt: 21 @4124 function_decl name: @4129 type: @4062 srcp: :0 chan: @4130 body: undefined link: extern @4125 tree_list purp: @4126 valu: @4128 chan: @4131 @4126 identifier_node strg: CURLE_CONV_FAILED lngt: 17 @4127 const_decl name: @4132 type: @3581 srcp: curl.h:378 chan: @4133 cnst: @4134 @4128 integer_cst type: @3 low : 75 @4129 identifier_node strg: __sync_fetch_and_or_4 lngt: 21 @4130 function_decl name: @4135 type: @4072 srcp: :0 chan: @4136 body: undefined link: extern @4131 tree_list purp: @4132 valu: @4134 chan: @4137 @4132 identifier_node strg: CURLE_CONV_REQD lngt: 15 @4133 const_decl name: @4138 type: @3581 srcp: curl.h:383 chan: @4139 cnst: @4140 @4134 integer_cst type: @3 low : 76 @4135 identifier_node strg: __sync_fetch_and_or_8 lngt: 21 @4136 function_decl name: @4141 type: @2921 srcp: :0 chan: @4142 body: undefined link: extern @4137 tree_list purp: @4138 valu: @4140 chan: @4143 @4138 identifier_node strg: CURLE_SSL_CACERT_BADFILE lngt: 24 @4139 const_decl name: @4144 type: @3581 srcp: curl.h:385 chan: @4145 cnst: @4146 @4140 integer_cst type: @3 low : 77 @4141 identifier_node strg: __sync_fetch_and_and lngt: 20 @4142 function_decl name: @4147 type: @4045 srcp: :0 chan: @4148 body: undefined link: extern @4143 tree_list purp: @4144 valu: @4146 chan: @4149 @4144 identifier_node strg: CURLE_REMOTE_FILE_NOT_FOUND lngt: 27 @4145 const_decl name: @4150 type: @3581 srcp: curl.h:386 chan: @4151 cnst: @4152 @4146 integer_cst type: @3 low : 78 @4147 identifier_node strg: __sync_fetch_and_and_1 lngt: 22 @4148 function_decl name: @4153 type: @4052 srcp: :0 chan: @4154 body: undefined link: extern @4149 tree_list purp: @4150 valu: @4152 chan: @4155 @4150 identifier_node strg: CURLE_SSH lngt: 9 @4151 const_decl name: @4156 type: @3581 srcp: curl.h:390 chan: @4157 cnst: @4158 @4152 integer_cst type: @3 low : 79 @4153 identifier_node strg: __sync_fetch_and_and_2 lngt: 22 @4154 function_decl name: @4159 type: @4062 srcp: :0 chan: @4160 body: undefined link: extern @4155 tree_list purp: @4156 valu: @4158 chan: @4161 @4156 identifier_node strg: CURLE_SSL_SHUTDOWN_FAILED lngt: 25 @4157 const_decl name: @4162 type: @3581 srcp: curl.h:392 chan: @4163 cnst: @4164 @4158 integer_cst type: @3 low : 80 @4159 identifier_node strg: __sync_fetch_and_and_4 lngt: 22 @4160 function_decl name: @4165 type: @4072 srcp: :0 chan: @4166 body: undefined link: extern @4161 tree_list purp: @4162 valu: @4164 chan: @4167 @4162 identifier_node strg: CURLE_AGAIN lngt: 11 @4163 const_decl name: @4168 type: @3581 srcp: curl.h:395 chan: @4169 cnst: @4170 @4164 integer_cst type: @3 low : 81 @4165 identifier_node strg: __sync_fetch_and_and_8 lngt: 22 @4166 function_decl name: @4171 type: @2921 srcp: :0 chan: @4172 body: undefined link: extern @4167 tree_list purp: @4168 valu: @4170 chan: @4173 @4168 identifier_node strg: CURLE_SSL_CRL_BADFILE lngt: 21 @4169 const_decl name: @4174 type: @3581 srcp: curl.h:397 chan: @4175 cnst: @4176 @4170 integer_cst type: @3 low : 82 @4171 identifier_node strg: __sync_fetch_and_xor lngt: 20 @4172 function_decl name: @4177 type: @4045 srcp: :0 chan: @4178 body: undefined link: extern @4173 tree_list purp: @4174 valu: @4176 chan: @4179 @4174 identifier_node strg: CURLE_SSL_ISSUER_ERROR lngt: 22 @4175 const_decl name: @4180 type: @3581 srcp: curl.h:400 chan: @4181 cnst: @4182 @4176 integer_cst type: @3 low : 83 @4177 identifier_node strg: __sync_fetch_and_xor_1 lngt: 22 @4178 function_decl name: @4183 type: @4052 srcp: :0 chan: @4184 body: undefined link: extern @4179 tree_list purp: @4180 valu: @4182 @4180 identifier_node strg: CURL_LAST lngt: 9 @4181 type_decl name: @4185 type: @4186 srcp: curl.h:400 chan: @4187 @4182 integer_cst type: @3 low : 84 @4183 identifier_node strg: __sync_fetch_and_xor_2 lngt: 22 @4184 function_decl name: @4188 type: @4062 srcp: :0 chan: @4189 body: undefined link: extern @4185 identifier_node strg: CURLcode lngt: 8 @4186 enumeral_type name: @4181 unql: @3581 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @3586 @4187 type_decl name: @4190 type: @4191 srcp: curl.h:454 chan: @4192 @4188 identifier_node strg: __sync_fetch_and_xor_4 lngt: 22 @4189 function_decl name: @4193 type: @4072 srcp: :0 chan: @4194 body: undefined link: extern @4190 identifier_node strg: curl_conv_callback lngt: 18 @4191 pointer_type name: @4187 unql: @4195 size: @22 algn: 64 ptd : @4196 @4192 type_decl name: @4197 type: @4198 srcp: curl.h:459 chan: @4199 @4193 identifier_node strg: __sync_fetch_and_xor_8 lngt: 22 @4194 function_decl name: @4200 type: @2921 srcp: :0 chan: @4201 body: undefined link: extern @4195 pointer_type size: @22 algn: 64 ptd : @4196 @4196 function_type size: @12 algn: 8 retn: @4186 prms: @4202 @4197 identifier_node strg: curl_ssl_ctx_callback lngt: 21 @4198 pointer_type name: @4192 unql: @4203 size: @22 algn: 64 ptd : @4204 @4199 type_decl type: @4205 srcp: curl.h:461 chan: @4206 @4200 identifier_node strg: __sync_fetch_and_nand lngt: 21 @4201 function_decl name: @4207 type: @4045 srcp: :0 chan: @4208 body: undefined link: extern @4202 tree_list valu: @1493 chan: @4209 @4203 pointer_type size: @22 algn: 64 ptd : @4204 @4204 function_type size: @12 algn: 8 retn: @4186 prms: @4210 @4205 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @4211 @4206 const_decl name: @4212 type: @4205 srcp: curl.h:462 chan: @4213 cnst: @1796 @4207 identifier_node strg: __sync_fetch_and_nand_1 lngt: 23 @4208 function_decl name: @4214 type: @4052 srcp: :0 chan: @4215 body: undefined link: extern @4209 tree_list valu: @1772 chan: @137 @4210 tree_list valu: @3491 chan: @4216 @4211 tree_list purp: @4212 valu: @1796 chan: @4217 @4212 identifier_node strg: CURLPROXY_HTTP lngt: 14 @4213 const_decl name: @4218 type: @4205 srcp: curl.h:464 chan: @4219 cnst: @1817 @4214 identifier_node strg: __sync_fetch_and_nand_2 lngt: 23 @4215 function_decl name: @4220 type: @4062 srcp: :0 chan: @4221 body: undefined link: extern @4216 tree_list valu: @147 chan: @4222 @4217 tree_list purp: @4218 valu: @1817 chan: @4223 @4218 identifier_node strg: CURLPROXY_HTTP_1_0 lngt: 18 @4219 const_decl name: @4224 type: @4205 srcp: curl.h:466 chan: @4225 cnst: @1871 @4220 identifier_node strg: __sync_fetch_and_nand_4 lngt: 23 @4221 function_decl name: @4226 type: @4072 srcp: :0 chan: @4227 body: undefined link: extern @4222 tree_list valu: @147 chan: @137 @4223 tree_list purp: @4224 valu: @1871 chan: @4228 @4224 identifier_node strg: CURLPROXY_SOCKS4 lngt: 16 @4225 const_decl name: @4229 type: @4205 srcp: curl.h:468 chan: @4230 cnst: @1891 @4226 identifier_node strg: __sync_fetch_and_nand_8 lngt: 23 @4227 function_decl name: @4231 type: @2921 srcp: :0 chan: @4232 body: undefined link: extern @4228 tree_list purp: @4229 valu: @1891 chan: @4233 @4229 identifier_node strg: CURLPROXY_SOCKS5 lngt: 16 @4230 const_decl name: @4234 type: @4205 srcp: curl.h:469 chan: @4235 cnst: @1908 @4231 identifier_node strg: __sync_add_and_fetch lngt: 20 @4232 function_decl name: @4236 type: @4045 srcp: :0 chan: @4237 body: undefined link: extern @4233 tree_list purp: @4234 valu: @1908 chan: @4238 @4234 identifier_node strg: CURLPROXY_SOCKS4A lngt: 17 @4235 const_decl name: @4239 type: @4205 srcp: curl.h:473 chan: @4240 cnst: @1924 @4236 identifier_node strg: __sync_add_and_fetch_1 lngt: 22 @4237 function_decl name: @4241 type: @4052 srcp: :0 chan: @4242 body: undefined link: extern @4238 tree_list purp: @4239 valu: @1924 @4239 identifier_node strg: CURLPROXY_SOCKS5_HOSTNAME lngt: 25 @4240 type_decl name: @4243 type: @4244 srcp: curl.h:473 chan: @4245 @4241 identifier_node strg: __sync_add_and_fetch_2 lngt: 22 @4242 function_decl name: @4246 type: @4062 srcp: :0 chan: @4247 body: undefined link: extern @4243 identifier_node strg: curl_proxytype lngt: 14 @4244 enumeral_type name: @4240 unql: @4205 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @4211 @4245 type_decl type: @4248 srcp: curl.h:495 chan: @4249 @4246 identifier_node strg: __sync_add_and_fetch_4 lngt: 22 @4247 function_decl name: @4250 type: @4072 srcp: :0 chan: @4251 body: undefined link: extern @4248 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @4252 @4249 const_decl name: @4253 type: @4248 srcp: curl.h:496 chan: @4254 cnst: @1796 @4250 identifier_node strg: __sync_add_and_fetch_8 lngt: 22 @4251 function_decl name: @4255 type: @2921 srcp: :0 chan: @4256 body: undefined link: extern @4252 tree_list purp: @4253 valu: @1796 chan: @4257 @4253 identifier_node strg: CURLUSESSL_NONE lngt: 15 @4254 const_decl name: @4258 type: @4248 srcp: curl.h:497 chan: @4259 cnst: @1817 @4255 identifier_node strg: __sync_sub_and_fetch lngt: 20 @4256 function_decl name: @4260 type: @4045 srcp: :0 chan: @4261 body: undefined link: extern @4257 tree_list purp: @4258 valu: @1817 chan: @4262 @4258 identifier_node strg: CURLUSESSL_TRY lngt: 14 @4259 const_decl name: @4263 type: @4248 srcp: curl.h:498 chan: @4264 cnst: @1834 @4260 identifier_node strg: __sync_sub_and_fetch_1 lngt: 22 @4261 function_decl name: @4265 type: @4052 srcp: :0 chan: @4266 body: undefined link: extern @4262 tree_list purp: @4263 valu: @1834 chan: @4267 @4263 identifier_node strg: CURLUSESSL_CONTROL lngt: 18 @4264 const_decl name: @4268 type: @4248 srcp: curl.h:499 chan: @4269 cnst: @1853 @4265 identifier_node strg: __sync_sub_and_fetch_2 lngt: 22 @4266 function_decl name: @4270 type: @4062 srcp: :0 chan: @4271 body: undefined link: extern @4267 tree_list purp: @4268 valu: @1853 chan: @4272 @4268 identifier_node strg: CURLUSESSL_ALL lngt: 14 @4269 const_decl name: @4273 type: @4248 srcp: curl.h:501 chan: @4274 cnst: @1871 @4270 identifier_node strg: __sync_sub_and_fetch_4 lngt: 22 @4271 function_decl name: @4275 type: @4072 srcp: :0 chan: @4276 body: undefined link: extern @4272 tree_list purp: @4273 valu: @1871 @4273 identifier_node strg: CURLUSESSL_LAST lngt: 15 @4274 type_decl name: @4277 type: @4278 srcp: curl.h:501 chan: @4279 @4275 identifier_node strg: __sync_sub_and_fetch_8 lngt: 22 @4276 function_decl name: @4280 type: @2921 srcp: :0 chan: @4281 body: undefined link: extern @4277 identifier_node strg: curl_usessl lngt: 11 @4278 enumeral_type name: @4274 unql: @4248 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @4252 @4279 type_decl type: @4282 srcp: curl.h:518 chan: @4283 @4280 identifier_node strg: __sync_or_and_fetch lngt: 19 @4281 function_decl name: @4284 type: @4045 srcp: :0 chan: @4285 body: undefined link: extern @4282 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @4286 @4283 const_decl name: @4287 type: @4282 srcp: curl.h:519 chan: @4288 cnst: @1796 @4284 identifier_node strg: __sync_or_and_fetch_1 lngt: 21 @4285 function_decl name: @4289 type: @4052 srcp: :0 chan: @4290 body: undefined link: extern @4286 tree_list purp: @4287 valu: @1796 chan: @4291 @4287 identifier_node strg: CURLFTPSSL_CCC_NONE lngt: 19 @4288 const_decl name: @4292 type: @4282 srcp: curl.h:520 chan: @4293 cnst: @1817 @4289 identifier_node strg: __sync_or_and_fetch_2 lngt: 21 @4290 function_decl name: @4294 type: @4062 srcp: :0 chan: @4295 body: undefined link: extern @4291 tree_list purp: @4292 valu: @1817 chan: @4296 @4292 identifier_node strg: CURLFTPSSL_CCC_PASSIVE lngt: 22 @4293 const_decl name: @4297 type: @4282 srcp: curl.h:521 chan: @4298 cnst: @1834 @4294 identifier_node strg: __sync_or_and_fetch_4 lngt: 21 @4295 function_decl name: @4299 type: @4072 srcp: :0 chan: @4300 body: undefined link: extern @4296 tree_list purp: @4297 valu: @1834 chan: @4301 @4297 identifier_node strg: CURLFTPSSL_CCC_ACTIVE lngt: 21 @4298 const_decl name: @4302 type: @4282 srcp: curl.h:523 chan: @4303 cnst: @1853 @4299 identifier_node strg: __sync_or_and_fetch_8 lngt: 21 @4300 function_decl name: @4304 type: @2921 srcp: :0 chan: @4305 body: undefined link: extern @4301 tree_list purp: @4302 valu: @1853 @4302 identifier_node strg: CURLFTPSSL_CCC_LAST lngt: 19 @4303 type_decl name: @4306 type: @4307 srcp: curl.h:523 chan: @4308 @4304 identifier_node strg: __sync_and_and_fetch lngt: 20 @4305 function_decl name: @4309 type: @4045 srcp: :0 chan: @4310 body: undefined link: extern @4306 identifier_node strg: curl_ftpccc lngt: 11 @4307 enumeral_type name: @4303 unql: @4282 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @4286 @4308 type_decl type: @4311 srcp: curl.h:526 chan: @4312 @4309 identifier_node strg: __sync_and_and_fetch_1 lngt: 22 @4310 function_decl name: @4313 type: @4052 srcp: :0 chan: @4314 body: undefined link: extern @4311 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @4315 @4312 const_decl name: @4316 type: @4311 srcp: curl.h:527 chan: @4317 cnst: @1796 @4313 identifier_node strg: __sync_and_and_fetch_2 lngt: 22 @4314 function_decl name: @4318 type: @4062 srcp: :0 chan: @4319 body: undefined link: extern @4315 tree_list purp: @4316 valu: @1796 chan: @4320 @4316 identifier_node strg: CURLFTPAUTH_DEFAULT lngt: 19 @4317 const_decl name: @4321 type: @4311 srcp: curl.h:528 chan: @4322 cnst: @1817 @4318 identifier_node strg: __sync_and_and_fetch_4 lngt: 22 @4319 function_decl name: @4323 type: @4072 srcp: :0 chan: @4324 body: undefined link: extern @4320 tree_list purp: @4321 valu: @1817 chan: @4325 @4321 identifier_node strg: CURLFTPAUTH_SSL lngt: 15 @4322 const_decl name: @4326 type: @4311 srcp: curl.h:529 chan: @4327 cnst: @1834 @4323 identifier_node strg: __sync_and_and_fetch_8 lngt: 22 @4324 function_decl name: @4328 type: @2921 srcp: :0 chan: @4329 body: undefined link: extern @4325 tree_list purp: @4326 valu: @1834 chan: @4330 @4326 identifier_node strg: CURLFTPAUTH_TLS lngt: 15 @4327 const_decl name: @4331 type: @4311 srcp: curl.h:531 chan: @4332 cnst: @1853 @4328 identifier_node strg: __sync_xor_and_fetch lngt: 20 @4329 function_decl name: @4333 type: @4045 srcp: :0 chan: @4334 body: undefined link: extern @4330 tree_list purp: @4331 valu: @1853 @4331 identifier_node strg: CURLFTPAUTH_LAST lngt: 16 @4332 type_decl name: @4335 type: @4336 srcp: curl.h:531 chan: @4337 @4333 identifier_node strg: __sync_xor_and_fetch_1 lngt: 22 @4334 function_decl name: @4338 type: @4052 srcp: :0 chan: @4339 body: undefined link: extern @4335 identifier_node strg: curl_ftpauth lngt: 12 @4336 enumeral_type name: @4332 unql: @4311 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @4315 @4337 type_decl type: @4340 srcp: curl.h:534 chan: @4341 @4338 identifier_node strg: __sync_xor_and_fetch_2 lngt: 22 @4339 function_decl name: @4342 type: @4062 srcp: :0 chan: @4343 body: undefined link: extern @4340 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @4344 @4341 const_decl name: @4345 type: @4340 srcp: curl.h:535 chan: @4346 cnst: @1796 @4342 identifier_node strg: __sync_xor_and_fetch_4 lngt: 22 @4343 function_decl name: @4347 type: @4072 srcp: :0 chan: @4348 body: undefined link: extern @4344 tree_list purp: @4345 valu: @1796 chan: @4349 @4345 identifier_node strg: CURLFTP_CREATE_DIR_NONE lngt: 23 @4346 const_decl name: @4350 type: @4340 srcp: curl.h:536 chan: @4351 cnst: @1817 @4347 identifier_node strg: __sync_xor_and_fetch_8 lngt: 22 @4348 function_decl name: @4352 type: @2921 srcp: :0 chan: @4353 body: undefined link: extern @4349 tree_list purp: @4350 valu: @1817 chan: @4354 @4350 identifier_node strg: CURLFTP_CREATE_DIR lngt: 18 @4351 const_decl name: @4355 type: @4340 srcp: curl.h:539 chan: @4356 cnst: @1834 @4352 identifier_node strg: __sync_nand_and_fetch lngt: 21 @4353 function_decl name: @4357 type: @4045 srcp: :0 chan: @4358 body: undefined link: extern @4354 tree_list purp: @4355 valu: @1834 chan: @4359 @4355 identifier_node strg: CURLFTP_CREATE_DIR_RETRY lngt: 24 @4356 const_decl name: @4360 type: @4340 srcp: curl.h:542 chan: @4361 cnst: @1853 @4357 identifier_node strg: __sync_nand_and_fetch_1 lngt: 23 @4358 function_decl name: @4362 type: @4052 srcp: :0 chan: @4363 body: undefined link: extern @4359 tree_list purp: @4360 valu: @1853 @4360 identifier_node strg: CURLFTP_CREATE_DIR_LAST lngt: 23 @4361 type_decl name: @4364 type: @4365 srcp: curl.h:542 chan: @4366 @4362 identifier_node strg: __sync_nand_and_fetch_2 lngt: 23 @4363 function_decl name: @4367 type: @4062 srcp: :0 chan: @4368 body: undefined link: extern @4364 identifier_node strg: curl_ftpcreatedir lngt: 17 @4365 enumeral_type name: @4361 unql: @4340 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @4344 @4366 type_decl type: @4369 srcp: curl.h:545 chan: @4370 @4367 identifier_node strg: __sync_nand_and_fetch_4 lngt: 23 @4368 function_decl name: @4371 type: @4072 srcp: :0 chan: @4372 body: undefined link: extern @4369 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @4373 @4370 const_decl name: @4374 type: @4369 srcp: curl.h:546 chan: @4375 cnst: @1796 @4371 identifier_node strg: __sync_nand_and_fetch_8 lngt: 23 @4372 function_decl name: @4376 type: @2921 srcp: :0 chan: @4377 body: undefined link: extern @4373 tree_list purp: @4374 valu: @1796 chan: @4378 @4374 identifier_node strg: CURLFTPMETHOD_DEFAULT lngt: 21 @4375 const_decl name: @4379 type: @4369 srcp: curl.h:547 chan: @4380 cnst: @1817 @4376 identifier_node strg: __sync_bool_compare_and_swap lngt: 28 @4377 function_decl name: @4381 type: @4382 srcp: :0 chan: @4383 body: undefined link: extern @4378 tree_list purp: @4379 valu: @1817 chan: @4384 @4379 identifier_node strg: CURLFTPMETHOD_MULTICWD lngt: 22 @4380 const_decl name: @4385 type: @4369 srcp: curl.h:548 chan: @4386 cnst: @1834 @4381 identifier_node strg: __sync_bool_compare_and_swap_1 lngt: 30 @4382 function_type size: @12 algn: 8 retn: @4387 prms: @4388 @4383 function_decl name: @4389 type: @4390 srcp: :0 chan: @4391 body: undefined link: extern @4384 tree_list purp: @4385 valu: @1834 chan: @4392 @4385 identifier_node strg: CURLFTPMETHOD_NOCWD lngt: 19 @4386 const_decl name: @4393 type: @4369 srcp: curl.h:549 chan: @4394 cnst: @1853 @4387 boolean_type name: @4395 size: @12 algn: 8 @4388 tree_list valu: @4058 chan: @4396 @4389 identifier_node strg: __sync_bool_compare_and_swap_2 lngt: 30 @4390 function_type size: @12 algn: 8 retn: @4387 prms: @4397 @4391 function_decl name: @4398 type: @4399 srcp: :0 chan: @4400 body: undefined link: extern @4392 tree_list purp: @4393 valu: @1853 chan: @4401 @4393 identifier_node strg: CURLFTPMETHOD_SINGLECWD lngt: 23 @4394 const_decl name: @4402 type: @4369 srcp: curl.h:551 chan: @4403 cnst: @1871 @4395 type_decl name: @4404 type: @4387 srcp: :0 chan: @4405 @4396 tree_list valu: @62 chan: @4406 @4397 tree_list valu: @4058 chan: @4407 @4398 identifier_node strg: __sync_bool_compare_and_swap_4 lngt: 30 @4399 function_type size: @12 algn: 8 retn: @4387 prms: @4408 @4400 function_decl name: @4409 type: @4410 srcp: :0 chan: @4411 body: undefined link: extern @4401 tree_list purp: @4402 valu: @1871 @4402 identifier_node strg: CURLFTPMETHOD_LAST lngt: 18 @4403 type_decl name: @4412 type: @4413 srcp: curl.h:551 chan: @4414 @4404 identifier_node strg: _Bool lngt: 5 @4405 var_decl name: @4415 type: @2167 srcp: libio.h:342 chan: @4416 algn: 8 used: 0 @4406 tree_list valu: @62 chan: @137 @4407 tree_list valu: @52 chan: @4417 @4408 tree_list valu: @4058 chan: @4418 @4409 identifier_node strg: __sync_bool_compare_and_swap_8 lngt: 30 @4410 function_type size: @12 algn: 8 retn: @4387 prms: @4419 @4411 function_decl name: @4420 type: @2921 srcp: :0 chan: @4421 body: undefined link: extern @4412 identifier_node strg: curl_ftpmethod lngt: 14 @4413 enumeral_type name: @4403 unql: @4369 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @4373 @4414 type_decl type: @4422 srcp: curl.h:599 chan: @4423 @4415 identifier_node strg: _IO_2_1_stdin_ lngt: 14 @4416 var_decl name: @4424 type: @2167 srcp: libio.h:343 chan: @4425 algn: 8 used: 0 @4417 tree_list valu: @52 chan: @137 @4418 tree_list valu: @26 chan: @4426 @4419 tree_list valu: @4058 chan: @4427 @4420 identifier_node strg: __sync_val_compare_and_swap lngt: 27 @4421 function_decl name: @4428 type: @4429 srcp: :0 chan: @4430 body: undefined link: extern @4422 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @4431 @4423 const_decl name: @4432 type: @4422 srcp: curl.h:601 chan: @4433 cnst: @4434 @4424 identifier_node strg: _IO_2_1_stdout_ lngt: 15 @4425 var_decl name: @4435 type: @2167 srcp: libio.h:344 chan: @4436 algn: 8 used: 0 @4426 tree_list valu: @26 chan: @137 @4427 tree_list valu: @31 chan: @4437 @4428 identifier_node strg: __sync_val_compare_and_swap_1 lngt: 29 @4429 function_type size: @12 algn: 8 retn: @62 prms: @4438 @4430 function_decl name: @4439 type: @4440 srcp: :0 chan: @4441 body: undefined link: extern @4431 tree_list purp: @4432 valu: @4434 chan: @4442 @4432 identifier_node strg: CURLOPT_FILE lngt: 12 @4433 const_decl name: @4443 type: @4422 srcp: curl.h:604 chan: @4444 cnst: @4445 @4434 integer_cst type: @3 low : 10001 @4435 identifier_node strg: _IO_2_1_stderr_ lngt: 15 @4436 function_decl name: @4446 type: @4447 srcp: libio.h:412 chan: @4448 body: undefined link: extern @4437 tree_list valu: @31 chan: @137 @4438 tree_list valu: @4058 chan: @4449 @4439 identifier_node strg: __sync_val_compare_and_swap_2 lngt: 29 @4440 function_type size: @12 algn: 8 retn: @52 prms: @4450 @4441 function_decl name: @4451 type: @4452 srcp: :0 chan: @4453 body: undefined link: extern @4442 tree_list purp: @4443 valu: @4445 chan: @4454 @4443 identifier_node strg: CURLOPT_URL lngt: 11 @4444 const_decl name: @4455 type: @4422 srcp: curl.h:607 chan: @4456 cnst: @1853 @4445 integer_cst type: @3 low : 10002 @4446 identifier_node strg: __underflow lngt: 11 @4447 function_type size: @12 algn: 8 retn: @3 prms: @4457 @4448 function_decl name: @4458 type: @4447 srcp: libio.h:413 chan: @4459 body: undefined link: extern @4449 tree_list valu: @62 chan: @4460 @4450 tree_list valu: @4058 chan: @4461 @4451 identifier_node strg: __sync_val_compare_and_swap_4 lngt: 29 @4452 function_type size: @12 algn: 8 retn: @26 prms: @4462 @4453 function_decl name: @4463 type: @4464 srcp: :0 chan: @4465 body: undefined link: extern @4454 tree_list purp: @4455 valu: @1853 chan: @4466 @4455 identifier_node strg: CURLOPT_PORT lngt: 12 @4456 const_decl name: @4467 type: @4422 srcp: curl.h:610 chan: @4468 cnst: @4469 @4457 tree_list valu: @4470 chan: @137 @4458 identifier_node strg: __uflow lngt: 7 @4459 function_decl name: @4471 type: @4472 srcp: libio.h:414 chan: @4473 body: undefined link: extern @4460 tree_list valu: @62 chan: @137 @4461 tree_list valu: @52 chan: @4474 @4462 tree_list valu: @4058 chan: @4475 @4463 identifier_node strg: __sync_val_compare_and_swap_8 lngt: 29 @4464 function_type size: @12 algn: 8 retn: @31 prms: @4476 @4465 function_decl name: @4477 type: @2921 srcp: :0 chan: @4478 body: undefined link: extern @4466 tree_list purp: @4467 valu: @4469 chan: @4479 @4467 identifier_node strg: CURLOPT_PROXY lngt: 13 @4468 const_decl name: @4480 type: @4422 srcp: curl.h:613 chan: @4481 cnst: @4482 @4469 integer_cst type: @3 low : 10004 @4470 pointer_type size: @22 algn: 64 ptd : @2136 @4471 identifier_node strg: __overflow lngt: 10 @4472 function_type size: @12 algn: 8 retn: @3 prms: @4483 @4473 function_decl name: @4484 type: @4485 srcp: libio.h:415 chan: @4486 body: undefined link: extern @4474 tree_list valu: @52 chan: @137 @4475 tree_list valu: @26 chan: @4487 @4476 tree_list valu: @4058 chan: @4488 @4477 identifier_node strg: __sync_lock_test_and_set lngt: 24 @4478 function_decl name: @4489 type: @4045 srcp: :0 chan: @4490 body: undefined link: extern @4479 tree_list purp: @4480 valu: @4482 chan: @4491 @4480 identifier_node strg: CURLOPT_USERPWD lngt: 15 @4481 const_decl name: @4492 type: @4422 srcp: curl.h:616 chan: @4493 cnst: @4494 @4482 integer_cst type: @3 low : 10005 @4483 tree_list valu: @4470 chan: @4495 @4484 identifier_node strg: __wunderflow lngt: 12 @4485 function_type size: @12 algn: 8 retn: @1689 prms: @4496 @4486 function_decl name: @4497 type: @4485 srcp: libio.h:416 chan: @4498 body: undefined link: extern @4487 tree_list valu: @26 chan: @137 @4488 tree_list valu: @31 chan: @4499 @4489 identifier_node strg: __sync_lock_test_and_set_1 lngt: 26 @4490 function_decl name: @4500 type: @4052 srcp: :0 chan: @4501 body: undefined link: extern @4491 tree_list purp: @4492 valu: @4494 chan: @4502 @4492 identifier_node strg: CURLOPT_PROXYUSERPWD lngt: 20 @4493 const_decl name: @4503 type: @4422 srcp: curl.h:619 chan: @4504 cnst: @4505 @4494 integer_cst type: @3 low : 10006 @4495 tree_list valu: @3 chan: @137 @4496 tree_list valu: @4470 chan: @137 @4497 identifier_node strg: __wuflow lngt: 8 @4498 function_decl name: @4506 type: @4507 srcp: libio.h:417 chan: @4508 body: undefined link: extern @4499 tree_list valu: @31 chan: @137 @4500 identifier_node strg: __sync_lock_test_and_set_2 lngt: 26 @4501 function_decl name: @4509 type: @4062 srcp: :0 chan: @4510 body: undefined link: extern @4502 tree_list purp: @4503 valu: @4505 chan: @4511 @4503 identifier_node strg: CURLOPT_RANGE lngt: 13 @4504 const_decl name: @4512 type: @4422 srcp: curl.h:624 chan: @4513 cnst: @4514 @4505 integer_cst type: @3 low : 10007 @4506 identifier_node strg: __woverflow lngt: 11 @4507 function_type size: @12 algn: 8 retn: @1689 prms: @4515 @4508 function_decl name: @4516 type: @4447 srcp: libio.h:450 chan: @4517 body: undefined link: extern @4509 identifier_node strg: __sync_lock_test_and_set_4 lngt: 26 @4510 function_decl name: @4518 type: @4072 srcp: :0 chan: @4519 body: undefined link: extern @4511 tree_list purp: @4512 valu: @4514 chan: @4520 @4512 identifier_node strg: CURLOPT_INFILE lngt: 14 @4513 const_decl name: @4521 type: @4422 srcp: curl.h:628 chan: @4522 cnst: @4523 @4514 integer_cst type: @3 low : 10009 @4515 tree_list valu: @4470 chan: @4524 @4516 identifier_node strg: _IO_getc lngt: 8 @4517 function_decl name: @4525 type: @4526 srcp: libio.h:451 chan: @4527 body: undefined link: extern @4518 identifier_node strg: __sync_lock_test_and_set_8 lngt: 26 @4519 function_decl name: @4528 type: @2921 srcp: :0 chan: @4529 body: undefined link: extern @4520 tree_list purp: @4521 valu: @4523 chan: @4530 @4521 identifier_node strg: CURLOPT_ERRORBUFFER lngt: 19 @4522 const_decl name: @4531 type: @4422 srcp: curl.h:632 chan: @4532 cnst: @4533 @4523 integer_cst type: @3 low : 10010 @4524 tree_list valu: @1689 chan: @137 @4525 identifier_node strg: _IO_putc lngt: 8 @4526 function_type size: @12 algn: 8 retn: @3 prms: @4534 @4527 function_decl name: @4535 type: @4447 srcp: libio.h:452 chan: @4536 body: undefined link: extern @4528 identifier_node strg: __sync_lock_release lngt: 19 @4529 function_decl name: @4537 type: @4538 srcp: :0 chan: @4539 body: undefined link: extern @4530 tree_list purp: @4531 valu: @4533 chan: @4540 @4531 identifier_node strg: CURLOPT_WRITEFUNCTION lngt: 21 @4532 const_decl name: @4541 type: @4422 srcp: curl.h:636 chan: @4542 cnst: @4543 @4533 integer_cst type: @3 low : 20011 @4534 tree_list valu: @3 chan: @4544 @4535 identifier_node strg: _IO_feof lngt: 8 @4536 function_decl name: @4545 type: @4447 srcp: libio.h:453 chan: @4546 body: undefined link: extern @4537 identifier_node strg: __sync_lock_release_1 lngt: 21 @4538 function_type size: @12 algn: 8 retn: @115 prms: @4547 @4539 function_decl name: @4548 type: @4538 srcp: :0 chan: @4549 body: undefined link: extern @4540 tree_list purp: @4541 valu: @4543 chan: @4550 @4541 identifier_node strg: CURLOPT_READFUNCTION lngt: 20 @4542 const_decl name: @4551 type: @4422 srcp: curl.h:639 chan: @4552 cnst: @3663 @4543 integer_cst type: @3 low : 20012 @4544 tree_list valu: @4470 chan: @137 @4545 identifier_node strg: _IO_ferror lngt: 10 @4546 function_decl name: @4553 type: @4447 srcp: libio.h:455 chan: @4554 body: undefined link: extern @4547 tree_list valu: @4058 chan: @137 @4548 identifier_node strg: __sync_lock_release_2 lngt: 21 @4549 function_decl name: @4555 type: @4538 srcp: :0 chan: @4556 body: undefined link: extern @4550 tree_list purp: @4551 valu: @3663 chan: @4557 @4551 identifier_node strg: CURLOPT_TIMEOUT lngt: 15 @4552 const_decl name: @4558 type: @4422 srcp: curl.h:650 chan: @4559 cnst: @3672 @4553 identifier_node strg: _IO_peekc_locked lngt: 16 @4554 function_decl name: @4560 type: @4561 srcp: libio.h:461 chan: @4562 body: undefined link: extern @4555 identifier_node strg: __sync_lock_release_4 lngt: 21 @4556 function_decl name: @4563 type: @4538 srcp: :0 chan: @4564 body: undefined link: extern @4557 tree_list purp: @4558 valu: @3672 chan: @4565 @4558 identifier_node strg: CURLOPT_INFILESIZE lngt: 18 @4559 const_decl name: @4566 type: @4422 srcp: curl.h:653 chan: @4567 cnst: @4568 @4560 identifier_node strg: _IO_flockfile lngt: 13 @4561 function_type size: @12 algn: 8 retn: @115 prms: @4569 @4562 function_decl name: @4570 type: @4561 srcp: libio.h:462 chan: @4571 body: undefined link: extern @4563 identifier_node strg: __sync_lock_release_8 lngt: 21 @4564 function_decl name: @4572 type: @2836 srcp: :0 chan: @4573 body: undefined link: extern @4565 tree_list purp: @4566 valu: @4568 chan: @4574 @4566 identifier_node strg: CURLOPT_POSTFIELDS lngt: 18 @4567 const_decl name: @4575 type: @4422 srcp: curl.h:656 chan: @4576 cnst: @4577 @4568 integer_cst type: @3 low : 10015 @4569 tree_list valu: @4470 chan: @137 @4570 identifier_node strg: _IO_funlockfile lngt: 15 @4571 function_decl name: @4578 type: @4447 srcp: libio.h:463 chan: @4579 body: undefined link: extern @4572 identifier_node strg: __sync_synchronize lngt: 18 @4573 function_decl name: @4580 type: @4581 srcp: :0 chan: @4582 body: undefined link: extern @4574 tree_list purp: @4575 valu: @4577 chan: @4583 @4575 identifier_node strg: CURLOPT_REFERER lngt: 15 @4576 const_decl name: @4584 type: @4422 srcp: curl.h:660 chan: @4585 cnst: @4586 @4577 integer_cst type: @3 low : 10016 @4578 identifier_node strg: _IO_ftrylockfile lngt: 16 @4579 function_decl name: @4587 type: @4588 srcp: libio.h:481 chan: @4589 body: undefined link: extern @4580 identifier_node strg: __builtin_init_trampoline lngt: 25 @4581 function_type size: @12 algn: 8 retn: @115 prms: @4590 @4582 function_decl name: @4591 type: @3209 srcp: :0 chan: @4592 body: undefined link: extern @4583 tree_list purp: @4584 valu: @4586 chan: @4593 @4584 identifier_node strg: CURLOPT_FTPPORT lngt: 15 @4585 const_decl name: @4594 type: @4422 srcp: curl.h:663 chan: @4595 cnst: @4596 @4586 integer_cst type: @3 low : 10017 @4587 identifier_node strg: _IO_vfscanf lngt: 11 @4588 function_type size: @12 algn: 8 retn: @3 prms: @4597 @4589 function_decl name: @4598 type: @4599 srcp: libio.h:483 chan: @4600 body: undefined link: extern @4590 tree_list valu: @147 chan: @4601 @4591 identifier_node strg: __builtin_adjust_trampoline lngt: 27 @4592 function_decl name: @4602 type: @4603 srcp: :0 chan: @4604 body: undefined link: extern @4593 tree_list purp: @4594 valu: @4596 chan: @4605 @4594 identifier_node strg: CURLOPT_USERAGENT lngt: 17 @4595 const_decl name: @4606 type: @4422 srcp: curl.h:672 chan: @4607 cnst: @3711 @4596 integer_cst type: @3 low : 10018 @4597 tree_list valu: @4608 chan: @4609 @4598 identifier_node strg: _IO_vfprintf lngt: 12 @4599 function_type size: @12 algn: 8 retn: @3 prms: @4610 @4600 function_decl name: @4611 type: @4612 srcp: libio.h:484 chan: @4613 body: undefined link: extern @4601 tree_list valu: @147 chan: @4614 @4602 identifier_node strg: __builtin_nonlocal_goto lngt: 23 @4603 function_type size: @12 algn: 8 retn: @115 prms: @4615 @4604 function_decl name: @4616 type: @3044 srcp: :0 chan: @4617 body: undefined link: extern @4605 tree_list purp: @4606 valu: @3711 chan: @4618 @4606 identifier_node strg: CURLOPT_LOW_SPEED_LIMIT lngt: 23 @4607 const_decl name: @4619 type: @4422 srcp: curl.h:675 chan: @4620 cnst: @3719 @4608 pointer_type qual: r unql: @4470 size: @22 algn: 64 ptd : @2136 @4609 tree_list valu: @1650 chan: @4621 @4610 tree_list valu: @4608 chan: @4622 @4611 identifier_node strg: _IO_padn lngt: 8 @4612 function_type size: @12 algn: 8 retn: @2232 prms: @4623 @4613 function_decl name: @4624 type: @4625 srcp: libio.h:485 chan: @4626 body: undefined link: extern @4614 tree_list valu: @147 chan: @137 @4615 tree_list valu: @147 chan: @4627 @4616 identifier_node strg: __builtin_stack_save lngt: 20 @4617 function_decl name: @4628 type: @2222 srcp: :0 chan: @4629 body: undefined link: extern @4618 tree_list purp: @4619 valu: @3719 chan: @4630 @4619 identifier_node strg: CURLOPT_LOW_SPEED_TIME lngt: 22 @4620 const_decl name: @4631 type: @4422 srcp: curl.h:683 chan: @4632 cnst: @3727 @4621 tree_list valu: @2323 chan: @4633 @4622 tree_list valu: @1650 chan: @4634 @4623 tree_list valu: @4470 chan: @4635 @4624 identifier_node strg: _IO_sgetn lngt: 9 @4625 function_type size: @12 algn: 8 retn: @1772 prms: @4636 @4626 function_decl name: @4637 type: @4638 srcp: libio.h:487 chan: @4639 body: undefined link: extern @4627 tree_list valu: @147 chan: @137 @4628 identifier_node strg: __builtin_stack_restore lngt: 23 @4629 function_decl name: @4640 mngl: @4641 type: @2836 srcp: :0 chan: @4642 body: undefined link: extern @4630 tree_list purp: @4631 valu: @3727 chan: @4643 @4631 identifier_node strg: CURLOPT_RESUME_FROM lngt: 19 @4632 const_decl name: @4644 type: @4422 srcp: curl.h:686 chan: @4645 cnst: @4646 @4633 tree_list valu: @4647 chan: @137 @4634 tree_list valu: @2323 chan: @137 @4635 tree_list valu: @3 chan: @4648 @4636 tree_list valu: @4470 chan: @4649 @4637 identifier_node strg: _IO_seekoff lngt: 11 @4638 function_type size: @12 algn: 8 retn: @1779 prms: @4650 @4639 function_decl name: @4651 type: @4652 srcp: libio.h:488 chan: @4653 body: undefined link: extern @4640 identifier_node strg: __builtin_profile_func_enter lngt: 28 @4641 identifier_node strg: profile_func_enter lngt: 18 @4642 function_decl name: @4654 mngl: @4655 type: @2836 srcp: :0 chan: @4656 body: undefined link: extern @4643 tree_list purp: @4644 valu: @4646 chan: @4657 @4644 identifier_node strg: CURLOPT_COOKIE lngt: 14 @4645 const_decl name: @4658 type: @4422 srcp: curl.h:689 chan: @4659 cnst: @4660 @4646 integer_cst type: @3 low : 10022 @4647 pointer_type qual: r unql: @488 size: @22 algn: 64 ptd : @3 @4648 tree_list valu: @2232 chan: @137 @4649 tree_list valu: @147 chan: @4661 @4650 tree_list valu: @4470 chan: @4662 @4651 identifier_node strg: _IO_seekpos lngt: 11 @4652 function_type size: @12 algn: 8 retn: @1779 prms: @4663 @4653 function_decl name: @4664 type: @4561 srcp: libio.h:490 chan: @4665 body: undefined link: extern @4654 identifier_node strg: __builtin_profile_func_exit lngt: 27 @4655 identifier_node strg: profile_func_exit lngt: 17 @4656 function_decl name: @4666 type: @4667 srcp: :0 chan: @4668 body: undefined link: extern @4657 tree_list purp: @4658 valu: @4660 chan: @4669 @4658 identifier_node strg: CURLOPT_HTTPHEADER lngt: 18 @4659 const_decl name: @4670 type: @4422 srcp: curl.h:692 chan: @4671 cnst: @4672 @4660 integer_cst type: @3 low : 10023 @4661 tree_list valu: @1772 chan: @137 @4662 tree_list valu: @1779 chan: @4673 @4663 tree_list valu: @4470 chan: @4674 @4664 identifier_node strg: _IO_free_backup_area lngt: 20 @4665 var_decl name: @4675 type: @1820 srcp: stdio.h:142 chan: @4676 size: @22 algn: 64 used: 0 @4666 identifier_node strg: __mulsc3 lngt: 8 @4667 function_type size: @12 algn: 8 retn: @105 prms: @4677 @4668 function_decl name: @4678 type: @4667 srcp: :0 chan: @4679 body: undefined link: extern @4669 tree_list purp: @4670 valu: @4672 chan: @4680 @4670 identifier_node strg: CURLOPT_HTTPPOST lngt: 16 @4671 const_decl name: @4681 type: @4422 srcp: curl.h:695 chan: @4682 cnst: @4683 @4672 integer_cst type: @3 low : 10024 @4673 tree_list valu: @3 chan: @4684 @4674 tree_list valu: @1779 chan: @4685 @4675 identifier_node strg: stdin lngt: 5 @4676 var_decl name: @4686 type: @1820 srcp: stdio.h:143 chan: @4687 size: @22 algn: 64 used: 0 @4677 tree_list valu: @93 chan: @4688 @4678 identifier_node strg: __divsc3 lngt: 8 @4679 function_decl name: @4689 type: @4690 srcp: :0 chan: @4691 body: undefined link: extern @4680 tree_list purp: @4681 valu: @4683 chan: @4692 @4681 identifier_node strg: CURLOPT_SSLCERT lngt: 15 @4682 const_decl name: @4693 type: @4422 srcp: curl.h:698 chan: @4694 cnst: @4695 @4683 integer_cst type: @3 low : 10025 @4684 tree_list valu: @3 chan: @137 @4685 tree_list valu: @3 chan: @137 @4686 identifier_node strg: stdout lngt: 6 @4687 var_decl name: @4696 type: @1820 srcp: stdio.h:144 chan: @4697 size: @22 algn: 64 used: 0 @4688 tree_list valu: @93 chan: @4698 @4689 identifier_node strg: __muldc3 lngt: 8 @4690 function_type size: @12 algn: 8 retn: @108 prms: @4699 @4691 function_decl name: @4700 type: @4690 srcp: :0 chan: @4701 body: undefined link: extern @4692 tree_list purp: @4693 valu: @4695 chan: @4702 @4693 identifier_node strg: CURLOPT_KEYPASSWD lngt: 17 @4694 const_decl name: @4703 type: @4422 srcp: curl.h:701 chan: @4704 cnst: @3770 @4695 integer_cst type: @3 low : 10026 @4696 identifier_node strg: stderr lngt: 6 @4697 function_decl name: @4705 type: @4706 srcp: stdio.h:154 chan: @4707 body: undefined link: extern @4698 tree_list valu: @93 chan: @4708 @4699 tree_list valu: @96 chan: @4709 @4700 identifier_node strg: __divdc3 lngt: 8 @4701 function_decl name: @4710 type: @4711 srcp: :0 chan: @4712 body: undefined link: extern @4702 tree_list purp: @4703 valu: @3770 chan: @4713 @4703 identifier_node strg: CURLOPT_CRLF lngt: 12 @4704 const_decl name: @4714 type: @4422 srcp: curl.h:704 chan: @4715 cnst: @4716 @4705 identifier_node strg: remove lngt: 6 @4706 function_type size: @12 algn: 8 retn: @3 prms: @1965 @4707 function_decl name: @4717 type: @4718 srcp: stdio.h:156 chan: @4719 body: undefined link: extern @4708 tree_list valu: @93 chan: @137 @4709 tree_list valu: @96 chan: @4720 @4710 identifier_node strg: __mulxc3 lngt: 8 @4711 function_type size: @12 algn: 8 retn: @111 prms: @4721 @4712 function_decl name: @4722 type: @4711 srcp: :0 chan: @4723 body: undefined link: extern @4713 tree_list purp: @4714 valu: @4716 chan: @4724 @4714 identifier_node strg: CURLOPT_QUOTE lngt: 13 @4715 const_decl name: @4725 type: @4422 srcp: curl.h:708 chan: @4726 cnst: @4727 @4716 integer_cst type: @3 low : 10028 @4717 identifier_node strg: rename lngt: 6 @4718 function_type size: @12 algn: 8 retn: @3 prms: @1549 @4719 function_decl name: @4728 type: @4729 srcp: stdio.h:166 chan: @4730 body: undefined link: extern @4720 tree_list valu: @96 chan: @4731 @4721 tree_list valu: @99 chan: @4732 @4722 identifier_node strg: __divxc3 lngt: 8 @4723 type_decl name: @4733 type: @99 srcp: :0 note: artificial chan: @4734 @4724 tree_list purp: @4725 valu: @4727 chan: @4735 @4725 identifier_node strg: CURLOPT_WRITEHEADER lngt: 19 @4726 const_decl name: @4736 type: @4422 srcp: curl.h:712 chan: @4737 cnst: @4738 @4727 integer_cst type: @3 low : 10029 @4728 identifier_node strg: tmpfile lngt: 7 @4729 function_type size: @12 algn: 8 retn: @1648 prms: @137 @4730 function_decl name: @4739 type: @4740 srcp: stdio.h:180 chan: @4741 body: undefined link: extern @4731 tree_list valu: @96 chan: @137 @4732 tree_list valu: @99 chan: @4742 @4733 identifier_node strg: __float80 lngt: 9 @4734 type_decl name: @4743 type: @4744 srcp: :0 note: artificial chan: @4745 @4735 tree_list purp: @4736 valu: @4738 chan: @4746 @4736 identifier_node strg: CURLOPT_COOKIEFILE lngt: 18 @4737 const_decl name: @4747 type: @4422 srcp: curl.h:716 chan: @4748 cnst: @3007 @4738 integer_cst type: @3 low : 10031 @4739 identifier_node strg: tmpnam lngt: 6 @4740 function_type size: @12 algn: 8 retn: @1493 prms: @4749 @4741 function_decl name: @4750 type: @4740 srcp: stdio.h:186 chan: @4751 body: undefined link: extern @4742 tree_list valu: @99 chan: @4752 @4743 identifier_node strg: __float128 lngt: 10 @4744 real_type name: @4734 size: @19 algn: 128 prec: 128 @4745 function_decl name: @4753 type: @4754 srcp: :0 chan: @4755 body: undefined link: extern @4746 tree_list purp: @4747 valu: @3007 chan: @4756 @4747 identifier_node strg: CURLOPT_SSLVERSION lngt: 18 @4748 const_decl name: @4757 type: @4422 srcp: curl.h:719 chan: @4758 cnst: @3814 @4749 tree_list valu: @1493 chan: @137 @4750 identifier_node strg: tmpnam_r lngt: 8 @4751 function_decl name: @4759 type: @4760 srcp: stdio.h:199 chan: @4761 body: undefined link: extern @4752 tree_list valu: @99 chan: @137 @4753 identifier_node strg: __builtin_ia32_addps lngt: 20 @4754 function_type size: @12 algn: 8 retn: @4762 prms: @4763 @4755 function_decl name: @4764 type: @4754 srcp: :0 chan: @4765 body: undefined link: extern @4756 tree_list purp: @4757 valu: @3814 chan: @4766 @4757 identifier_node strg: CURLOPT_TIMECONDITION lngt: 21 @4758 const_decl name: @4767 type: @4422 srcp: curl.h:723 chan: @4768 cnst: @3819 @4759 identifier_node strg: tempnam lngt: 7 @4760 function_type size: @12 algn: 8 retn: @1493 prms: @1618 @4761 function_decl name: @4769 type: @4770 srcp: stdio.h:208 chan: @4771 body: undefined link: extern @4762 vector_type size: @19 algn: 128 @4763 tree_list valu: @4762 chan: @4772 @4764 identifier_node strg: __builtin_ia32_subps lngt: 20 @4765 function_decl name: @4773 type: @4754 srcp: :0 chan: @4774 body: undefined link: extern @4766 tree_list purp: @4767 valu: @3819 chan: @4775 @4767 identifier_node strg: CURLOPT_TIMEVALUE lngt: 17 @4768 const_decl name: @4776 type: @4422 srcp: curl.h:731 chan: @4777 cnst: @4778 @4769 identifier_node strg: fclose lngt: 6 @4770 function_type size: @12 algn: 8 retn: @3 prms: @4779 @4771 function_decl name: @4780 type: @4770 srcp: stdio.h:213 chan: @4781 body: undefined link: extern @4772 tree_list valu: @4762 chan: @137 @4773 identifier_node strg: __builtin_ia32_mulps lngt: 20 @4774 function_decl name: @4782 type: @4754 srcp: :0 chan: @4783 body: undefined link: extern @4775 tree_list purp: @4776 valu: @4778 chan: @4784 @4776 identifier_node strg: CURLOPT_CUSTOMREQUEST lngt: 21 @4777 const_decl name: @4785 type: @4422 srcp: curl.h:734 chan: @4786 cnst: @4787 @4778 integer_cst type: @3 low : 10036 @4779 tree_list valu: @1648 chan: @137 @4780 identifier_node strg: fflush lngt: 6 @4781 function_decl name: @4788 type: @4770 srcp: stdio.h:223 chan: @4789 body: undefined link: extern @4782 identifier_node strg: __builtin_ia32_divps lngt: 20 @4783 function_decl name: @4790 type: @4754 srcp: :0 chan: @4791 body: undefined link: extern @4784 tree_list purp: @4785 valu: @4787 chan: @4792 @4785 identifier_node strg: CURLOPT_STDERR lngt: 14 @4786 const_decl name: @4793 type: @4422 srcp: curl.h:739 chan: @4794 cnst: @4795 @4787 integer_cst type: @3 low : 10037 @4788 identifier_node strg: fflush_unlocked lngt: 15 @4789 function_decl name: @4796 type: @4797 srcp: stdio.h:244 chan: @4798 body: undefined link: extern @4790 identifier_node strg: __builtin_ia32_addss lngt: 20 @4791 function_decl name: @4799 type: @4754 srcp: :0 chan: @4800 body: undefined link: extern @4792 tree_list purp: @4793 valu: @4795 chan: @4801 @4793 identifier_node strg: CURLOPT_POSTQUOTE lngt: 17 @4794 const_decl name: @4802 type: @4422 srcp: curl.h:743 chan: @4803 cnst: @4804 @4795 integer_cst type: @3 low : 10039 @4796 identifier_node strg: fopen lngt: 5 @4797 function_type size: @12 algn: 8 retn: @1648 prms: @4805 @4798 function_decl name: @4806 type: @4807 srcp: stdio.h:251 chan: @4808 body: undefined link: extern @4799 identifier_node strg: __builtin_ia32_subss lngt: 20 @4800 function_decl name: @4809 type: @4754 srcp: :0 chan: @4810 body: undefined link: extern @4801 tree_list purp: @4802 valu: @4804 chan: @4811 @4802 identifier_node strg: CURLOPT_WRITEINFO lngt: 17 @4803 const_decl name: @4812 type: @4422 srcp: curl.h:745 chan: @4813 cnst: @3867 @4804 integer_cst type: @3 low : 10040 @4805 tree_list valu: @1650 chan: @4814 @4806 identifier_node strg: freopen lngt: 7 @4807 function_type size: @12 algn: 8 retn: @1648 prms: @4815 @4808 function_decl name: @4816 type: @4817 srcp: stdio.h:275 chan: @4818 body: undefined link: extern @4809 identifier_node strg: __builtin_ia32_mulss lngt: 20 @4810 function_decl name: @4819 type: @4754 srcp: :0 chan: @4820 body: undefined link: extern @4811 tree_list purp: @4812 valu: @3867 chan: @4821 @4812 identifier_node strg: CURLOPT_VERBOSE lngt: 15 @4813 const_decl name: @4822 type: @4422 srcp: curl.h:746 chan: @4823 cnst: @3872 @4814 tree_list valu: @1650 chan: @137 @4815 tree_list valu: @1650 chan: @4824 @4816 identifier_node strg: fdopen lngt: 6 @4817 function_type size: @12 algn: 8 retn: @1648 prms: @4825 @4818 function_decl name: @4826 type: @4827 srcp: stdio.h:299 chan: @4828 body: undefined link: extern @4819 identifier_node strg: __builtin_ia32_divss lngt: 20 @4820 function_decl name: @4829 type: @4830 srcp: :0 chan: @4831 body: undefined link: extern @4821 tree_list purp: @4822 valu: @3872 chan: @4832 @4822 identifier_node strg: CURLOPT_HEADER lngt: 14 @4823 const_decl name: @4833 type: @4422 srcp: curl.h:747 chan: @4834 cnst: @3880 @4824 tree_list valu: @1650 chan: @4835 @4825 tree_list valu: @3 chan: @4836 @4826 identifier_node strg: setbuf lngt: 6 @4827 function_type size: @12 algn: 8 retn: @115 prms: @4837 @4828 function_decl name: @4838 type: @4839 srcp: stdio.h:304 chan: @4840 body: undefined link: extern @4829 identifier_node strg: __builtin_ia32_cmpeqps lngt: 22 @4830 function_type size: @12 algn: 8 retn: @4841 prms: @4842 @4831 function_decl name: @4843 type: @4830 srcp: :0 chan: @4844 body: undefined link: extern @4832 tree_list purp: @4833 valu: @3880 chan: @4845 @4833 identifier_node strg: CURLOPT_NOPROGRESS lngt: 18 @4834 const_decl name: @4846 type: @4422 srcp: curl.h:748 chan: @4847 cnst: @3886 @4835 tree_list valu: @1645 chan: @137 @4836 tree_list valu: @809 chan: @137 @4837 tree_list valu: @1645 chan: @4848 @4838 identifier_node strg: setvbuf lngt: 7 @4839 function_type size: @12 algn: 8 retn: @3 prms: @4849 @4840 function_decl name: @4850 type: @4851 srcp: stdio.h:311 chan: @4852 body: undefined link: extern @4841 vector_type size: @19 algn: 128 @4842 tree_list valu: @4762 chan: @4853 @4843 identifier_node strg: __builtin_ia32_cmpltps lngt: 22 @4844 function_decl name: @4854 type: @4830 srcp: :0 chan: @4855 body: undefined link: extern @4845 tree_list purp: @4846 valu: @3886 chan: @4856 @4846 identifier_node strg: CURLOPT_NOBODY lngt: 14 @4847 const_decl name: @4857 type: @4422 srcp: curl.h:749 chan: @4858 cnst: @3894 @4848 tree_list valu: @3704 chan: @137 @4849 tree_list valu: @1645 chan: @4859 @4850 identifier_node strg: setbuffer lngt: 9 @4851 function_type size: @12 algn: 8 retn: @115 prms: @4860 @4852 function_decl name: @4861 type: @4862 srcp: stdio.h:314 chan: @4863 body: undefined link: extern @4853 tree_list valu: @4762 chan: @137 @4854 identifier_node strg: __builtin_ia32_cmpleps lngt: 22 @4855 function_decl name: @4864 type: @4830 srcp: :0 chan: @4865 body: undefined link: extern @4856 tree_list purp: @4857 valu: @3894 chan: @4866 @4857 identifier_node strg: CURLOPT_FAILONERROR lngt: 19 @4858 const_decl name: @4867 type: @4422 srcp: curl.h:750 chan: @4868 cnst: @3900 @4859 tree_list valu: @3704 chan: @4869 @4860 tree_list valu: @1645 chan: @4870 @4861 identifier_node strg: setlinebuf lngt: 10 @4862 function_type size: @12 algn: 8 retn: @115 prms: @4871 @4863 function_decl name: @4872 type: @4770 srcp: stdio.h:437 chan: @4873 body: undefined link: extern @4864 identifier_node strg: __builtin_ia32_cmpgtps lngt: 22 @4865 function_decl name: @4874 type: @4830 srcp: :0 chan: @4875 body: undefined link: extern @4866 tree_list purp: @4867 valu: @3900 chan: @4876 @4867 identifier_node strg: CURLOPT_UPLOAD lngt: 14 @4868 const_decl name: @4877 type: @4422 srcp: curl.h:751 chan: @4878 cnst: @3909 @4869 tree_list valu: @3 chan: @4879 @4870 tree_list valu: @3704 chan: @4880 @4871 tree_list valu: @1648 chan: @137 @4872 identifier_node strg: fgetc lngt: 5 @4873 function_decl name: @4881 type: @4770 srcp: stdio.h:438 chan: @4882 body: undefined link: extern @4874 identifier_node strg: __builtin_ia32_cmpgeps lngt: 22 @4875 function_decl name: @4883 type: @4830 srcp: :0 chan: @4884 body: undefined link: extern @4876 tree_list purp: @4877 valu: @3909 chan: @4885 @4877 identifier_node strg: CURLOPT_POST lngt: 12 @4878 const_decl name: @4886 type: @4422 srcp: curl.h:752 chan: @4887 cnst: @3915 @4879 tree_list valu: @1772 chan: @137 @4880 tree_list valu: @1772 chan: @137 @4881 identifier_node strg: getc lngt: 4 @4882 function_decl name: @4888 type: @3265 srcp: stdio.h:444 chan: @4889 body: undefined link: extern @4883 identifier_node strg: __builtin_ia32_cmpunordps lngt: 25 @4884 function_decl name: @4890 type: @4830 srcp: :0 chan: @4891 body: undefined link: extern @4885 tree_list purp: @4886 valu: @3915 chan: @4892 @4886 identifier_node strg: CURLOPT_DIRLISTONLY lngt: 19 @4887 const_decl name: @4893 type: @4422 srcp: curl.h:754 chan: @4894 cnst: @3931 @4888 identifier_node strg: getchar lngt: 7 @4889 function_decl name: @4895 type: @4770 srcp: stdio.h:456 chan: @4896 body: undefined link: extern @4890 identifier_node strg: __builtin_ia32_cmpneqps lngt: 23 @4891 function_decl name: @4897 type: @4830 srcp: :0 chan: @4898 body: undefined link: extern @4892 tree_list purp: @4893 valu: @3931 chan: @4899 @4893 identifier_node strg: CURLOPT_APPEND lngt: 14 @4894 const_decl name: @4900 type: @4422 srcp: curl.h:758 chan: @4901 cnst: @3941 @4895 identifier_node strg: getc_unlocked lngt: 13 @4896 function_decl name: @4902 type: @3265 srcp: stdio.h:457 chan: @4903 body: undefined link: extern @4897 identifier_node strg: __builtin_ia32_cmpnltps lngt: 23 @4898 function_decl name: @4904 type: @4830 srcp: :0 chan: @4905 body: undefined link: extern @4899 tree_list purp: @4900 valu: @3941 chan: @4906 @4900 identifier_node strg: CURLOPT_NETRC lngt: 13 @4901 const_decl name: @4907 type: @4422 srcp: curl.h:760 chan: @4908 cnst: @3949 @4902 identifier_node strg: getchar_unlocked lngt: 16 @4903 function_decl name: @4909 type: @4770 srcp: stdio.h:467 chan: @4910 body: undefined link: extern @4904 identifier_node strg: __builtin_ia32_cmpnleps lngt: 23 @4905 function_decl name: @4911 type: @4830 srcp: :0 chan: @4912 body: undefined link: extern @4906 tree_list purp: @4907 valu: @3949 chan: @4913 @4907 identifier_node strg: CURLOPT_FOLLOWLOCATION lngt: 22 @4908 const_decl name: @4914 type: @4422 srcp: curl.h:762 chan: @4915 cnst: @3959 @4909 identifier_node strg: fgetc_unlocked lngt: 14 @4910 function_decl name: @4916 type: @4917 srcp: stdio.h:480 chan: @4918 body: undefined link: extern @4911 identifier_node strg: __builtin_ia32_cmpngtps lngt: 23 @4912 function_decl name: @4919 type: @4830 srcp: :0 chan: @4920 body: undefined link: extern @4913 tree_list purp: @4914 valu: @3959 chan: @4921 @4914 identifier_node strg: CURLOPT_TRANSFERTEXT lngt: 20 @4915 const_decl name: @4922 type: @4422 srcp: curl.h:763 chan: @4923 cnst: @3966 @4916 identifier_node strg: putc lngt: 4 @4917 function_type size: @12 algn: 8 retn: @3 prms: @1668 @4918 function_decl name: @4924 type: @4917 srcp: stdio.h:508 chan: @4925 body: undefined link: extern @4919 identifier_node strg: __builtin_ia32_cmpngeps lngt: 23 @4920 function_decl name: @4926 type: @4830 srcp: :0 chan: @4927 body: undefined link: extern @4921 tree_list purp: @4922 valu: @3966 chan: @4928 @4922 identifier_node strg: CURLOPT_PUT lngt: 11 @4923 const_decl name: @4929 type: @4422 srcp: curl.h:770 chan: @4930 cnst: @4931 @4924 identifier_node strg: putc_unlocked lngt: 13 @4925 function_decl name: @4932 type: @4770 srcp: stdio.h:516 chan: @4933 body: undefined link: extern @4926 identifier_node strg: __builtin_ia32_cmpordps lngt: 23 @4927 function_decl name: @4934 type: @4830 srcp: :0 chan: @4935 body: undefined link: extern @4928 tree_list purp: @4929 valu: @4931 chan: @4936 @4929 identifier_node strg: CURLOPT_PROGRESSFUNCTION lngt: 24 @4930 const_decl name: @4937 type: @4422 srcp: curl.h:773 chan: @4938 cnst: @4939 @4931 integer_cst type: @3 low : 20056 @4932 identifier_node strg: getw lngt: 4 @4933 function_decl name: @4940 type: @4917 srcp: stdio.h:519 chan: @4941 body: undefined link: extern @4934 identifier_node strg: __builtin_ia32_cmpeqss lngt: 22 @4935 function_decl name: @4942 type: @4830 srcp: :0 chan: @4943 body: undefined link: extern @4936 tree_list purp: @4937 valu: @4939 chan: @4944 @4937 identifier_node strg: CURLOPT_PROGRESSDATA lngt: 20 @4938 const_decl name: @4945 type: @4422 srcp: curl.h:776 chan: @4946 cnst: @4003 @4939 integer_cst type: @3 low : 10057 @4940 identifier_node strg: putw lngt: 4 @4941 function_decl name: @4947 type: @4948 srcp: stdio.h:528 chan: @4949 body: undefined link: extern @4942 identifier_node strg: __builtin_ia32_cmpltss lngt: 22 @4943 function_decl name: @4950 type: @4830 srcp: :0 chan: @4951 body: undefined link: extern @4944 tree_list purp: @4945 valu: @4003 chan: @4952 @4945 identifier_node strg: CURLOPT_AUTOREFERER lngt: 19 @4946 const_decl name: @4953 type: @4422 srcp: curl.h:780 chan: @4954 cnst: @4012 @4947 identifier_node strg: fgets lngt: 5 @4948 function_type size: @12 algn: 8 retn: @1493 prms: @4955 @4949 function_decl name: @4956 type: @4740 srcp: stdio.h:535 chan: @4957 body: undefined link: extern @4950 identifier_node strg: __builtin_ia32_cmpless lngt: 22 @4951 function_decl name: @4958 type: @4830 srcp: :0 chan: @4959 body: undefined link: extern @4952 tree_list purp: @4953 valu: @4012 chan: @4960 @4953 identifier_node strg: CURLOPT_PROXYPORT lngt: 17 @4954 const_decl name: @4961 type: @4422 srcp: curl.h:783 chan: @4962 cnst: @4018 @4955 tree_list valu: @3704 chan: @4963 @4956 identifier_node strg: gets lngt: 4 @4957 function_decl name: @4964 type: @4917 srcp: stdio.h:598 chan: @4965 body: undefined link: extern @4958 identifier_node strg: __builtin_ia32_cmpunordss lngt: 25 @4959 function_decl name: @4966 type: @4830 srcp: :0 chan: @4967 body: undefined link: extern @4960 tree_list purp: @4961 valu: @4018 chan: @4968 @4961 identifier_node strg: CURLOPT_POSTFIELDSIZE lngt: 21 @4962 const_decl name: @4969 type: @4422 srcp: curl.h:786 chan: @4970 cnst: @4027 @4963 tree_list valu: @3 chan: @4971 @4964 identifier_node strg: ungetc lngt: 6 @4965 function_decl name: @4972 type: @4973 srcp: stdio.h:606 chan: @4974 body: undefined link: extern @4966 identifier_node strg: __builtin_ia32_cmpneqss lngt: 23 @4967 function_decl name: @4975 type: @4830 srcp: :0 chan: @4976 body: undefined link: extern @4968 tree_list purp: @4969 valu: @4027 chan: @4977 @4969 identifier_node strg: CURLOPT_HTTPPROXYTUNNEL lngt: 23 @4970 const_decl name: @4978 type: @4422 srcp: curl.h:789 chan: @4979 cnst: @4980 @4971 tree_list valu: @1645 chan: @137 @4972 identifier_node strg: fread lngt: 5 @4973 function_type size: @12 algn: 8 retn: @1772 prms: @4981 @4974 function_decl name: @4982 type: @4973 srcp: stdio.h:634 chan: @4983 body: undefined link: extern @4975 identifier_node strg: __builtin_ia32_cmpnltss lngt: 23 @4976 function_decl name: @4984 type: @4830 srcp: :0 chan: @4985 body: undefined link: extern @4977 tree_list purp: @4978 valu: @4980 chan: @4986 @4978 identifier_node strg: CURLOPT_INTERFACE lngt: 17 @4979 const_decl name: @4987 type: @4422 srcp: curl.h:794 chan: @4988 cnst: @4989 @4980 integer_cst type: @3 low : 10062 @4981 tree_list valu: @4990 chan: @4991 @4982 identifier_node strg: fread_unlocked lngt: 14 @4983 function_decl name: @4992 type: @4993 srcp: stdio.h:645 chan: @4994 body: undefined link: extern @4984 identifier_node strg: __builtin_ia32_cmpnless lngt: 23 @4985 function_decl name: @4995 type: @4830 srcp: :0 chan: @4996 body: undefined link: extern @4986 tree_list purp: @4987 valu: @4989 chan: @4997 @4987 identifier_node strg: CURLOPT_KRBLEVEL lngt: 16 @4988 const_decl name: @4998 type: @4422 srcp: curl.h:797 chan: @4999 cnst: @3013 @4989 integer_cst type: @3 low : 10063 @4990 pointer_type qual: r unql: @147 size: @22 algn: 64 ptd : @115 @4991 tree_list valu: @1772 chan: @5000 @4992 identifier_node strg: fseek lngt: 5 @4993 function_type size: @12 algn: 8 retn: @3 prms: @5001 @4994 function_decl name: @5002 type: @5003 srcp: stdio.h:650 chan: @5004 body: undefined link: extern @4995 identifier_node strg: __builtin_ia32_cmpngtss lngt: 23 @4996 function_decl name: @5005 type: @4830 srcp: :0 chan: @5006 body: undefined link: extern @4997 tree_list purp: @4998 valu: @3013 chan: @5007 @4998 identifier_node strg: CURLOPT_SSL_VERIFYPEER lngt: 22 @4999 const_decl name: @5008 type: @4422 srcp: curl.h:801 chan: @5009 cnst: @5010 @5000 tree_list valu: @1772 chan: @5011 @5001 tree_list valu: @1648 chan: @5012 @5002 identifier_node strg: ftell lngt: 5 @5003 function_type size: @12 algn: 8 retn: @16 prms: @5013 @5004 function_decl name: @5014 type: @4862 srcp: stdio.h:655 chan: @5015 body: undefined link: extern @5005 identifier_node strg: __builtin_ia32_cmpngess lngt: 23 @5006 function_decl name: @5016 type: @4830 srcp: :0 chan: @5017 body: undefined link: extern @5007 tree_list purp: @5008 valu: @5010 chan: @5018 @5008 identifier_node strg: CURLOPT_CAINFO lngt: 14 @5009 const_decl name: @5019 type: @4422 srcp: curl.h:807 chan: @5020 cnst: @4085 @5010 integer_cst type: @3 low : 10065 @5011 tree_list valu: @1645 chan: @137 @5012 tree_list valu: @16 chan: @5021 @5013 tree_list valu: @1648 chan: @137 @5014 identifier_node strg: rewind lngt: 6 @5015 function_decl name: @5022 type: @5023 srcp: stdio.h:694 chan: @5024 body: undefined link: extern @5016 identifier_node strg: __builtin_ia32_cmpordss lngt: 23 @5017 function_decl name: @5025 type: @4754 srcp: :0 chan: @5026 body: undefined link: extern @5018 tree_list purp: @5019 valu: @4085 chan: @5027 @5019 identifier_node strg: CURLOPT_MAXREDIRS lngt: 17 @5020 const_decl name: @5028 type: @4422 srcp: curl.h:811 chan: @5029 cnst: @4092 @5021 tree_list valu: @3 chan: @137 @5022 identifier_node strg: fgetpos lngt: 7 @5023 function_type size: @12 algn: 8 retn: @3 prms: @5030 @5024 function_decl name: @5031 type: @5032 srcp: stdio.h:699 chan: @5033 body: undefined link: extern @5025 identifier_node strg: __builtin_ia32_minps lngt: 20 @5026 function_decl name: @5034 type: @4754 srcp: :0 chan: @5035 body: undefined link: extern @5027 tree_list purp: @5028 valu: @4092 chan: @5036 @5028 identifier_node strg: CURLOPT_FILETIME lngt: 16 @5029 const_decl name: @5037 type: @4422 srcp: curl.h:814 chan: @5038 cnst: @5039 @5030 tree_list valu: @1645 chan: @5040 @5031 identifier_node strg: fsetpos lngt: 7 @5032 function_type size: @12 algn: 8 retn: @3 prms: @5041 @5033 function_decl name: @5042 type: @4862 srcp: stdio.h:722 chan: @5043 body: undefined link: extern @5034 identifier_node strg: __builtin_ia32_maxps lngt: 20 @5035 function_decl name: @5044 type: @4754 srcp: :0 chan: @5045 body: undefined link: extern @5036 tree_list purp: @5037 valu: @5039 chan: @5046 @5037 identifier_node strg: CURLOPT_TELNETOPTIONS lngt: 21 @5038 const_decl name: @5047 type: @4422 srcp: curl.h:817 chan: @5048 cnst: @4104 @5039 integer_cst type: @3 low : 10070 @5040 tree_list valu: @5049 chan: @137 @5041 tree_list valu: @1648 chan: @5050 @5042 identifier_node strg: clearerr lngt: 8 @5043 function_decl name: @5051 type: @4770 srcp: stdio.h:724 chan: @5052 body: undefined link: extern @5044 identifier_node strg: __builtin_ia32_minss lngt: 20 @5045 function_decl name: @5053 type: @4754 srcp: :0 chan: @5054 body: undefined link: extern @5046 tree_list purp: @5047 valu: @4104 chan: @5055 @5047 identifier_node strg: CURLOPT_MAXCONNECTS lngt: 19 @5048 const_decl name: @5056 type: @4422 srcp: curl.h:821 chan: @5057 cnst: @4110 @5049 pointer_type qual: r unql: @5058 size: @22 algn: 64 ptd : @2321 @5050 tree_list valu: @5059 chan: @137 @5051 identifier_node strg: feof lngt: 4 @5052 function_decl name: @5060 type: @4770 srcp: stdio.h:726 chan: @5061 body: undefined link: extern @5053 identifier_node strg: __builtin_ia32_maxss lngt: 20 @5054 function_decl name: @5062 type: @4754 srcp: :0 chan: @5063 body: undefined link: extern @5055 tree_list purp: @5056 valu: @4110 chan: @5064 @5056 identifier_node strg: CURLOPT_CLOSEPOLICY lngt: 19 @5057 const_decl name: @5065 type: @4422 srcp: curl.h:828 chan: @5066 cnst: @4122 @5058 pointer_type size: @22 algn: 64 ptd : @2321 @5059 pointer_type size: @22 algn: 64 ptd : @5067 @5060 identifier_node strg: ferror lngt: 6 @5061 function_decl name: @5068 type: @4862 srcp: stdio.h:731 chan: @5069 body: undefined link: extern @5062 identifier_node strg: __builtin_ia32_andps lngt: 20 @5063 function_decl name: @5070 type: @4754 srcp: :0 chan: @5071 body: undefined link: extern @5064 tree_list purp: @5065 valu: @4122 chan: @5072 @5065 identifier_node strg: CURLOPT_FRESH_CONNECT lngt: 21 @5066 const_decl name: @5073 type: @4422 srcp: curl.h:833 chan: @5074 cnst: @4128 @5067 record_type qual: c name: @2294 unql: @1729 size: @19 algn: 64 tag : struct flds: @1738 @5068 identifier_node strg: clearerr_unlocked lngt: 17 @5069 function_decl name: @5075 type: @4770 srcp: stdio.h:732 chan: @5076 body: undefined link: extern @5070 identifier_node strg: __builtin_ia32_andnps lngt: 21 @5071 function_decl name: @5077 type: @4754 srcp: :0 chan: @5078 body: undefined link: extern @5072 tree_list purp: @5073 valu: @4128 chan: @5079 @5073 identifier_node strg: CURLOPT_FORBID_REUSE lngt: 20 @5074 const_decl name: @5080 type: @4422 srcp: curl.h:837 chan: @5081 cnst: @5082 @5075 identifier_node strg: feof_unlocked lngt: 13 @5076 function_decl name: @5083 type: @4770 srcp: stdio.h:733 chan: @5084 body: undefined link: extern @5077 identifier_node strg: __builtin_ia32_orps lngt: 19 @5078 function_decl name: @5085 type: @4754 srcp: :0 chan: @5086 body: undefined link: extern @5079 tree_list purp: @5080 valu: @5082 chan: @5087 @5080 identifier_node strg: CURLOPT_RANDOM_FILE lngt: 19 @5081 const_decl name: @5088 type: @4422 srcp: curl.h:840 chan: @5089 cnst: @5090 @5082 integer_cst type: @3 low : 10076 @5083 identifier_node strg: ferror_unlocked lngt: 15 @5084 function_decl name: @5091 type: @5092 srcp: stdio.h:742 chan: @5093 body: undefined link: extern @5085 identifier_node strg: __builtin_ia32_xorps lngt: 20 @5086 function_decl name: @5094 type: @4754 srcp: :0 chan: @5095 body: undefined link: extern @5087 tree_list purp: @5088 valu: @5090 chan: @5096 @5088 identifier_node strg: CURLOPT_EGDSOCKET lngt: 17 @5089 const_decl name: @5097 type: @4422 srcp: curl.h:845 chan: @5098 cnst: @4146 @5090 integer_cst type: @3 low : 10077 @5091 identifier_node strg: perror lngt: 6 @5092 function_type size: @12 algn: 8 retn: @115 prms: @5099 @5093 var_decl name: @5100 type: @3 srcp: sys_errlist.h:27 chan: @5101 size: @5 algn: 32 used: 0 @5094 identifier_node strg: __builtin_ia32_movss lngt: 20 @5095 function_decl name: @5102 type: @4754 srcp: :0 chan: @5103 body: undefined link: extern @5096 tree_list purp: @5097 valu: @4146 chan: @5104 @5097 identifier_node strg: CURLOPT_CONNECTTIMEOUT lngt: 22 @5098 const_decl name: @5105 type: @4422 srcp: curl.h:849 chan: @5106 cnst: @5107 @5099 tree_list valu: @809 chan: @137 @5100 identifier_node strg: sys_nerr lngt: 8 @5101 var_decl name: @5108 type: @5109 srcp: sys_errlist.h:28 chan: @5110 algn: 64 used: 0 @5102 identifier_node strg: __builtin_ia32_movhlps lngt: 22 @5103 function_decl name: @5111 type: @4754 srcp: :0 chan: @5112 body: undefined link: extern @5104 tree_list purp: @5105 valu: @5107 chan: @5113 @5105 identifier_node strg: CURLOPT_HEADERFUNCTION lngt: 22 @5106 const_decl name: @5114 type: @4422 srcp: curl.h:854 chan: @5115 cnst: @4158 @5107 integer_cst type: @3 low : 20079 @5108 identifier_node strg: sys_errlist lngt: 11 @5109 array_type unql: @5116 algn: 64 elts: @5117 @5110 function_decl name: @5118 type: @4770 srcp: stdio.h:754 chan: @5119 body: undefined link: extern @5111 identifier_node strg: __builtin_ia32_movlhps lngt: 22 @5112 function_decl name: @5120 type: @4754 srcp: :0 chan: @5121 body: undefined link: extern @5113 tree_list purp: @5114 valu: @4158 chan: @5122 @5114 identifier_node strg: CURLOPT_HTTPGET lngt: 15 @5115 const_decl name: @5123 type: @4422 srcp: curl.h:859 chan: @5124 cnst: @4164 @5116 array_type algn: 64 elts: @809 @5117 pointer_type qual: c unql: @809 size: @22 algn: 64 ptd : @814 @5118 identifier_node strg: fileno lngt: 6 @5119 function_decl name: @5125 type: @4770 srcp: stdio.h:759 chan: @5126 body: undefined link: extern @5120 identifier_node strg: __builtin_ia32_unpckhps lngt: 23 @5121 function_decl name: @5127 type: @4754 srcp: :0 chan: @5128 body: undefined link: extern @5122 tree_list purp: @5123 valu: @4164 chan: @5129 @5123 identifier_node strg: CURLOPT_SSL_VERIFYHOST lngt: 22 @5124 const_decl name: @5130 type: @4422 srcp: curl.h:863 chan: @5131 cnst: @5132 @5125 identifier_node strg: fileno_unlocked lngt: 15 @5126 function_decl name: @5133 type: @5134 srcp: stdio.h:769 chan: @5135 body: undefined link: extern @5127 identifier_node strg: __builtin_ia32_unpcklps lngt: 23 @5128 function_decl name: @5136 type: @5137 srcp: :0 chan: @5138 body: undefined link: extern @5129 tree_list purp: @5130 valu: @5132 chan: @5139 @5130 identifier_node strg: CURLOPT_COOKIEJAR lngt: 17 @5131 const_decl name: @5140 type: @4422 srcp: curl.h:866 chan: @5141 cnst: @5142 @5132 integer_cst type: @3 low : 10082 @5133 identifier_node strg: popen lngt: 5 @5134 function_type size: @12 algn: 8 retn: @1648 prms: @5143 @5135 function_decl name: @5144 type: @4770 srcp: stdio.h:775 chan: @5145 body: undefined link: extern @5136 identifier_node strg: __builtin_ia32_paddb lngt: 20 @5137 function_type size: @12 algn: 8 retn: @5146 prms: @5147 @5138 function_decl name: @5148 type: @5149 srcp: :0 chan: @5150 body: undefined link: extern @5139 tree_list purp: @5140 valu: @5142 chan: @5151 @5140 identifier_node strg: CURLOPT_SSL_CIPHER_LIST lngt: 23 @5141 const_decl name: @5152 type: @4422 srcp: curl.h:870 chan: @5153 cnst: @4182 @5142 integer_cst type: @3 low : 10083 @5143 tree_list valu: @809 chan: @5154 @5144 identifier_node strg: pclose lngt: 6 @5145 function_decl name: @5155 type: @4740 srcp: stdio.h:781 chan: @5156 body: undefined link: extern @5146 vector_type size: @22 algn: 64 @5147 tree_list valu: @5146 chan: @5157 @5148 identifier_node strg: __builtin_ia32_paddw lngt: 20 @5149 function_type size: @12 algn: 8 retn: @5158 prms: @5159 @5150 function_decl name: @5160 type: @5161 srcp: :0 chan: @5162 body: undefined link: extern @5151 tree_list purp: @5152 valu: @4182 chan: @5163 @5152 identifier_node strg: CURLOPT_HTTP_VERSION lngt: 20 @5153 const_decl name: @5164 type: @4422 srcp: curl.h:875 chan: @5165 cnst: @5166 @5154 tree_list valu: @809 chan: @137 @5155 identifier_node strg: ctermid lngt: 7 @5156 function_decl name: @5167 type: @4862 srcp: stdio.h:809 chan: @5168 body: undefined link: extern @5157 tree_list valu: @5146 chan: @137 @5158 vector_type size: @22 algn: 64 @5159 tree_list valu: @5158 chan: @5169 @5160 identifier_node strg: __builtin_ia32_paddd lngt: 20 @5161 function_type size: @12 algn: 8 retn: @5170 prms: @5171 @5162 function_decl name: @5172 type: @5173 srcp: :0 chan: @5174 body: undefined link: extern @5163 tree_list purp: @5164 valu: @5166 chan: @5175 @5164 identifier_node strg: CURLOPT_FTP_USE_EPSV lngt: 20 @5165 const_decl name: @5176 type: @4422 srcp: curl.h:878 chan: @5177 cnst: @5178 @5166 integer_cst type: @3 low : 85 @5167 identifier_node strg: flockfile lngt: 9 @5168 function_decl name: @5179 type: @4770 srcp: stdio.h:813 chan: @5180 body: undefined link: extern @5169 tree_list valu: @5158 chan: @137 @5170 vector_type size: @22 algn: 64 @5171 tree_list valu: @5170 chan: @5181 @5172 identifier_node strg: __builtin_ia32_paddq lngt: 20 @5173 function_type size: @12 algn: 8 retn: @41 prms: @5182 @5174 function_decl name: @5183 type: @5137 srcp: :0 chan: @5184 body: undefined link: extern @5175 tree_list purp: @5176 valu: @5178 chan: @5185 @5176 identifier_node strg: CURLOPT_SSLCERTTYPE lngt: 19 @5177 const_decl name: @5186 type: @4422 srcp: curl.h:881 chan: @5187 cnst: @5188 @5178 integer_cst type: @3 low : 10086 @5179 identifier_node strg: ftrylockfile lngt: 12 @5180 function_decl name: @5189 type: @4862 srcp: stdio.h:816 chan: @5190 body: undefined link: extern @5181 tree_list valu: @5170 chan: @137 @5182 tree_list valu: @41 chan: @5191 @5183 identifier_node strg: __builtin_ia32_psubb lngt: 20 @5184 function_decl name: @5192 type: @5149 srcp: :0 chan: @5193 body: undefined link: extern @5185 tree_list purp: @5186 valu: @5188 chan: @5194 @5186 identifier_node strg: CURLOPT_SSLKEY lngt: 14 @5187 const_decl name: @5195 type: @4422 srcp: curl.h:884 chan: @5196 cnst: @5197 @5188 integer_cst type: @3 low : 10087 @5189 identifier_node strg: funlockfile lngt: 11 @5190 function_decl name: @5198 type: @5199 srcp: select.h:112 chan: @5200 body: undefined link: extern @5191 tree_list valu: @41 chan: @137 @5192 identifier_node strg: __builtin_ia32_psubw lngt: 20 @5193 function_decl name: @5201 type: @5161 srcp: :0 chan: @5202 body: undefined link: extern @5194 tree_list purp: @5195 valu: @5197 chan: @5203 @5195 identifier_node strg: CURLOPT_SSLKEYTYPE lngt: 18 @5196 const_decl name: @5204 type: @4422 srcp: curl.h:887 chan: @5205 cnst: @5206 @5197 integer_cst type: @3 low : 10088 @5198 identifier_node strg: select lngt: 6 @5199 function_type size: @12 algn: 8 retn: @3 prms: @5207 @5200 function_decl name: @5208 type: @5209 srcp: sysmacros.h:43 chan: @5210 args: @5211 body: undefined link: extern body: @5212 @5201 identifier_node strg: __builtin_ia32_psubd lngt: 20 @5202 function_decl name: @5213 type: @5173 srcp: :0 chan: @5214 body: undefined link: extern @5203 tree_list purp: @5204 valu: @5206 chan: @5215 @5204 identifier_node strg: CURLOPT_SSLENGINE lngt: 17 @5205 const_decl name: @5216 type: @4422 srcp: curl.h:892 chan: @5217 cnst: @5218 @5206 integer_cst type: @3 low : 10089 @5207 tree_list valu: @3 chan: @5219 @5208 identifier_node strg: gnu_dev_major lngt: 13 @5209 function_type size: @12 algn: 8 retn: @26 prms: @5220 @5210 function_decl name: @5221 type: @5209 srcp: sysmacros.h:49 chan: @5222 args: @5223 body: undefined link: extern body: @5224 @5211 parm_decl name: @5225 type: @41 scpe: @5200 srcp: sysmacros.h:42 argt: @41 size: @22 algn: 64 used: 1 @5212 statement_list 0 : @5226 1 : @5227 2 : @5228 3 : @5229 4 : @5230 5 : @5231 6 : @5232 7 : @5233 @5213 identifier_node strg: __builtin_ia32_psubq lngt: 20 @5214 function_decl name: @5234 type: @5137 srcp: :0 chan: @5235 body: undefined link: extern @5215 tree_list purp: @5216 valu: @5218 chan: @5236 @5216 identifier_node strg: CURLOPT_SSLENGINE_DEFAULT lngt: 25 @5217 const_decl name: @5237 type: @4422 srcp: curl.h:895 chan: @5238 cnst: @5239 @5218 integer_cst type: @3 low : 90 @5219 tree_list valu: @5240 chan: @5241 @5220 tree_list valu: @41 chan: @137 @5221 identifier_node strg: gnu_dev_minor lngt: 13 @5222 function_decl name: @5242 type: @5243 srcp: sysmacros.h:55 chan: @5244 args: @5245 body: undefined link: extern body: @5246 @5223 parm_decl name: @5225 type: @41 scpe: @5210 srcp: sysmacros.h:48 argt: @41 size: @22 algn: 64 used: 1 @5224 statement_list 0 : @5247 1 : @5248 2 : @5249 3 : @5250 4 : @5251 5 : @5252 6 : @5253 @5225 identifier_node strg: __dev lngt: 5 @5226 modify_expr type: @41 op 0: @5254 op 1: @5255 @5227 modify_expr type: @26 op 0: @5256 op 1: @5257 @5228 modify_expr type: @26 op 0: @5258 op 1: @5259 @5229 modify_expr type: @41 op 0: @5260 op 1: @5261 @5230 modify_expr type: @26 op 0: @5262 op 1: @5263 @5231 modify_expr type: @26 op 0: @5264 op 1: @5265 @5232 modify_expr type: @26 op 0: @5266 op 1: @5267 @5233 return_expr type: @115 expr: @5268 @5234 identifier_node strg: __builtin_ia32_paddsb lngt: 21 @5235 function_decl name: @5269 type: @5149 srcp: :0 chan: @5270 body: undefined link: extern @5236 tree_list purp: @5237 valu: @5239 chan: @5271 @5237 identifier_node strg: CURLOPT_DNS_USE_GLOBAL_CACHE lngt: 28 @5238 const_decl name: @5272 type: @4422 srcp: curl.h:898 chan: @5273 cnst: @5274 @5239 integer_cst type: @3 low : 91 @5240 pointer_type qual: r unql: @5275 size: @22 algn: 64 ptd : @2664 @5241 tree_list valu: @5240 chan: @5276 @5242 identifier_node strg: gnu_dev_makedev lngt: 15 @5243 function_type size: @12 algn: 8 retn: @41 prms: @5277 @5244 function_decl name: @5278 type: @5279 srcp: time.h:40 chan: @5280 body: undefined link: extern @5245 parm_decl name: @5281 type: @26 scpe: @5222 srcp: sysmacros.h:54 chan: @5282 argt: @26 size: @5 algn: 32 used: 1 @5246 statement_list 0 : @5283 1 : @5284 2 : @5285 3 : @5286 4 : @5287 5 : @5288 6 : @5289 7 : @5290 8 : @5291 9 : @5292 10 : @5293 11 : @5294 12 : @5295 13 : @5296 @5247 modify_expr type: @26 op 0: @5297 op 1: @5298 @5248 modify_expr type: @26 op 0: @5299 op 1: @5300 @5249 modify_expr type: @41 op 0: @5301 op 1: @5302 @5250 modify_expr type: @26 op 0: @5303 op 1: @5304 @5251 modify_expr type: @26 op 0: @5305 op 1: @5306 @5252 modify_expr type: @26 op 0: @5307 op 1: @5308 @5253 return_expr type: @115 expr: @5309 @5254 var_decl type: @41 scpe: @5200 srcp: sysmacros.h:44 note: artificial chan: @5256 size: @22 algn: 64 used: 1 @5255 rshift_expr type: @41 op 0: @5211 op 1: @1939 @5256 var_decl type: @26 scpe: @5200 srcp: sysmacros.h:44 note: artificial chan: @5258 size: @5 algn: 32 used: 1 @5257 convert_expr type: @26 op 0: @5254 @5258 var_decl type: @26 scpe: @5200 srcp: sysmacros.h:44 note: artificial chan: @5260 size: @5 algn: 32 used: 1 @5259 bit_and_expr type: @26 op 0: @5256 op 1: @5310 @5260 var_decl type: @41 scpe: @5200 srcp: sysmacros.h:44 note: artificial chan: @5262 size: @22 algn: 64 used: 1 @5261 rshift_expr type: @41 op 0: @5211 op 1: @3007 @5262 var_decl type: @26 scpe: @5200 srcp: sysmacros.h:44 note: artificial chan: @5264 size: @5 algn: 32 used: 1 @5263 convert_expr type: @26 op 0: @5260 @5264 var_decl type: @26 scpe: @5200 srcp: sysmacros.h:44 note: artificial size: @5 algn: 32 used: 1 @5265 bit_and_expr type: @26 op 0: @5262 op 1: @5311 @5266 var_decl type: @26 scpe: @5200 srcp: sysmacros.h:44 note: artificial chan: @5254 size: @5 algn: 32 used: 1 @5267 bit_ior_expr type: @26 op 0: @5258 op 1: @5264 @5268 modify_expr type: @26 op 0: @5312 op 1: @5266 @5269 identifier_node strg: __builtin_ia32_paddsw lngt: 21 @5270 function_decl name: @5313 type: @5137 srcp: :0 chan: @5314 body: undefined link: extern @5271 tree_list purp: @5272 valu: @5274 chan: @5315 @5272 identifier_node strg: CURLOPT_DNS_CACHE_TIMEOUT lngt: 25 @5273 const_decl name: @5316 type: @4422 srcp: curl.h:901 chan: @5317 cnst: @5318 @5274 integer_cst type: @3 low : 92 @5275 pointer_type size: @22 algn: 64 ptd : @2664 @5276 tree_list valu: @5240 chan: @5319 @5277 tree_list valu: @26 chan: @5320 @5278 identifier_node strg: __sysconf lngt: 9 @5279 function_type size: @12 algn: 8 retn: @16 prms: @5321 @5280 function_decl name: @5322 type: @5323 srcp: time.h:181 chan: @5324 body: undefined link: extern @5281 identifier_node strg: __major lngt: 7 @5282 parm_decl name: @5325 type: @26 scpe: @5222 srcp: sysmacros.h:54 argt: @26 size: @5 algn: 32 used: 1 @5283 modify_expr type: @26 op 0: @5326 op 1: @5327 @5284 modify_expr type: @26 op 0: @5328 op 1: @5329 @5285 modify_expr type: @26 op 0: @5330 op 1: @5331 @5286 modify_expr type: @26 op 0: @5332 op 1: @5333 @5287 modify_expr type: @41 op 0: @5334 op 1: @5335 @5288 modify_expr type: @41 op 0: @5336 op 1: @5337 @5289 modify_expr type: @41 op 0: @5338 op 1: @5339 @5290 modify_expr type: @41 op 0: @5340 op 1: @5341 @5291 modify_expr type: @41 op 0: @5342 op 1: @5343 @5292 modify_expr type: @41 op 0: @5344 op 1: @5345 @5293 modify_expr type: @41 op 0: @5346 op 1: @5347 @5294 modify_expr type: @41 op 0: @5348 op 1: @5349 @5295 modify_expr type: @41 op 0: @5350 op 1: @5351 @5296 return_expr type: @115 expr: @5352 @5297 var_decl type: @26 scpe: @5210 srcp: sysmacros.h:50 note: artificial chan: @5299 size: @5 algn: 32 used: 1 @5298 convert_expr type: @26 op 0: @5223 @5299 var_decl type: @26 scpe: @5210 srcp: sysmacros.h:50 note: artificial chan: @5301 size: @5 algn: 32 used: 1 @5300 bit_and_expr type: @26 op 0: @5297 op 1: @5353 @5301 var_decl type: @41 scpe: @5210 srcp: sysmacros.h:50 note: artificial chan: @5303 size: @22 algn: 64 used: 1 @5302 rshift_expr type: @41 op 0: @5223 op 1: @3656 @5303 var_decl type: @26 scpe: @5210 srcp: sysmacros.h:50 note: artificial chan: @5305 size: @5 algn: 32 used: 1 @5304 convert_expr type: @26 op 0: @5301 @5305 var_decl type: @26 scpe: @5210 srcp: sysmacros.h:50 note: artificial size: @5 algn: 32 used: 1 @5306 bit_and_expr type: @26 op 0: @5303 op 1: @5354 @5307 var_decl type: @26 scpe: @5210 srcp: sysmacros.h:50 note: artificial chan: @5297 size: @5 algn: 32 used: 1 @5308 bit_ior_expr type: @26 op 0: @5299 op 1: @5305 @5309 modify_expr type: @26 op 0: @5355 op 1: @5307 @5310 integer_cst type: @26 low : 4095 @5311 integer_cst type: @26 low : -4096 @5312 result_decl type: @26 scpe: @5200 srcp: sysmacros.h:43 note: artificial size: @5 algn: 32 @5313 identifier_node strg: __builtin_ia32_psubsb lngt: 21 @5314 function_decl name: @5356 type: @5149 srcp: :0 chan: @5357 body: undefined link: extern @5315 tree_list purp: @5316 valu: @5318 chan: @5358 @5316 identifier_node strg: CURLOPT_PREQUOTE lngt: 16 @5317 const_decl name: @5359 type: @4422 srcp: curl.h:904 chan: @5360 cnst: @5361 @5318 integer_cst type: @3 low : 10093 @5319 tree_list valu: @5362 chan: @137 @5320 tree_list valu: @26 chan: @137 @5321 tree_list valu: @3 chan: @137 @5322 identifier_node strg: clock lngt: 5 @5323 function_type size: @12 algn: 8 retn: @2829 prms: @137 @5324 function_decl name: @5363 type: @5364 srcp: time.h:184 chan: @5365 body: undefined link: extern @5325 identifier_node strg: __minor lngt: 7 @5326 var_decl type: @26 scpe: @5222 srcp: sysmacros.h:56 note: artificial chan: @5328 size: @5 algn: 32 used: 1 @5327 bit_and_expr type: @26 op 0: @5282 op 1: @5353 @5328 var_decl type: @26 scpe: @5222 srcp: sysmacros.h:56 note: artificial chan: @5330 size: @5 algn: 32 used: 1 @5329 bit_and_expr type: @26 op 0: @5245 op 1: @5310 @5330 var_decl type: @26 scpe: @5222 srcp: sysmacros.h:56 note: artificial chan: @5332 size: @5 algn: 32 used: 1 @5331 lshift_expr type: @26 op 0: @5328 op 1: @1939 @5332 var_decl type: @26 scpe: @5222 srcp: sysmacros.h:56 note: artificial chan: @5334 size: @5 algn: 32 used: 1 @5333 bit_ior_expr type: @26 op 0: @5326 op 1: @5330 @5334 var_decl type: @41 scpe: @5222 srcp: sysmacros.h:56 note: artificial chan: @5336 size: @22 algn: 64 used: 1 @5335 nop_expr type: @41 op 0: @5332 @5336 var_decl type: @41 scpe: @5222 srcp: sysmacros.h:56 note: artificial chan: @5338 size: @22 algn: 64 used: 1 @5337 nop_expr type: @41 op 0: @5282 @5338 var_decl type: @41 scpe: @5222 srcp: sysmacros.h:56 note: artificial chan: @5340 size: @22 algn: 64 used: 1 @5339 bit_and_expr type: @41 op 0: @5336 op 1: @5366 @5340 var_decl type: @41 scpe: @5222 srcp: sysmacros.h:56 note: artificial chan: @5342 size: @22 algn: 64 used: 1 @5341 lshift_expr type: @41 op 0: @5338 op 1: @3656 @5342 var_decl type: @41 scpe: @5222 srcp: sysmacros.h:56 note: artificial chan: @5344 size: @22 algn: 64 used: 1 @5343 bit_ior_expr type: @41 op 0: @5334 op 1: @5340 @5344 var_decl type: @41 scpe: @5222 srcp: sysmacros.h:56 note: artificial chan: @5346 size: @22 algn: 64 used: 1 @5345 nop_expr type: @41 op 0: @5245 @5346 var_decl type: @41 scpe: @5222 srcp: sysmacros.h:56 note: artificial chan: @5348 size: @22 algn: 64 used: 1 @5347 bit_and_expr type: @41 op 0: @5344 op 1: @5367 @5348 var_decl type: @41 scpe: @5222 srcp: sysmacros.h:56 note: artificial size: @22 algn: 64 used: 1 @5349 lshift_expr type: @41 op 0: @5346 op 1: @3007 @5350 var_decl type: @41 scpe: @5222 srcp: sysmacros.h:56 note: artificial chan: @5326 size: @22 algn: 64 used: 1 @5351 bit_ior_expr type: @41 op 0: @5342 op 1: @5348 @5352 modify_expr type: @41 op 0: @5368 op 1: @5350 @5353 integer_cst type: @26 low : 255 @5354 integer_cst type: @26 low : -256 @5355 result_decl type: @26 scpe: @5210 srcp: sysmacros.h:49 note: artificial size: @5 algn: 32 @5356 identifier_node strg: __builtin_ia32_psubsw lngt: 21 @5357 function_decl name: @5369 type: @5137 srcp: :0 chan: @5370 body: undefined link: extern @5358 tree_list purp: @5359 valu: @5361 chan: @5371 @5359 identifier_node strg: CURLOPT_DEBUGFUNCTION lngt: 21 @5360 const_decl name: @5372 type: @4422 srcp: curl.h:907 chan: @5373 cnst: @5374 @5361 integer_cst type: @3 low : 20094 @5362 pointer_type qual: r unql: @5375 size: @22 algn: 64 ptd : @2635 @5363 identifier_node strg: time lngt: 4 @5364 function_type size: @12 algn: 8 retn: @2532 prms: @5376 @5365 function_decl name: @5377 type: @5378 srcp: time.h:188 chan: @5379 body: undefined link: extern @5366 integer_cst type: @41 low : -256 @5367 integer_cst type: @41 low : -4096 @5368 result_decl type: @41 scpe: @5222 srcp: sysmacros.h:55 note: artificial size: @22 algn: 64 @5369 identifier_node strg: __builtin_ia32_paddusb lngt: 22 @5370 function_decl name: @5380 type: @5149 srcp: :0 chan: @5381 body: undefined link: extern @5371 tree_list purp: @5372 valu: @5374 chan: @5382 @5372 identifier_node strg: CURLOPT_DEBUGDATA lngt: 17 @5373 const_decl name: @5383 type: @4422 srcp: curl.h:910 chan: @5384 cnst: @5385 @5374 integer_cst type: @3 low : 10095 @5375 pointer_type size: @22 algn: 64 ptd : @2635 @5376 tree_list valu: @5386 chan: @137 @5377 identifier_node strg: difftime lngt: 8 @5378 function_type size: @12 algn: 8 retn: @96 prms: @5387 @5379 function_decl name: @5388 type: @5389 srcp: time.h:191 chan: @5390 body: undefined link: extern @5380 identifier_node strg: __builtin_ia32_paddusw lngt: 22 @5381 function_decl name: @5391 type: @5137 srcp: :0 chan: @5392 body: undefined link: extern @5382 tree_list purp: @5383 valu: @5385 chan: @5393 @5383 identifier_node strg: CURLOPT_COOKIESESSION lngt: 21 @5384 const_decl name: @5394 type: @4422 srcp: curl.h:914 chan: @5395 cnst: @5396 @5385 integer_cst type: @3 low : 96 @5386 pointer_type size: @22 algn: 64 ptd : @2532 @5387 tree_list valu: @2532 chan: @5397 @5388 identifier_node strg: mktime lngt: 6 @5389 function_type size: @12 algn: 8 retn: @2532 prms: @5398 @5390 function_decl name: @5399 type: @5400 srcp: time.h:229 chan: @5401 body: undefined link: extern @5391 identifier_node strg: __builtin_ia32_psubusb lngt: 22 @5392 function_decl name: @5402 type: @5149 srcp: :0 chan: @5403 body: undefined link: extern @5393 tree_list purp: @5394 valu: @5396 chan: @5404 @5394 identifier_node strg: CURLOPT_CAPATH lngt: 14 @5395 const_decl name: @5405 type: @4422 srcp: curl.h:917 chan: @5406 cnst: @5407 @5396 integer_cst type: @3 low : 10097 @5397 tree_list valu: @2532 chan: @137 @5398 tree_list valu: @5408 chan: @137 @5399 identifier_node strg: gmtime lngt: 6 @5400 function_type size: @12 algn: 8 retn: @5408 prms: @5409 @5401 function_decl name: @5410 type: @5400 srcp: time.h:233 chan: @5411 body: undefined link: extern @5402 identifier_node strg: __builtin_ia32_psubusw lngt: 22 @5403 function_decl name: @5412 type: @5149 srcp: :0 chan: @5413 body: undefined link: extern @5404 tree_list purp: @5405 valu: @5407 chan: @5414 @5405 identifier_node strg: CURLOPT_BUFFERSIZE lngt: 18 @5406 const_decl name: @5415 type: @4422 srcp: curl.h:922 chan: @5416 cnst: @5417 @5407 integer_cst type: @3 low : 98 @5408 pointer_type size: @22 algn: 64 ptd : @2832 @5409 tree_list valu: @5418 chan: @137 @5410 identifier_node strg: localtime lngt: 9 @5411 function_decl name: @5419 type: @5420 srcp: time.h:240 chan: @5421 body: undefined link: extern @5412 identifier_node strg: __builtin_ia32_pmullw lngt: 21 @5413 function_decl name: @5422 type: @5149 srcp: :0 chan: @5423 body: undefined link: extern @5414 tree_list purp: @5415 valu: @5417 chan: @5424 @5415 identifier_node strg: CURLOPT_NOSIGNAL lngt: 16 @5416 const_decl name: @5425 type: @4422 srcp: curl.h:925 chan: @5426 cnst: @5427 @5417 integer_cst type: @3 low : 99 @5418 pointer_type size: @22 algn: 64 ptd : @5428 @5419 identifier_node strg: gmtime_r lngt: 8 @5420 function_type size: @12 algn: 8 retn: @5408 prms: @5429 @5421 function_decl name: @5430 type: @5420 srcp: time.h:245 chan: @5431 body: undefined link: extern @5422 identifier_node strg: __builtin_ia32_pmulhw lngt: 21 @5423 function_decl name: @5432 type: @5149 srcp: :0 chan: @5433 body: undefined link: extern @5424 tree_list purp: @5425 valu: @5427 chan: @5434 @5425 identifier_node strg: CURLOPT_SHARE lngt: 13 @5426 const_decl name: @5435 type: @4422 srcp: curl.h:929 chan: @5436 cnst: @5437 @5427 integer_cst type: @3 low : 10100 @5428 integer_type qual: c name: @2529 unql: @16 size: @22 algn: 64 prec: 64 sign: signed min : @23 max : @24 @5429 tree_list valu: @5438 chan: @5439 @5430 identifier_node strg: localtime_r lngt: 11 @5431 function_decl name: @5440 type: @5441 srcp: time.h:251 chan: @5442 body: undefined link: extern @5432 identifier_node strg: __builtin_ia32_pmulhuw lngt: 22 @5433 function_decl name: @5443 type: @5161 srcp: :0 chan: @5444 body: undefined link: extern @5434 tree_list purp: @5435 valu: @5437 chan: @5445 @5435 identifier_node strg: CURLOPT_PROXYTYPE lngt: 17 @5436 const_decl name: @5446 type: @4422 srcp: curl.h:933 chan: @5447 cnst: @5448 @5437 integer_cst type: @3 low : 101 @5438 pointer_type qual: r unql: @5418 size: @22 algn: 64 ptd : @5428 @5439 tree_list valu: @5449 chan: @137 @5440 identifier_node strg: asctime lngt: 7 @5441 function_type size: @12 algn: 8 retn: @1493 prms: @5450 @5442 function_decl name: @5451 type: @5452 srcp: time.h:254 chan: @5453 body: undefined link: extern @5443 identifier_node strg: __builtin_ia32_pand lngt: 19 @5444 function_decl name: @5454 type: @5161 srcp: :0 chan: @5455 body: undefined link: extern @5445 tree_list purp: @5446 valu: @5448 chan: @5456 @5446 identifier_node strg: CURLOPT_ENCODING lngt: 16 @5447 const_decl name: @5457 type: @4422 srcp: curl.h:936 chan: @5458 cnst: @5459 @5448 integer_cst type: @3 low : 10102 @5449 pointer_type qual: r unql: @5408 size: @22 algn: 64 ptd : @2832 @5450 tree_list valu: @3737 chan: @137 @5451 identifier_node strg: ctime lngt: 5 @5452 function_type size: @12 algn: 8 retn: @1493 prms: @5460 @5453 function_decl name: @5461 type: @5462 srcp: time.h:263 chan: @5463 body: undefined link: extern @5454 identifier_node strg: __builtin_ia32_pandn lngt: 20 @5455 function_decl name: @5464 type: @5161 srcp: :0 chan: @5465 body: undefined link: extern @5456 tree_list purp: @5457 valu: @5459 chan: @5466 @5457 identifier_node strg: CURLOPT_PRIVATE lngt: 15 @5458 const_decl name: @5467 type: @4422 srcp: curl.h:939 chan: @5468 cnst: @5469 @5459 integer_cst type: @3 low : 10103 @5460 tree_list valu: @5418 chan: @137 @5461 identifier_node strg: asctime_r lngt: 9 @5462 function_type size: @12 algn: 8 retn: @1493 prms: @5470 @5463 function_decl name: @5471 type: @5472 srcp: time.h:267 chan: @5473 body: undefined link: extern @5464 identifier_node strg: __builtin_ia32_por lngt: 18 @5465 function_decl name: @5474 type: @5161 srcp: :0 chan: @5475 body: undefined link: extern @5466 tree_list purp: @5467 valu: @5469 chan: @5476 @5467 identifier_node strg: CURLOPT_HTTP200ALIASES lngt: 22 @5468 const_decl name: @5477 type: @4422 srcp: curl.h:944 chan: @5478 cnst: @5479 @5469 integer_cst type: @3 low : 10104 @5470 tree_list valu: @3728 chan: @5480 @5471 identifier_node strg: ctime_r lngt: 7 @5472 function_type size: @12 algn: 8 retn: @1493 prms: @5481 @5473 var_decl name: @5482 type: @5483 srcp: time.h:272 chan: @5484 size: @19 algn: 64 used: 0 @5474 identifier_node strg: __builtin_ia32_pxor lngt: 19 @5475 function_decl name: @5485 type: @5137 srcp: :0 chan: @5486 body: undefined link: extern @5476 tree_list purp: @5477 valu: @5479 chan: @5487 @5477 identifier_node strg: CURLOPT_UNRESTRICTED_AUTH lngt: 25 @5478 const_decl name: @5488 type: @4422 srcp: curl.h:949 chan: @5489 cnst: @5490 @5479 integer_cst type: @3 low : 105 @5480 tree_list valu: @3704 chan: @137 @5481 tree_list valu: @5438 chan: @5491 @5482 identifier_node strg: __tzname lngt: 8 @5483 array_type size: @19 algn: 64 elts: @1493 domn: @1884 @5484 var_decl name: @5492 type: @3 srcp: time.h:273 chan: @5493 size: @5 algn: 32 used: 0 @5485 identifier_node strg: __builtin_ia32_pavgb lngt: 20 @5486 function_decl name: @5494 type: @5149 srcp: :0 chan: @5495 body: undefined link: extern @5487 tree_list purp: @5488 valu: @5490 chan: @5496 @5488 identifier_node strg: CURLOPT_FTP_USE_EPRT lngt: 20 @5489 const_decl name: @5497 type: @4422 srcp: curl.h:954 chan: @5498 cnst: @5499 @5490 integer_cst type: @3 low : 106 @5491 tree_list valu: @3704 chan: @137 @5492 identifier_node strg: __daylight lngt: 10 @5493 var_decl name: @5500 type: @16 srcp: time.h:274 chan: @5501 size: @22 algn: 64 used: 0 @5494 identifier_node strg: __builtin_ia32_pavgw lngt: 20 @5495 function_decl name: @5502 type: @5137 srcp: :0 chan: @5503 body: undefined link: extern @5496 tree_list purp: @5497 valu: @5499 chan: @5504 @5497 identifier_node strg: CURLOPT_HTTPAUTH lngt: 16 @5498 const_decl name: @5505 type: @4422 srcp: curl.h:959 chan: @5506 cnst: @5507 @5499 integer_cst type: @3 low : 107 @5500 identifier_node strg: __timezone lngt: 10 @5501 var_decl name: @5508 type: @5483 srcp: time.h:279 chan: @5509 size: @19 algn: 64 used: 0 @5502 identifier_node strg: __builtin_ia32_pcmpeqb lngt: 22 @5503 function_decl name: @5510 type: @5149 srcp: :0 chan: @5511 body: undefined link: extern @5504 tree_list purp: @5505 valu: @5507 chan: @5512 @5505 identifier_node strg: CURLOPT_SSL_CTX_FUNCTION lngt: 24 @5506 const_decl name: @5513 type: @4422 srcp: curl.h:963 chan: @5514 cnst: @5515 @5507 integer_cst type: @3 low : 20108 @5508 identifier_node strg: tzname lngt: 6 @5509 function_decl name: @5516 type: @2836 srcp: time.h:283 chan: @5517 body: undefined link: extern @5510 identifier_node strg: __builtin_ia32_pcmpeqw lngt: 22 @5511 function_decl name: @5518 type: @5161 srcp: :0 chan: @5519 body: undefined link: extern @5512 tree_list purp: @5513 valu: @5515 chan: @5520 @5513 identifier_node strg: CURLOPT_SSL_CTX_DATA lngt: 20 @5514 const_decl name: @5521 type: @4422 srcp: curl.h:969 chan: @5522 cnst: @5523 @5515 integer_cst type: @3 low : 10109 @5516 identifier_node strg: tzset lngt: 5 @5517 var_decl name: @5524 type: @3 srcp: time.h:287 chan: @5525 size: @5 algn: 32 used: 0 @5518 identifier_node strg: __builtin_ia32_pcmpeqd lngt: 22 @5519 function_decl name: @5526 type: @5137 srcp: :0 chan: @5527 body: undefined link: extern @5520 tree_list purp: @5521 valu: @5523 chan: @5528 @5521 identifier_node strg: CURLOPT_FTP_CREATE_MISSING_DIRS lngt: 31 @5522 const_decl name: @5529 type: @4422 srcp: curl.h:974 chan: @5530 cnst: @5531 @5523 integer_cst type: @3 low : 110 @5524 identifier_node strg: daylight lngt: 8 @5525 var_decl name: @3192 type: @16 srcp: time.h:288 chan: @5532 size: @22 algn: 64 used: 0 @5526 identifier_node strg: __builtin_ia32_pcmpgtb lngt: 22 @5527 function_decl name: @5533 type: @5149 srcp: :0 chan: @5534 body: undefined link: extern @5528 tree_list purp: @5529 valu: @5531 chan: @5535 @5529 identifier_node strg: CURLOPT_PROXYAUTH lngt: 17 @5530 const_decl name: @5536 type: @4422 srcp: curl.h:980 chan: @5537 cnst: @5538 @5531 integer_cst type: @3 low : 111 @5532 function_decl name: @5539 type: @5540 srcp: time.h:294 chan: @5541 body: undefined link: extern @5533 identifier_node strg: __builtin_ia32_pcmpgtw lngt: 22 @5534 function_decl name: @5542 type: @5161 srcp: :0 chan: @5543 body: undefined link: extern @5535 tree_list purp: @5536 valu: @5538 chan: @5544 @5536 identifier_node strg: CURLOPT_FTP_RESPONSE_TIMEOUT lngt: 28 @5537 const_decl name: @5545 type: @4422 srcp: curl.h:985 chan: @5546 cnst: @5547 @5538 integer_cst type: @3 low : 112 @5539 identifier_node strg: stime lngt: 5 @5540 function_type size: @12 algn: 8 retn: @3 prms: @5548 @5541 function_decl name: @5549 type: @5389 srcp: time.h:309 chan: @5550 body: undefined link: extern @5542 identifier_node strg: __builtin_ia32_pcmpgtd lngt: 22 @5543 function_decl name: @5551 type: @5137 srcp: :0 chan: @5552 body: undefined link: extern @5544 tree_list purp: @5545 valu: @5547 chan: @5553 @5545 identifier_node strg: CURLOPT_IPRESOLVE lngt: 17 @5546 const_decl name: @5554 type: @4422 srcp: curl.h:992 chan: @5555 cnst: @5556 @5547 integer_cst type: @3 low : 113 @5548 tree_list valu: @5418 chan: @137 @5549 identifier_node strg: timegm lngt: 6 @5550 function_decl name: @5557 type: @5389 srcp: time.h:312 chan: @5558 body: undefined link: extern @5551 identifier_node strg: __builtin_ia32_pmaxub lngt: 21 @5552 function_decl name: @5559 type: @5149 srcp: :0 chan: @5560 body: undefined link: extern @5553 tree_list purp: @5554 valu: @5556 chan: @5561 @5554 identifier_node strg: CURLOPT_MAXFILESIZE lngt: 19 @5555 const_decl name: @5562 type: @4422 srcp: curl.h:997 chan: @5563 cnst: @5564 @5556 integer_cst type: @3 low : 114 @5557 identifier_node strg: timelocal lngt: 9 @5558 function_decl name: @5565 type: @1882 srcp: time.h:315 chan: @5566 body: undefined link: extern @5559 identifier_node strg: __builtin_ia32_pmaxsw lngt: 21 @5560 function_decl name: @5567 type: @5137 srcp: :0 chan: @5568 body: undefined link: extern @5561 tree_list purp: @5562 valu: @5564 chan: @5569 @5562 identifier_node strg: CURLOPT_INFILESIZE_LARGE lngt: 24 @5563 const_decl name: @5570 type: @4422 srcp: curl.h:1002 chan: @5571 cnst: @5572 @5564 integer_cst type: @3 low : 30115 @5565 identifier_node strg: dysize lngt: 6 @5566 function_decl name: @5573 type: @5574 srcp: time.h:325 chan: @5575 body: undefined link: extern @5567 identifier_node strg: __builtin_ia32_pminub lngt: 21 @5568 function_decl name: @5576 type: @5149 srcp: :0 chan: @5577 body: undefined link: extern @5569 tree_list purp: @5570 valu: @5572 chan: @5578 @5570 identifier_node strg: CURLOPT_RESUME_FROM_LARGE lngt: 25 @5571 const_decl name: @5579 type: @4422 srcp: curl.h:1007 chan: @5580 cnst: @5581 @5572 integer_cst type: @3 low : 30116 @5573 identifier_node strg: nanosleep lngt: 9 @5574 function_type size: @12 algn: 8 retn: @3 prms: @5582 @5575 function_decl name: @5583 type: @5584 srcp: time.h:329 chan: @5585 body: undefined link: extern @5576 identifier_node strg: __builtin_ia32_pminsw lngt: 21 @5577 function_decl name: @5586 type: @5137 srcp: :0 chan: @5587 body: undefined link: extern @5578 tree_list purp: @5579 valu: @5581 chan: @5588 @5579 identifier_node strg: CURLOPT_MAXFILESIZE_LARGE lngt: 25 @5580 const_decl name: @5589 type: @4422 srcp: curl.h:1013 chan: @5590 cnst: @5591 @5581 integer_cst type: @3 low : 30117 @5582 tree_list valu: @5592 chan: @5593 @5583 identifier_node strg: clock_getres lngt: 12 @5584 function_type size: @12 algn: 8 retn: @3 prms: @5594 @5585 function_decl name: @5595 type: @5584 srcp: time.h:332 chan: @5596 body: undefined link: extern @5586 identifier_node strg: __builtin_ia32_punpckhbw lngt: 24 @5587 function_decl name: @5597 type: @5149 srcp: :0 chan: @5598 body: undefined link: extern @5588 tree_list purp: @5589 valu: @5591 chan: @5599 @5589 identifier_node strg: CURLOPT_NETRC_FILE lngt: 18 @5590 const_decl name: @5600 type: @4422 srcp: curl.h:1020 chan: @5601 cnst: @5602 @5591 integer_cst type: @3 low : 10118 @5592 pointer_type size: @22 algn: 64 ptd : @5603 @5593 tree_list valu: @5604 chan: @137 @5594 tree_list valu: @2538 chan: @5605 @5595 identifier_node strg: clock_gettime lngt: 13 @5596 function_decl name: @5606 type: @5607 srcp: time.h:336 chan: @5608 body: undefined link: extern @5597 identifier_node strg: __builtin_ia32_punpckhwd lngt: 24 @5598 function_decl name: @5609 type: @5161 srcp: :0 chan: @5610 body: undefined link: extern @5599 tree_list purp: @5600 valu: @5602 chan: @5611 @5600 identifier_node strg: CURLOPT_USE_SSL lngt: 15 @5601 const_decl name: @5612 type: @4422 srcp: curl.h:1023 chan: @5613 cnst: @5614 @5602 integer_cst type: @3 low : 119 @5603 record_type qual: c name: @2633 unql: @2629 size: @19 algn: 64 tag : struct flds: @2634 @5604 pointer_type size: @22 algn: 64 ptd : @2629 @5605 tree_list valu: @5604 chan: @137 @5606 identifier_node strg: clock_settime lngt: 13 @5607 function_type size: @12 algn: 8 retn: @3 prms: @5615 @5608 function_decl name: @5616 type: @5617 srcp: time.h:355 chan: @5618 body: undefined link: extern @5609 identifier_node strg: __builtin_ia32_punpckhdq lngt: 24 @5610 function_decl name: @5619 type: @5137 srcp: :0 chan: @5620 body: undefined link: extern @5611 tree_list purp: @5612 valu: @5614 chan: @5621 @5612 identifier_node strg: CURLOPT_POSTFIELDSIZE_LARGE lngt: 27 @5613 const_decl name: @5622 type: @4422 srcp: curl.h:1026 chan: @5623 cnst: @5624 @5614 integer_cst type: @3 low : 30120 @5615 tree_list valu: @2538 chan: @5625 @5616 identifier_node strg: timer_create lngt: 12 @5617 function_type size: @12 algn: 8 retn: @3 prms: @5626 @5618 function_decl name: @5627 type: @5628 srcp: time.h:358 chan: @5629 body: undefined link: extern @5619 identifier_node strg: __builtin_ia32_punpcklbw lngt: 24 @5620 function_decl name: @5630 type: @5149 srcp: :0 chan: @5631 body: undefined link: extern @5621 tree_list purp: @5622 valu: @5624 chan: @5632 @5622 identifier_node strg: CURLOPT_TCP_NODELAY lngt: 19 @5623 const_decl name: @5633 type: @4422 srcp: curl.h:1046 chan: @5634 cnst: @5635 @5624 integer_cst type: @3 low : 121 @5625 tree_list valu: @5592 chan: @137 @5626 tree_list valu: @2538 chan: @5636 @5627 identifier_node strg: timer_delete lngt: 12 @5628 function_type size: @12 algn: 8 retn: @3 prms: @5637 @5629 function_decl name: @5638 type: @5639 srcp: time.h:363 chan: @5640 body: undefined link: extern @5630 identifier_node strg: __builtin_ia32_punpcklwd lngt: 24 @5631 function_decl name: @5641 type: @5161 srcp: :0 chan: @5642 body: undefined link: extern @5632 tree_list purp: @5633 valu: @5635 chan: @5643 @5633 identifier_node strg: CURLOPT_FTPSSLAUTH lngt: 18 @5634 const_decl name: @5644 type: @4422 srcp: curl.h:1048 chan: @5645 cnst: @5646 @5635 integer_cst type: @3 low : 129 @5636 tree_list valu: @5647 chan: @5648 @5637 tree_list valu: @2542 chan: @137 @5638 identifier_node strg: timer_settime lngt: 13 @5639 function_type size: @12 algn: 8 retn: @3 prms: @5649 @5640 function_decl name: @5650 type: @5651 srcp: time.h:367 chan: @5652 body: undefined link: extern @5641 identifier_node strg: __builtin_ia32_punpckldq lngt: 24 @5642 function_decl name: @5653 type: @5654 srcp: :0 chan: @5655 body: undefined link: extern @5643 tree_list purp: @5644 valu: @5646 chan: @5656 @5644 identifier_node strg: CURLOPT_IOCTLFUNCTION lngt: 21 @5645 const_decl name: @5657 type: @4422 srcp: curl.h:1049 chan: @5658 cnst: @5659 @5646 integer_cst type: @3 low : 20130 @5647 pointer_type qual: r unql: @5660 size: @22 algn: 64 ptd : @2847 @5648 tree_list valu: @5661 chan: @137 @5649 tree_list valu: @2542 chan: @5662 @5650 identifier_node strg: timer_gettime lngt: 13 @5651 function_type size: @12 algn: 8 retn: @3 prms: @5663 @5652 function_decl name: @5664 type: @5628 srcp: time.h:370 chan: @5665 body: undefined link: extern @5653 identifier_node strg: __builtin_ia32_addpd lngt: 20 @5654 function_type size: @12 algn: 8 retn: @5666 prms: @5667 @5655 function_decl name: @5668 type: @5654 srcp: :0 chan: @5669 body: undefined link: extern @5656 tree_list purp: @5657 valu: @5659 chan: @5670 @5657 identifier_node strg: CURLOPT_IOCTLDATA lngt: 17 @5658 const_decl name: @5671 type: @4422 srcp: curl.h:1056 chan: @5672 cnst: @5673 @5659 integer_cst type: @3 low : 10131 @5660 pointer_type size: @22 algn: 64 ptd : @2847 @5661 pointer_type qual: r unql: @5674 size: @22 algn: 64 ptd : @2542 @5662 tree_list valu: @3 chan: @5675 @5663 tree_list valu: @2542 chan: @5676 @5664 identifier_node strg: timer_getoverrun lngt: 16 @5665 function_decl name: @5677 type: @5678 srcp: uio.h:40 chan: @5679 body: undefined link: extern @5666 vector_type size: @19 algn: 128 @5667 tree_list valu: @5666 chan: @5680 @5668 identifier_node strg: __builtin_ia32_subpd lngt: 20 @5669 function_decl name: @5681 type: @5654 srcp: :0 chan: @5682 body: undefined link: extern @5670 tree_list purp: @5671 valu: @5673 chan: @5683 @5671 identifier_node strg: CURLOPT_FTP_ACCOUNT lngt: 19 @5672 const_decl name: @5684 type: @4422 srcp: curl.h:1059 chan: @5685 cnst: @5686 @5673 integer_cst type: @3 low : 10134 @5674 pointer_type size: @22 algn: 64 ptd : @2542 @5675 tree_list valu: @5687 chan: @5688 @5676 tree_list valu: @5689 chan: @137 @5677 identifier_node strg: readv lngt: 5 @5678 function_type size: @12 algn: 8 retn: @2512 prms: @5690 @5679 function_decl name: @5691 type: @5678 srcp: uio.h:50 chan: @5692 body: undefined link: extern @5680 tree_list valu: @5666 chan: @137 @5681 identifier_node strg: __builtin_ia32_mulpd lngt: 20 @5682 function_decl name: @5693 type: @5654 srcp: :0 chan: @5694 body: undefined link: extern @5683 tree_list purp: @5684 valu: @5686 chan: @5695 @5684 identifier_node strg: CURLOPT_COOKIELIST lngt: 18 @5685 const_decl name: @5696 type: @4422 srcp: curl.h:1062 chan: @5697 cnst: @5698 @5686 integer_cst type: @3 low : 10135 @5687 pointer_type qual: r unql: @5699 size: @22 algn: 64 ptd : @5700 @5688 tree_list valu: @5701 chan: @137 @5689 pointer_type size: @22 algn: 64 ptd : @2840 @5690 tree_list valu: @3 chan: @5702 @5691 identifier_node strg: writev lngt: 6 @5692 function_decl name: @5703 type: @5704 srcp: socket.h:258 chan: @5705 body: undefined link: extern @5693 identifier_node strg: __builtin_ia32_divpd lngt: 20 @5694 function_decl name: @5706 type: @5654 srcp: :0 chan: @5707 body: undefined link: extern @5695 tree_list purp: @5696 valu: @5698 chan: @5708 @5696 identifier_node strg: CURLOPT_IGNORE_CONTENT_LENGTH lngt: 29 @5697 const_decl name: @5709 type: @4422 srcp: curl.h:1068 chan: @5710 cnst: @5711 @5698 integer_cst type: @3 low : 136 @5699 pointer_type size: @22 algn: 64 ptd : @5700 @5700 record_type qual: c name: @2845 unql: @2840 size: @113 algn: 64 tag : struct flds: @2846 @5701 pointer_type qual: r unql: @5689 size: @22 algn: 64 ptd : @2840 @5702 tree_list valu: @5712 chan: @5713 @5703 identifier_node strg: __cmsg_nxthdr lngt: 13 @5704 function_type size: @12 algn: 8 retn: @5714 prms: @5715 @5705 function_decl name: @5716 type: @5717 srcp: socket.h:100 chan: @5718 body: undefined link: extern @5706 identifier_node strg: __builtin_ia32_addsd lngt: 20 @5707 function_decl name: @5719 type: @5654 srcp: :0 chan: @5720 body: undefined link: extern @5708 tree_list purp: @5709 valu: @5711 chan: @5721 @5709 identifier_node strg: CURLOPT_FTP_SKIP_PASV_IP lngt: 24 @5710 const_decl name: @5722 type: @4422 srcp: curl.h:1072 chan: @5723 cnst: @5724 @5711 integer_cst type: @3 low : 137 @5712 pointer_type size: @22 algn: 64 ptd : @5725 @5713 tree_list valu: @3 chan: @137 @5714 pointer_type size: @22 algn: 64 ptd : @3088 @5715 tree_list valu: @5726 chan: @5727 @5716 identifier_node strg: socket lngt: 6 @5717 function_type size: @12 algn: 8 retn: @3 prms: @5728 @5718 function_decl name: @5729 type: @5730 srcp: socket.h:107 chan: @5731 body: undefined link: extern @5719 identifier_node strg: __builtin_ia32_subsd lngt: 20 @5720 function_decl name: @5732 type: @5654 srcp: :0 chan: @5733 body: undefined link: extern @5721 tree_list purp: @5722 valu: @5724 chan: @5734 @5722 identifier_node strg: CURLOPT_FTP_FILEMETHOD lngt: 22 @5723 const_decl name: @5735 type: @4422 srcp: curl.h:1075 chan: @5736 cnst: @5737 @5724 integer_cst type: @3 low : 138 @5725 record_type qual: c name: @2863 unql: @2857 size: @19 algn: 64 tag : struct flds: @2864 @5726 pointer_type size: @22 algn: 64 ptd : @3081 @5727 tree_list valu: @5714 chan: @137 @5728 tree_list valu: @3 chan: @5738 @5729 identifier_node strg: socketpair lngt: 10 @5730 function_type size: @12 algn: 8 retn: @3 prms: @5739 @5731 function_decl name: @5740 type: @5741 srcp: socket.h:111 chan: @5742 body: undefined link: extern @5732 identifier_node strg: __builtin_ia32_mulsd lngt: 20 @5733 function_decl name: @5743 type: @5654 srcp: :0 chan: @5744 body: undefined link: extern @5734 tree_list purp: @5735 valu: @5737 chan: @5745 @5735 identifier_node strg: CURLOPT_LOCALPORT lngt: 17 @5736 const_decl name: @5746 type: @4422 srcp: curl.h:1080 chan: @5747 cnst: @5748 @5737 integer_cst type: @3 low : 139 @5738 tree_list valu: @3 chan: @5749 @5739 tree_list valu: @3 chan: @5750 @5740 identifier_node strg: bind lngt: 4 @5741 function_type size: @12 algn: 8 retn: @3 prms: @5751 @5742 function_decl name: @5752 type: @5753 srcp: socket.h:115 chan: @5754 body: undefined link: extern @5743 identifier_node strg: __builtin_ia32_divsd lngt: 20 @5744 function_decl name: @5755 type: @5756 srcp: :0 chan: @5757 body: undefined link: extern @5745 tree_list purp: @5746 valu: @5748 chan: @5758 @5746 identifier_node strg: CURLOPT_LOCALPORTRANGE lngt: 22 @5747 const_decl name: @5759 type: @4422 srcp: curl.h:1084 chan: @5760 cnst: @5761 @5748 integer_cst type: @3 low : 140 @5749 tree_list valu: @3 chan: @137 @5750 tree_list valu: @3 chan: @5762 @5751 tree_list valu: @3 chan: @5763 @5752 identifier_node strg: getsockname lngt: 11 @5753 function_type size: @12 algn: 8 retn: @3 prms: @5764 @5754 function_decl name: @5765 type: @5741 srcp: socket.h:124 chan: @5766 body: undefined link: extern @5755 identifier_node strg: __builtin_ia32_cmpeqpd lngt: 22 @5756 function_type size: @12 algn: 8 retn: @5767 prms: @5768 @5757 function_decl name: @5769 type: @5756 srcp: :0 chan: @5770 body: undefined link: extern @5758 tree_list purp: @5759 valu: @5761 chan: @5771 @5759 identifier_node strg: CURLOPT_CONNECT_ONLY lngt: 20 @5760 const_decl name: @5772 type: @4422 srcp: curl.h:1088 chan: @5773 cnst: @5774 @5761 integer_cst type: @3 low : 141 @5762 tree_list valu: @3 chan: @5775 @5763 tree_list valu: @5776 chan: @5777 @5764 tree_list valu: @3 chan: @5778 @5765 identifier_node strg: connect lngt: 7 @5766 function_decl name: @5779 type: @5753 srcp: socket.h:129 chan: @5780 body: undefined link: extern @5767 vector_type size: @19 algn: 128 @5768 tree_list valu: @5666 chan: @5781 @5769 identifier_node strg: __builtin_ia32_cmpltpd lngt: 22 @5770 function_decl name: @5782 type: @5756 srcp: :0 chan: @5783 body: undefined link: extern @5771 tree_list purp: @5772 valu: @5774 chan: @5784 @5772 identifier_node strg: CURLOPT_CONV_FROM_NETWORK_FUNCTION lngt: 34 @5773 const_decl name: @5785 type: @4422 srcp: curl.h:1092 chan: @5786 cnst: @5787 @5774 integer_cst type: @3 low : 20142 @5775 tree_list valu: @488 chan: @137 @5776 pointer_type size: @22 algn: 64 ptd : @5788 @5777 tree_list valu: @2866 chan: @137 @5778 tree_list valu: @5789 chan: @5790 @5779 identifier_node strg: getpeername lngt: 11 @5780 function_decl name: @5791 type: @5792 srcp: socket.h:136 chan: @5793 body: undefined link: extern @5781 tree_list valu: @5666 chan: @137 @5782 identifier_node strg: __builtin_ia32_cmplepd lngt: 22 @5783 function_decl name: @5794 type: @5756 srcp: :0 chan: @5795 body: undefined link: extern @5784 tree_list purp: @5785 valu: @5787 chan: @5796 @5785 identifier_node strg: CURLOPT_CONV_TO_NETWORK_FUNCTION lngt: 32 @5786 const_decl name: @5797 type: @4422 srcp: curl.h:1097 chan: @5798 cnst: @5799 @5787 integer_cst type: @3 low : 20143 @5788 record_type qual: c name: @2947 unql: @2943 size: @19 algn: 16 tag : struct flds: @2948 @5789 pointer_type qual: r unql: @5800 size: @22 algn: 64 ptd : @2943 @5790 tree_list valu: @5801 chan: @137 @5791 identifier_node strg: send lngt: 4 @5792 function_type size: @12 algn: 8 retn: @2512 prms: @5802 @5793 function_decl name: @5803 type: @5804 srcp: socket.h:143 chan: @5805 body: undefined link: extern @5794 identifier_node strg: __builtin_ia32_cmpgtpd lngt: 22 @5795 function_decl name: @5806 type: @5756 srcp: :0 chan: @5807 body: undefined link: extern @5796 tree_list purp: @5797 valu: @5799 chan: @5808 @5797 identifier_node strg: CURLOPT_CONV_FROM_UTF8_FUNCTION lngt: 31 @5798 const_decl name: @5809 type: @4422 srcp: curl.h:1101 chan: @5810 cnst: @5811 @5799 integer_cst type: @3 low : 20144 @5800 pointer_type size: @22 algn: 64 ptd : @2943 @5801 pointer_type qual: r unql: @5812 size: @22 algn: 64 ptd : @2866 @5802 tree_list valu: @3 chan: @5813 @5803 identifier_node strg: recv lngt: 4 @5804 function_type size: @12 algn: 8 retn: @2512 prms: @5814 @5805 function_decl name: @5815 type: @5816 srcp: socket.h:152 chan: @5817 body: undefined link: extern @5806 identifier_node strg: __builtin_ia32_cmpgepd lngt: 22 @5807 function_decl name: @5818 type: @5756 srcp: :0 chan: @5819 body: undefined link: extern @5808 tree_list purp: @5809 valu: @5811 chan: @5820 @5809 identifier_node strg: CURLOPT_MAX_SEND_SPEED_LARGE lngt: 28 @5810 const_decl name: @5821 type: @4422 srcp: curl.h:1102 chan: @5822 cnst: @5823 @5811 integer_cst type: @3 low : 30145 @5812 pointer_type size: @22 algn: 64 ptd : @2866 @5813 tree_list valu: @1804 chan: @5824 @5814 tree_list valu: @3 chan: @5825 @5815 identifier_node strg: sendto lngt: 6 @5816 function_type size: @12 algn: 8 retn: @2512 prms: @5826 @5817 function_decl name: @5827 type: @5828 srcp: socket.h:163 chan: @5829 body: undefined link: extern @5818 identifier_node strg: __builtin_ia32_cmpunordpd lngt: 25 @5819 function_decl name: @5830 type: @5756 srcp: :0 chan: @5831 body: undefined link: extern @5820 tree_list purp: @5821 valu: @5823 chan: @5832 @5821 identifier_node strg: CURLOPT_MAX_RECV_SPEED_LARGE lngt: 28 @5822 const_decl name: @5833 type: @4422 srcp: curl.h:1105 chan: @5834 cnst: @5835 @5823 integer_cst type: @3 low : 30146 @5824 tree_list valu: @1772 chan: @5836 @5825 tree_list valu: @147 chan: @5837 @5826 tree_list valu: @3 chan: @5838 @5827 identifier_node strg: recvfrom lngt: 8 @5828 function_type size: @12 algn: 8 retn: @2512 prms: @5839 @5829 function_decl name: @5840 type: @5841 srcp: socket.h:172 chan: @5842 body: undefined link: extern @5830 identifier_node strg: __builtin_ia32_cmpneqpd lngt: 23 @5831 function_decl name: @5843 type: @5756 srcp: :0 chan: @5844 body: undefined link: extern @5832 tree_list purp: @5833 valu: @5835 chan: @5845 @5833 identifier_node strg: CURLOPT_FTP_ALTERNATIVE_TO_USER lngt: 31 @5834 const_decl name: @5846 type: @4422 srcp: curl.h:1108 chan: @5847 cnst: @5848 @5835 integer_cst type: @3 low : 10147 @5836 tree_list valu: @3 chan: @137 @5837 tree_list valu: @1772 chan: @5849 @5838 tree_list valu: @1804 chan: @5850 @5839 tree_list valu: @3 chan: @5851 @5840 identifier_node strg: sendmsg lngt: 7 @5841 function_type size: @12 algn: 8 retn: @2512 prms: @5852 @5842 function_decl name: @5853 type: @5854 srcp: socket.h:179 chan: @5855 body: undefined link: extern @5843 identifier_node strg: __builtin_ia32_cmpnltpd lngt: 23 @5844 function_decl name: @5856 type: @5756 srcp: :0 chan: @5857 body: undefined link: extern @5845 tree_list purp: @5846 valu: @5848 chan: @5858 @5846 identifier_node strg: CURLOPT_SOCKOPTFUNCTION lngt: 23 @5847 const_decl name: @5859 type: @4422 srcp: curl.h:1109 chan: @5860 cnst: @5861 @5848 integer_cst type: @3 low : 20148 @5849 tree_list valu: @3 chan: @137 @5850 tree_list valu: @1772 chan: @5862 @5851 tree_list valu: @4990 chan: @5863 @5852 tree_list valu: @3 chan: @5864 @5853 identifier_node strg: recvmsg lngt: 7 @5854 function_type size: @12 algn: 8 retn: @2512 prms: @5865 @5855 function_decl name: @5866 type: @5867 srcp: socket.h:187 chan: @5868 body: undefined link: extern @5856 identifier_node strg: __builtin_ia32_cmpnlepd lngt: 23 @5857 function_decl name: @5869 type: @5756 srcp: :0 chan: @5870 body: undefined link: extern @5858 tree_list purp: @5859 valu: @5861 chan: @5871 @5859 identifier_node strg: CURLOPT_SOCKOPTDATA lngt: 19 @5860 const_decl name: @5872 type: @4422 srcp: curl.h:1113 chan: @5873 cnst: @5874 @5861 integer_cst type: @3 low : 10149 @5862 tree_list valu: @3 chan: @5875 @5863 tree_list valu: @1772 chan: @5876 @5864 tree_list valu: @5877 chan: @5878 @5865 tree_list valu: @3 chan: @5879 @5866 identifier_node strg: getsockopt lngt: 10 @5867 function_type size: @12 algn: 8 retn: @3 prms: @5880 @5868 function_decl name: @5881 type: @5882 srcp: socket.h:193 chan: @5883 body: undefined link: extern @5869 identifier_node strg: __builtin_ia32_cmpngtpd lngt: 23 @5870 function_decl name: @5884 type: @5756 srcp: :0 chan: @5885 body: undefined link: extern @5871 tree_list purp: @5872 valu: @5874 chan: @5886 @5872 identifier_node strg: CURLOPT_SSL_SESSIONID_CACHE lngt: 27 @5873 const_decl name: @5887 type: @4422 srcp: curl.h:1116 chan: @5888 cnst: @5889 @5874 integer_cst type: @3 low : 150 @5875 tree_list valu: @5776 chan: @5890 @5876 tree_list valu: @3 chan: @5891 @5877 pointer_type size: @22 algn: 64 ptd : @5892 @5878 tree_list valu: @3 chan: @137 @5879 tree_list valu: @5726 chan: @5893 @5880 tree_list valu: @3 chan: @5894 @5881 identifier_node strg: setsockopt lngt: 10 @5882 function_type size: @12 algn: 8 retn: @3 prms: @5895 @5883 function_decl name: @5896 type: @5897 srcp: socket.h:199 chan: @5898 body: undefined link: extern @5884 identifier_node strg: __builtin_ia32_cmpngepd lngt: 23 @5885 function_decl name: @5899 type: @5756 srcp: :0 chan: @5900 body: undefined link: extern @5886 tree_list purp: @5887 valu: @5889 chan: @5901 @5887 identifier_node strg: CURLOPT_SSH_AUTH_TYPES lngt: 22 @5888 const_decl name: @5902 type: @4422 srcp: curl.h:1119 chan: @5903 cnst: @5904 @5889 integer_cst type: @3 low : 151 @5890 tree_list valu: @2866 chan: @137 @5891 tree_list valu: @5789 chan: @5905 @5892 record_type qual: c name: @3086 unql: @3081 size: @1733 algn: 64 tag : struct flds: @3087 @5893 tree_list valu: @3 chan: @137 @5894 tree_list valu: @3 chan: @5906 @5895 tree_list valu: @3 chan: @5907 @5896 identifier_node strg: listen lngt: 6 @5897 function_type size: @12 algn: 8 retn: @3 prms: @5908 @5898 function_decl name: @5909 type: @5753 srcp: socket.h:210 chan: @5910 body: undefined link: extern @5899 identifier_node strg: __builtin_ia32_cmpordpd lngt: 23 @5900 function_decl name: @5911 type: @5756 srcp: :0 chan: @5912 body: undefined link: extern @5901 tree_list purp: @5902 valu: @5904 chan: @5913 @5902 identifier_node strg: CURLOPT_SSH_PUBLIC_KEYFILE lngt: 26 @5903 const_decl name: @5914 type: @4422 srcp: curl.h:1120 chan: @5915 cnst: @5916 @5904 integer_cst type: @3 low : 10152 @5905 tree_list valu: @5801 chan: @137 @5906 tree_list valu: @3 chan: @5917 @5907 tree_list valu: @3 chan: @5918 @5908 tree_list valu: @3 chan: @5919 @5909 identifier_node strg: accept lngt: 6 @5910 function_decl name: @5920 type: @5897 srcp: socket.h:218 chan: @5921 body: undefined link: extern @5911 identifier_node strg: __builtin_ia32_cmpeqsd lngt: 22 @5912 function_decl name: @5922 type: @5756 srcp: :0 chan: @5923 body: undefined link: extern @5913 tree_list purp: @5914 valu: @5916 chan: @5924 @5914 identifier_node strg: CURLOPT_SSH_PRIVATE_KEYFILE lngt: 27 @5915 const_decl name: @5925 type: @4422 srcp: curl.h:1123 chan: @5926 cnst: @5927 @5916 integer_cst type: @3 low : 10153 @5917 tree_list valu: @4990 chan: @5928 @5918 tree_list valu: @3 chan: @5929 @5919 tree_list valu: @3 chan: @137 @5920 identifier_node strg: shutdown lngt: 8 @5921 function_decl name: @5930 type: @5897 srcp: socket.h:231 chan: @5931 body: undefined link: extern @5922 identifier_node strg: __builtin_ia32_cmpltsd lngt: 22 @5923 function_decl name: @5932 type: @5756 srcp: :0 chan: @5933 body: undefined link: extern @5924 tree_list purp: @5925 valu: @5927 chan: @5934 @5925 identifier_node strg: CURLOPT_FTP_SSL_CCC lngt: 19 @5926 const_decl name: @5935 type: @4422 srcp: curl.h:1126 chan: @5936 cnst: @5937 @5927 integer_cst type: @3 low : 154 @5928 tree_list valu: @5801 chan: @137 @5929 tree_list valu: @1804 chan: @5938 @5930 identifier_node strg: isfdtype lngt: 8 @5931 function_decl name: @5939 type: @5940 srcp: time.h:73 chan: @5941 body: undefined link: extern @5932 identifier_node strg: __builtin_ia32_cmplesd lngt: 22 @5933 function_decl name: @5942 type: @5756 srcp: :0 chan: @5943 body: undefined link: extern @5934 tree_list purp: @5935 valu: @5937 chan: @5944 @5935 identifier_node strg: CURLOPT_TIMEOUT_MS lngt: 18 @5936 const_decl name: @5945 type: @4422 srcp: curl.h:1127 chan: @5946 cnst: @5947 @5937 integer_cst type: @3 low : 155 @5938 tree_list valu: @2866 chan: @137 @5939 identifier_node strg: gettimeofday lngt: 12 @5940 function_type size: @12 algn: 8 retn: @3 prms: @5948 @5941 function_decl name: @5949 type: @5950 srcp: time.h:79 chan: @5951 body: undefined link: extern @5942 identifier_node strg: __builtin_ia32_cmpunordsd lngt: 25 @5943 function_decl name: @5952 type: @5756 srcp: :0 chan: @5953 body: undefined link: extern @5944 tree_list purp: @5945 valu: @5947 chan: @5954 @5945 identifier_node strg: CURLOPT_CONNECTTIMEOUT_MS lngt: 25 @5946 const_decl name: @5955 type: @4422 srcp: curl.h:1131 chan: @5956 cnst: @5957 @5947 integer_cst type: @3 low : 156 @5948 tree_list valu: @5362 chan: @5958 @5949 identifier_node strg: settimeofday lngt: 12 @5950 function_type size: @12 algn: 8 retn: @3 prms: @5959 @5951 function_decl name: @5960 type: @5961 srcp: time.h:86 chan: @5962 body: undefined link: extern @5952 identifier_node strg: __builtin_ia32_cmpneqsd lngt: 23 @5953 function_decl name: @5963 type: @5756 srcp: :0 chan: @5964 body: undefined link: extern @5954 tree_list purp: @5955 valu: @5957 chan: @5965 @5955 identifier_node strg: CURLOPT_HTTP_TRANSFER_DECODING lngt: 30 @5956 const_decl name: @5966 type: @4422 srcp: curl.h:1132 chan: @5967 cnst: @5968 @5957 integer_cst type: @3 low : 157 @5958 tree_list valu: @5969 chan: @137 @5959 tree_list valu: @5970 chan: @5971 @5960 identifier_node strg: adjtime lngt: 7 @5961 function_type size: @12 algn: 8 retn: @3 prms: @5972 @5962 function_decl name: @5973 type: @5974 srcp: time.h:126 chan: @5975 body: undefined link: extern @5963 identifier_node strg: __builtin_ia32_cmpnltsd lngt: 23 @5964 function_decl name: @5976 type: @5756 srcp: :0 chan: @5977 body: undefined link: extern @5965 tree_list purp: @5966 valu: @5968 chan: @5978 @5966 identifier_node strg: CURLOPT_HTTP_CONTENT_DECODING lngt: 29 @5967 const_decl name: @5979 type: @4422 srcp: curl.h:1136 chan: @5980 cnst: @5981 @5968 integer_cst type: @3 low : 158 @5969 pointer_type qual: r unql: @3203 size: @22 algn: 64 ptd : @3187 @5970 pointer_type size: @22 algn: 64 ptd : @5982 @5971 tree_list valu: @5983 chan: @137 @5972 tree_list valu: @5970 chan: @5984 @5973 identifier_node strg: getitimer lngt: 9 @5974 function_type size: @12 algn: 8 retn: @3 prms: @5985 @5975 function_decl name: @5986 type: @5987 srcp: time.h:133 chan: @5988 body: undefined link: extern @5976 identifier_node strg: __builtin_ia32_cmpnlesd lngt: 23 @5977 function_decl name: @5989 type: @5756 srcp: :0 chan: @5990 body: undefined link: extern @5978 tree_list purp: @5979 valu: @5981 chan: @5991 @5979 identifier_node strg: CURLOPT_NEW_FILE_PERMS lngt: 22 @5980 const_decl name: @5992 type: @4422 srcp: curl.h:1137 chan: @5993 cnst: @5994 @5981 integer_cst type: @3 low : 159 @5982 record_type qual: c name: @2643 unql: @2635 size: @19 algn: 64 tag : struct flds: @2644 @5983 pointer_type size: @22 algn: 64 ptd : @5995 @5984 tree_list valu: @5375 chan: @137 @5985 tree_list valu: @3238 chan: @5996 @5986 identifier_node strg: setitimer lngt: 9 @5987 function_type size: @12 algn: 8 retn: @3 prms: @5997 @5988 function_decl name: @5998 type: @5999 srcp: time.h:139 chan: @6000 body: undefined link: extern @5989 identifier_node strg: __builtin_ia32_cmpordsd lngt: 23 @5990 function_decl name: @6001 type: @5654 srcp: :0 chan: @6002 body: undefined link: extern @5991 tree_list purp: @5992 valu: @5994 chan: @6003 @5992 identifier_node strg: CURLOPT_NEW_DIRECTORY_PERMS lngt: 27 @5993 const_decl name: @6004 type: @4422 srcp: curl.h:1141 chan: @6005 cnst: @6006 @5994 integer_cst type: @3 low : 160 @5995 record_type qual: c name: @3192 unql: @3187 size: @22 algn: 32 tag : struct flds: @3193 @5996 tree_list valu: @6007 chan: @137 @5997 tree_list valu: @3238 chan: @6008 @5998 identifier_node strg: utimes lngt: 6 @5999 function_type size: @12 algn: 8 retn: @3 prms: @6009 @6000 function_decl name: @6010 type: @5999 srcp: time.h:144 chan: @6011 body: undefined link: extern @6001 identifier_node strg: __builtin_ia32_minpd lngt: 20 @6002 function_decl name: @6012 type: @5654 srcp: :0 chan: @6013 body: undefined link: extern @6003 tree_list purp: @6004 valu: @6006 chan: @6014 @6004 identifier_node strg: CURLOPT_POSTREDIR lngt: 17 @6005 const_decl name: @6015 type: @4422 srcp: curl.h:1144 chan: @6016 cnst: @6017 @6006 integer_cst type: @3 low : 161 @6007 pointer_type size: @22 algn: 64 ptd : @3231 @6008 tree_list valu: @6018 chan: @6019 @6009 tree_list valu: @809 chan: @6020 @6010 identifier_node strg: lutimes lngt: 7 @6011 function_decl name: @6021 type: @6022 srcp: time.h:147 chan: @6023 body: undefined link: extern @6012 identifier_node strg: __builtin_ia32_maxpd lngt: 20 @6013 function_decl name: @6024 type: @5654 srcp: :0 chan: @6025 body: undefined link: extern @6014 tree_list purp: @6015 valu: @6017 chan: @6026 @6015 identifier_node strg: CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 lngt: 31 @6016 const_decl name: @6027 type: @4422 srcp: curl.h:1150 chan: @6028 cnst: @6029 @6017 integer_cst type: @3 low : 10162 @6018 pointer_type qual: r unql: @6030 size: @22 algn: 64 ptd : @6031 @6019 tree_list valu: @6032 chan: @137 @6020 tree_list valu: @5970 chan: @137 @6021 identifier_node strg: futimes lngt: 7 @6022 function_type size: @12 algn: 8 retn: @3 prms: @6033 @6023 function_decl name: @6034 type: @4718 srcp: curl.h:1313 chan: @6035 body: undefined link: extern @6024 identifier_node strg: __builtin_ia32_minsd lngt: 20 @6025 function_decl name: @6036 type: @5654 srcp: :0 chan: @6037 body: undefined link: extern @6026 tree_list purp: @6027 valu: @6029 chan: @6038 @6027 identifier_node strg: CURLOPT_OPENSOCKETFUNCTION lngt: 26 @6028 const_decl name: @6039 type: @4422 srcp: curl.h:1151 chan: @6040 cnst: @6041 @6029 integer_cst type: @3 low : 20163 @6030 pointer_type size: @22 algn: 64 ptd : @6031 @6031 record_type qual: c name: @3235 unql: @3231 size: @113 algn: 64 tag : struct flds: @3236 @6032 pointer_type qual: r unql: @6007 size: @22 algn: 64 ptd : @3231 @6033 tree_list valu: @3 chan: @6042 @6034 identifier_node strg: curl_strequal lngt: 13 @6035 function_decl name: @6043 type: @6044 srcp: curl.h:1314 chan: @6045 body: undefined link: extern @6036 identifier_node strg: __builtin_ia32_maxsd lngt: 20 @6037 function_decl name: @6046 type: @5654 srcp: :0 chan: @6047 body: undefined link: extern @6038 tree_list purp: @6039 valu: @6041 chan: @6048 @6039 identifier_node strg: CURLOPT_OPENSOCKETDATA lngt: 22 @6040 const_decl name: @6049 type: @4422 srcp: curl.h:1154 chan: @6050 cnst: @6051 @6041 integer_cst type: @3 low : 10164 @6042 tree_list valu: @5970 chan: @137 @6043 identifier_node strg: curl_strnequal lngt: 14 @6044 function_type size: @12 algn: 8 retn: @3 prms: @6052 @6045 function_decl name: @6053 type: @6054 srcp: curl.h:1407 chan: @6055 body: undefined link: extern @6046 identifier_node strg: __builtin_ia32_andpd lngt: 20 @6047 function_decl name: @6056 type: @5654 srcp: :0 chan: @6057 body: undefined link: extern @6048 tree_list purp: @6049 valu: @6051 chan: @6058 @6049 identifier_node strg: CURLOPT_COPYPOSTFIELDS lngt: 22 @6050 const_decl name: @6059 type: @4422 srcp: curl.h:1157 chan: @6060 cnst: @6061 @6051 integer_cst type: @3 low : 10165 @6052 tree_list valu: @809 chan: @6062 @6053 identifier_node strg: curl_formadd lngt: 12 @6054 function_type size: @12 algn: 8 retn: @6063 prms: @6064 @6055 function_decl name: @6065 type: @6066 srcp: curl.h:1430 chan: @6067 body: undefined link: extern @6056 identifier_node strg: __builtin_ia32_andnpd lngt: 21 @6057 function_decl name: @6068 type: @5654 srcp: :0 chan: @6069 body: undefined link: extern @6058 tree_list purp: @6059 valu: @6061 chan: @6070 @6059 identifier_node strg: CURLOPT_PROXY_TRANSFER_MODE lngt: 27 @6060 const_decl name: @6071 type: @4422 srcp: curl.h:1160 chan: @6072 cnst: @6073 @6061 integer_cst type: @3 low : 166 @6062 tree_list valu: @809 chan: @6074 @6063 enumeral_type name: @6075 unql: @6076 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6077 @6064 tree_list valu: @6078 chan: @6079 @6065 identifier_node strg: curl_formget lngt: 12 @6066 function_type size: @12 algn: 8 retn: @3 prms: @6080 @6067 function_decl name: @6081 type: @6082 srcp: curl.h:1438 chan: @6083 body: undefined link: extern @6068 identifier_node strg: __builtin_ia32_orpd lngt: 19 @6069 function_decl name: @6084 type: @5654 srcp: :0 chan: @6085 body: undefined link: extern @6070 tree_list purp: @6071 valu: @6073 chan: @6086 @6071 identifier_node strg: CURLOPT_SEEKFUNCTION lngt: 20 @6072 const_decl name: @6087 type: @4422 srcp: curl.h:1161 chan: @6088 cnst: @6089 @6073 integer_cst type: @3 low : 20167 @6074 tree_list valu: @1772 chan: @137 @6075 type_decl name: @6090 type: @6063 srcp: curl.h:1394 chan: @6091 @6076 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6077 @6077 tree_list purp: @6092 valu: @1796 chan: @6093 @6078 pointer_type size: @22 algn: 64 ptd : @3268 @6079 tree_list valu: @6078 @6080 tree_list valu: @3268 chan: @6094 @6081 identifier_node strg: curl_formfree lngt: 13 @6082 function_type size: @12 algn: 8 retn: @115 prms: @6095 @6083 function_decl name: @6096 type: @3509 srcp: curl.h:1448 chan: @6097 body: undefined link: extern @6084 identifier_node strg: __builtin_ia32_xorpd lngt: 20 @6085 function_decl name: @6098 type: @5654 srcp: :0 chan: @6099 body: undefined link: extern @6086 tree_list purp: @6087 valu: @6089 chan: @6100 @6087 identifier_node strg: CURLOPT_SEEKDATA lngt: 16 @6088 const_decl name: @6101 type: @4422 srcp: curl.h:1164 chan: @6102 cnst: @6103 @6089 integer_cst type: @3 low : 10168 @6090 identifier_node strg: CURLFORMcode lngt: 12 @6091 type_decl name: @6104 type: @6105 srcp: curl.h:1417 chan: @6106 @6092 identifier_node strg: CURL_FORMADD_OK lngt: 15 @6093 tree_list purp: @6107 valu: @1817 chan: @6108 @6094 tree_list valu: @147 chan: @6109 @6095 tree_list valu: @3268 chan: @137 @6096 identifier_node strg: curl_getenv lngt: 11 @6097 function_decl name: @6110 type: @6111 srcp: curl.h:1457 chan: @6112 body: undefined link: extern @6098 identifier_node strg: __builtin_ia32_movsd lngt: 20 @6099 function_decl name: @6113 type: @5654 srcp: :0 chan: @6114 body: undefined link: extern @6100 tree_list purp: @6101 valu: @6103 chan: @6115 @6101 identifier_node strg: CURLOPT_CRLFILE lngt: 15 @6102 const_decl name: @6116 type: @4422 srcp: curl.h:1167 chan: @6117 cnst: @6118 @6103 integer_cst type: @3 low : 10169 @6104 identifier_node strg: curl_formget_callback lngt: 21 @6105 pointer_type name: @6091 unql: @6119 size: @22 algn: 64 ptd : @6120 @6106 type_decl type: @6121 srcp: curl.h:1586 chan: @6122 @6107 identifier_node strg: CURL_FORMADD_MEMORY lngt: 19 @6108 tree_list purp: @6123 valu: @1834 chan: @6124 @6109 tree_list valu: @6105 chan: @137 @6110 identifier_node strg: curl_version lngt: 12 @6111 function_type size: @12 algn: 8 retn: @1493 prms: @137 @6112 function_decl name: @6125 type: @6126 srcp: curl.h:1470 chan: @6127 body: undefined link: extern @6113 identifier_node strg: __builtin_ia32_unpckhpd lngt: 23 @6114 function_decl name: @6128 type: @5654 srcp: :0 chan: @6129 body: undefined link: extern @6115 tree_list purp: @6116 valu: @6118 chan: @6130 @6116 identifier_node strg: CURLOPT_ISSUERCERT lngt: 18 @6117 const_decl name: @6131 type: @4422 srcp: curl.h:1170 chan: @6132 cnst: @6133 @6118 integer_cst type: @3 low : 10170 @6119 pointer_type size: @22 algn: 64 ptd : @6120 @6120 function_type size: @12 algn: 8 retn: @1772 prms: @6134 @6121 record_type name: @6135 size: @19 algn: 64 tag : struct flds: @6136 @6122 type_decl type: @6137 srcp: curl.h:1600 chan: @6138 @6123 identifier_node strg: CURL_FORMADD_OPTION_TWICE lngt: 25 @6124 tree_list purp: @6139 valu: @1853 chan: @6140 @6125 identifier_node strg: curl_easy_escape lngt: 16 @6126 function_type size: @12 algn: 8 retn: @1493 prms: @6141 @6127 function_decl name: @6142 type: @6143 srcp: curl.h:1474 chan: @6144 body: undefined link: extern @6128 identifier_node strg: __builtin_ia32_unpcklpd lngt: 23 @6129 function_decl name: @6145 type: @6146 srcp: :0 chan: @6147 body: undefined link: extern @6130 tree_list purp: @6131 valu: @6133 chan: @6148 @6131 identifier_node strg: CURLOPT_ADDRESS_SCOPE lngt: 21 @6132 const_decl name: @6149 type: @4422 srcp: curl.h:1175 chan: @6150 cnst: @6151 @6133 integer_cst type: @3 low : 171 @6134 tree_list valu: @147 chan: @6152 @6135 identifier_node strg: curl_certinfo lngt: 13 @6136 field_decl name: @6153 type: @3 scpe: @6121 srcp: curl.h:1587 chan: @6154 size: @5 algn: 32 bpos: @20 @6137 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6155 @6138 const_decl name: @6156 type: @6137 srcp: curl.h:1601 chan: @6157 cnst: @1796 @6139 identifier_node strg: CURL_FORMADD_NULL lngt: 17 @6140 tree_list purp: @6158 valu: @1871 chan: @6159 @6141 tree_list valu: @3491 chan: @6160 @6142 identifier_node strg: curl_escape lngt: 11 @6143 function_type size: @12 algn: 8 retn: @1493 prms: @1494 @6144 function_decl name: @6161 type: @6162 srcp: curl.h:1491 chan: @6163 body: undefined link: extern @6145 identifier_node strg: __builtin_ia32_paddb128 lngt: 23 @6146 function_type size: @12 algn: 8 retn: @6164 prms: @6165 @6147 function_decl name: @6166 type: @6167 srcp: :0 chan: @6168 body: undefined link: extern @6148 tree_list purp: @6149 valu: @6151 chan: @6169 @6149 identifier_node strg: CURLOPT_CERTINFO lngt: 16 @6150 const_decl name: @6170 type: @4422 srcp: curl.h:1178 chan: @6171 cnst: @6172 @6151 integer_cst type: @3 low : 172 @6152 tree_list valu: @809 chan: @6173 @6153 identifier_node strg: num_of_certs lngt: 12 @6154 field_decl name: @6174 type: @6175 scpe: @6121 srcp: curl.h:1588 size: @22 algn: 64 bpos: @22 @6155 tree_list purp: @6156 valu: @1796 chan: @6176 @6156 identifier_node strg: CURLINFO_NONE lngt: 13 @6157 const_decl name: @6177 type: @6137 srcp: curl.h:1602 chan: @6178 cnst: @6179 @6158 identifier_node strg: CURL_FORMADD_UNKNOWN_OPTION lngt: 27 @6159 tree_list purp: @6180 valu: @1891 chan: @6181 @6160 tree_list valu: @809 chan: @6182 @6161 identifier_node strg: curl_easy_unescape lngt: 18 @6162 function_type size: @12 algn: 8 retn: @1493 prms: @6183 @6163 function_decl name: @6184 type: @6143 srcp: curl.h:1495 chan: @6185 body: undefined link: extern @6164 vector_type size: @19 algn: 128 @6165 tree_list valu: @6164 chan: @6186 @6166 identifier_node strg: __builtin_ia32_paddw128 lngt: 23 @6167 function_type size: @12 algn: 8 retn: @6187 prms: @6188 @6168 function_decl name: @6189 type: @6190 srcp: :0 chan: @6191 body: undefined link: extern @6169 tree_list purp: @6170 valu: @6172 chan: @6192 @6170 identifier_node strg: CURLOPT_USERNAME lngt: 16 @6171 const_decl name: @6193 type: @4422 srcp: curl.h:1179 chan: @6194 cnst: @6195 @6172 integer_cst type: @3 low : 10173 @6173 tree_list valu: @1772 chan: @137 @6174 identifier_node strg: certinfo lngt: 8 @6175 pointer_type size: @22 algn: 64 ptd : @3290 @6176 tree_list purp: @6177 valu: @6179 chan: @6196 @6177 identifier_node strg: CURLINFO_EFFECTIVE_URL lngt: 22 @6178 const_decl name: @6197 type: @6137 srcp: curl.h:1603 chan: @6198 cnst: @6199 @6179 integer_cst type: @3 low : 1048577 @6180 identifier_node strg: CURL_FORMADD_INCOMPLETE lngt: 23 @6181 tree_list purp: @6200 valu: @1908 chan: @6201 @6182 tree_list valu: @3 chan: @137 @6183 tree_list valu: @3491 chan: @6202 @6184 identifier_node strg: curl_unescape lngt: 13 @6185 function_decl name: @6203 type: @2222 srcp: curl.h:1505 chan: @6204 body: undefined link: extern @6186 tree_list valu: @6164 chan: @137 @6187 vector_type size: @19 algn: 128 @6188 tree_list valu: @6187 chan: @6205 @6189 identifier_node strg: __builtin_ia32_paddd128 lngt: 23 @6190 function_type size: @12 algn: 8 retn: @4841 prms: @6206 @6191 function_decl name: @6207 type: @6208 srcp: :0 chan: @6209 body: undefined link: extern @6192 tree_list purp: @6193 valu: @6195 chan: @6210 @6193 identifier_node strg: CURLOPT_PASSWORD lngt: 16 @6194 const_decl name: @6211 type: @4422 srcp: curl.h:1182 chan: @6212 cnst: @6213 @6195 integer_cst type: @3 low : 10174 @6196 tree_list purp: @6197 valu: @6199 chan: @6214 @6197 identifier_node strg: CURLINFO_RESPONSE_CODE lngt: 22 @6198 const_decl name: @6215 type: @6137 srcp: curl.h:1604 chan: @6216 cnst: @6217 @6199 integer_cst type: @3 low : 2097154 @6200 identifier_node strg: CURL_FORMADD_ILLEGAL_ARRAY lngt: 26 @6201 tree_list purp: @6218 valu: @1924 chan: @6219 @6202 tree_list valu: @809 chan: @6220 @6203 identifier_node strg: curl_free lngt: 9 @6204 function_decl name: @6221 type: @6222 srcp: curl.h:1515 chan: @6223 body: undefined link: extern @6205 tree_list valu: @6187 chan: @137 @6206 tree_list valu: @4841 chan: @6224 @6207 identifier_node strg: __builtin_ia32_paddq128 lngt: 23 @6208 function_type size: @12 algn: 8 retn: @5767 prms: @6225 @6209 function_decl name: @6226 type: @6146 srcp: :0 chan: @6227 body: undefined link: extern @6210 tree_list purp: @6211 valu: @6213 chan: @6228 @6211 identifier_node strg: CURLOPT_PROXYUSERNAME lngt: 21 @6212 const_decl name: @6229 type: @4422 srcp: curl.h:1183 chan: @6230 cnst: @6231 @6213 integer_cst type: @3 low : 10175 @6214 tree_list purp: @6215 valu: @6217 chan: @6232 @6215 identifier_node strg: CURLINFO_TOTAL_TIME lngt: 19 @6216 const_decl name: @6233 type: @6137 srcp: curl.h:1605 chan: @6234 cnst: @6235 @6217 integer_cst type: @3 low : 3145731 @6218 identifier_node strg: CURL_FORMADD_DISABLED lngt: 21 @6219 tree_list purp: @6236 valu: @1939 @6220 tree_list valu: @3 chan: @6237 @6221 identifier_node strg: curl_global_init lngt: 16 @6222 function_type size: @12 algn: 8 retn: @4186 prms: @6238 @6223 function_decl name: @6239 type: @6240 srcp: curl.h:1535 chan: @6241 body: undefined link: extern @6224 tree_list valu: @4841 chan: @137 @6225 tree_list valu: @5767 chan: @6242 @6226 identifier_node strg: __builtin_ia32_psubb128 lngt: 23 @6227 function_decl name: @6243 type: @6167 srcp: :0 chan: @6244 body: undefined link: extern @6228 tree_list purp: @6229 valu: @6231 chan: @6245 @6229 identifier_node strg: CURLOPT_PROXYPASSWORD lngt: 21 @6230 const_decl name: @6246 type: @4422 srcp: curl.h:1192 chan: @6247 cnst: @6248 @6231 integer_cst type: @3 low : 10176 @6232 tree_list purp: @6233 valu: @6235 chan: @6249 @6233 identifier_node strg: CURLINFO_NAMELOOKUP_TIME lngt: 24 @6234 const_decl name: @6250 type: @6137 srcp: curl.h:1606 chan: @6251 cnst: @6252 @6235 integer_cst type: @3 low : 3145732 @6236 identifier_node strg: CURL_FORMADD_LAST lngt: 17 @6237 tree_list valu: @488 chan: @137 @6238 tree_list valu: @16 chan: @137 @6239 identifier_node strg: curl_global_init_mem lngt: 20 @6240 function_type size: @12 algn: 8 retn: @4186 prms: @6253 @6241 function_decl name: @6254 type: @2836 srcp: curl.h:1545 chan: @6255 body: undefined link: extern @6242 tree_list valu: @5767 chan: @137 @6243 identifier_node strg: __builtin_ia32_psubw128 lngt: 23 @6244 function_decl name: @6256 type: @6190 srcp: :0 chan: @6257 body: undefined link: extern @6245 tree_list purp: @6246 valu: @6248 chan: @6258 @6246 identifier_node strg: CURLOPT_NOPROXY lngt: 15 @6247 const_decl name: @6259 type: @4422 srcp: curl.h:1195 chan: @6260 cnst: @6261 @6248 integer_cst type: @3 low : 10177 @6249 tree_list purp: @6250 valu: @6252 chan: @6262 @6250 identifier_node strg: CURLINFO_CONNECT_TIME lngt: 21 @6251 const_decl name: @6263 type: @6137 srcp: curl.h:1607 chan: @6264 cnst: @6265 @6252 integer_cst type: @3 low : 3145733 @6253 tree_list valu: @16 chan: @6266 @6254 identifier_node strg: curl_global_cleanup lngt: 19 @6255 function_decl name: @6267 type: @6268 srcp: curl.h:1562 chan: @6269 body: undefined link: extern @6256 identifier_node strg: __builtin_ia32_psubd128 lngt: 23 @6257 function_decl name: @6270 type: @6208 srcp: :0 chan: @6271 body: undefined link: extern @6258 tree_list purp: @6259 valu: @6261 chan: @6272 @6259 identifier_node strg: CURLOPT_TFTP_BLKSIZE lngt: 20 @6260 const_decl name: @6273 type: @4422 srcp: curl.h:1198 chan: @6274 cnst: @6275 @6261 integer_cst type: @3 low : 178 @6262 tree_list purp: @6263 valu: @6265 chan: @6276 @6263 identifier_node strg: CURLINFO_PRETRANSFER_TIME lngt: 25 @6264 const_decl name: @6277 type: @6137 srcp: curl.h:1608 chan: @6278 cnst: @6279 @6265 integer_cst type: @3 low : 3145734 @6266 tree_list valu: @3479 chan: @6280 @6267 identifier_node strg: curl_slist_append lngt: 17 @6268 function_type size: @12 algn: 8 retn: @3290 prms: @6281 @6269 function_decl name: @6282 type: @6283 srcp: curl.h:1571 chan: @6284 body: undefined link: extern @6270 identifier_node strg: __builtin_ia32_psubq128 lngt: 23 @6271 function_decl name: @6285 type: @6146 srcp: :0 chan: @6286 body: undefined link: extern @6272 tree_list purp: @6273 valu: @6275 chan: @6287 @6273 identifier_node strg: CURLOPT_SOCKS5_GSSAPI_SERVICE lngt: 29 @6274 const_decl name: @6288 type: @4422 srcp: curl.h:1201 chan: @6289 cnst: @6290 @6275 integer_cst type: @3 low : 179 @6276 tree_list purp: @6277 valu: @6279 chan: @6291 @6277 identifier_node strg: CURLINFO_SIZE_UPLOAD lngt: 20 @6278 const_decl name: @6292 type: @6137 srcp: curl.h:1609 chan: @6293 cnst: @6294 @6279 integer_cst type: @3 low : 3145735 @6280 tree_list valu: @3488 chan: @6295 @6281 tree_list valu: @3290 chan: @6296 @6282 identifier_node strg: curl_slist_free_all lngt: 19 @6283 function_type size: @12 algn: 8 retn: @115 prms: @6297 @6284 function_decl name: @6298 type: @6299 srcp: curl.h:1582 chan: @6300 body: undefined link: extern @6285 identifier_node strg: __builtin_ia32_paddsb128 lngt: 24 @6286 function_decl name: @6301 type: @6167 srcp: :0 chan: @6302 body: undefined link: extern @6287 tree_list purp: @6288 valu: @6290 chan: @6303 @6288 identifier_node strg: CURLOPT_SOCKS5_GSSAPI_NEC lngt: 25 @6289 const_decl name: @6304 type: @4422 srcp: curl.h:1207 chan: @6305 cnst: @6306 @6290 integer_cst type: @3 low : 180 @6291 tree_list purp: @6292 valu: @6294 chan: @6307 @6292 identifier_node strg: CURLINFO_SIZE_DOWNLOAD lngt: 22 @6293 const_decl name: @6308 type: @6137 srcp: curl.h:1610 chan: @6309 cnst: @6310 @6294 integer_cst type: @3 low : 3145736 @6295 tree_list valu: @3495 chan: @6311 @6296 tree_list valu: @809 chan: @137 @6297 tree_list valu: @3290 chan: @137 @6298 identifier_node strg: curl_getdate lngt: 12 @6299 function_type size: @12 algn: 8 retn: @2532 prms: @6312 @6300 function_decl name: @6313 type: @6314 srcp: curl.h:1722 chan: @6315 body: undefined link: extern @6301 identifier_node strg: __builtin_ia32_paddsw128 lngt: 24 @6302 function_decl name: @6316 type: @6146 srcp: :0 chan: @6317 body: undefined link: extern @6303 tree_list purp: @6304 valu: @6306 chan: @6318 @6304 identifier_node strg: CURLOPT_PROTOCOLS lngt: 17 @6305 const_decl name: @6319 type: @4422 srcp: curl.h:1213 chan: @6320 cnst: @6321 @6306 integer_cst type: @3 low : 181 @6307 tree_list purp: @6308 valu: @6310 chan: @6322 @6308 identifier_node strg: CURLINFO_SPEED_DOWNLOAD lngt: 23 @6309 const_decl name: @6323 type: @6137 srcp: curl.h:1611 chan: @6324 cnst: @6325 @6310 integer_cst type: @3 low : 3145737 @6311 tree_list valu: @3503 chan: @6326 @6312 tree_list valu: @809 chan: @6327 @6313 identifier_node strg: curl_share_init lngt: 15 @6314 function_type size: @12 algn: 8 retn: @6328 prms: @137 @6315 function_decl name: @6329 type: @6330 srcp: curl.h:1723 chan: @6331 body: undefined link: extern @6316 identifier_node strg: __builtin_ia32_psubsb128 lngt: 24 @6317 function_decl name: @6332 type: @6167 srcp: :0 chan: @6333 body: undefined link: extern @6318 tree_list purp: @6319 valu: @6321 chan: @6334 @6319 identifier_node strg: CURLOPT_REDIR_PROTOCOLS lngt: 23 @6320 const_decl name: @6335 type: @4422 srcp: curl.h:1216 chan: @6336 cnst: @6337 @6321 integer_cst type: @3 low : 182 @6322 tree_list purp: @6323 valu: @6325 chan: @6338 @6323 identifier_node strg: CURLINFO_SPEED_UPLOAD lngt: 21 @6324 const_decl name: @6339 type: @6137 srcp: curl.h:1612 chan: @6340 cnst: @6341 @6325 integer_cst type: @3 low : 3145738 @6326 tree_list valu: @3511 chan: @137 @6327 tree_list valu: @5418 chan: @137 @6328 pointer_type size: @22 algn: 64 ptd : @6342 @6329 identifier_node strg: curl_share_setopt lngt: 17 @6330 function_type size: @12 algn: 8 retn: @6343 prms: @6344 @6331 function_decl name: @6345 type: @6346 srcp: curl.h:1724 chan: @6347 body: undefined link: extern @6332 identifier_node strg: __builtin_ia32_psubsw128 lngt: 24 @6333 function_decl name: @6348 type: @6146 srcp: :0 chan: @6349 body: undefined link: extern @6334 tree_list purp: @6335 valu: @6337 @6335 identifier_node strg: CURLOPT_LASTENTRY lngt: 17 @6336 type_decl name: @6350 type: @6351 srcp: curl.h:1216 chan: @6352 @6337 integer_cst type: @3 low : 183 @6338 tree_list purp: @6339 valu: @6341 chan: @6353 @6339 identifier_node strg: CURLINFO_HEADER_SIZE lngt: 20 @6340 const_decl name: @6354 type: @6137 srcp: curl.h:1613 chan: @6355 cnst: @6356 @6341 integer_cst type: @3 low : 2097163 @6342 void_type name: @6357 unql: @115 algn: 8 @6343 enumeral_type name: @6358 unql: @6359 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6360 @6344 tree_list valu: @6328 chan: @6361 @6345 identifier_node strg: curl_share_cleanup lngt: 18 @6346 function_type size: @12 algn: 8 retn: @6343 prms: @6362 @6347 function_decl name: @6363 type: @6364 srcp: curl.h:1796 chan: @6365 body: undefined link: extern @6348 identifier_node strg: __builtin_ia32_paddusb128 lngt: 25 @6349 function_decl name: @6366 type: @6167 srcp: :0 chan: @6367 body: undefined link: extern @6350 identifier_node strg: CURLoption lngt: 10 @6351 enumeral_type name: @6336 unql: @4422 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @4431 @6352 type_decl type: @6368 srcp: curl.h:1260 chan: @6369 @6353 tree_list purp: @6354 valu: @6356 chan: @6370 @6354 identifier_node strg: CURLINFO_REQUEST_SIZE lngt: 21 @6355 const_decl name: @6371 type: @6137 srcp: curl.h:1614 chan: @6372 cnst: @6373 @6356 integer_cst type: @3 low : 2097164 @6357 type_decl name: @6374 type: @6342 srcp: curl.h:1700 chan: @6375 @6358 type_decl name: @6376 type: @6343 srcp: curl.h:1709 chan: @6377 @6359 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6360 @6360 tree_list purp: @6378 valu: @1796 chan: @6379 @6361 tree_list valu: @6380 @6362 tree_list valu: @6328 chan: @137 @6363 identifier_node strg: curl_version_info lngt: 17 @6364 function_type size: @12 algn: 8 retn: @6381 prms: @6382 @6365 function_decl name: @6383 type: @6384 srcp: curl.h:1807 chan: @6385 body: undefined link: extern @6366 identifier_node strg: __builtin_ia32_paddusw128 lngt: 25 @6367 function_decl name: @6386 type: @6146 srcp: :0 chan: @6387 body: undefined link: extern @6368 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6388 @6369 const_decl name: @6389 type: @6368 srcp: curl.h:1261 chan: @6390 cnst: @1796 @6370 tree_list purp: @6371 valu: @6373 chan: @6391 @6371 identifier_node strg: CURLINFO_SSL_VERIFYRESULT lngt: 25 @6372 const_decl name: @6392 type: @6137 srcp: curl.h:1615 chan: @6393 cnst: @6394 @6373 integer_cst type: @3 low : 2097165 @6374 identifier_node strg: CURLSH lngt: 6 @6375 type_decl type: @6359 srcp: curl.h:1702 chan: @6395 @6376 identifier_node strg: CURLSHcode lngt: 10 @6377 type_decl type: @6396 srcp: curl.h:1711 chan: @6397 @6378 identifier_node strg: CURLSHE_OK lngt: 10 @6379 tree_list purp: @6398 valu: @1817 chan: @6399 @6380 enumeral_type name: @6400 unql: @6396 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6401 @6381 pointer_type size: @22 algn: 64 ptd : @6402 @6382 tree_list valu: @6403 chan: @137 @6383 identifier_node strg: curl_easy_strerror lngt: 18 @6384 function_type size: @12 algn: 8 retn: @809 prms: @6404 @6385 function_decl name: @6405 type: @6406 srcp: curl.h:1818 chan: @6407 body: undefined link: extern @6386 identifier_node strg: __builtin_ia32_psubusb128 lngt: 25 @6387 function_decl name: @6408 type: @6167 srcp: :0 chan: @6409 body: undefined link: extern @6388 tree_list purp: @6389 valu: @1796 chan: @6410 @6389 identifier_node strg: CURL_HTTP_VERSION_NONE lngt: 22 @6390 const_decl name: @6411 type: @6368 srcp: curl.h:1264 chan: @6412 cnst: @1817 @6391 tree_list purp: @6392 valu: @6394 chan: @6413 @6392 identifier_node strg: CURLINFO_FILETIME lngt: 17 @6393 const_decl name: @6414 type: @6137 srcp: curl.h:1616 chan: @6415 cnst: @6416 @6394 integer_cst type: @3 low : 2097166 @6395 const_decl name: @6378 type: @6359 srcp: curl.h:1703 chan: @6417 cnst: @1796 @6396 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6401 @6397 const_decl name: @6418 type: @6396 srcp: curl.h:1712 chan: @6419 cnst: @1796 @6398 identifier_node strg: CURLSHE_BAD_OPTION lngt: 18 @6399 tree_list purp: @6420 valu: @1834 chan: @6421 @6400 type_decl name: @6422 type: @6380 srcp: curl.h:1720 chan: @6423 @6401 tree_list purp: @6418 valu: @1796 chan: @6424 @6402 record_type name: @6425 unql: @6426 size: @1839 algn: 64 tag : struct flds: @6427 @6403 enumeral_type name: @6428 unql: @6429 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6430 @6404 tree_list valu: @4186 chan: @137 @6405 identifier_node strg: curl_share_strerror lngt: 19 @6406 function_type size: @12 algn: 8 retn: @809 prms: @6431 @6407 function_decl name: @6432 type: @6433 srcp: curl.h:1829 chan: @6434 body: undefined link: extern @6408 identifier_node strg: __builtin_ia32_psubusw128 lngt: 25 @6409 function_decl name: @6435 type: @6167 srcp: :0 chan: @6436 body: undefined link: extern @6410 tree_list purp: @6411 valu: @1817 chan: @6437 @6411 identifier_node strg: CURL_HTTP_VERSION_1_0 lngt: 21 @6412 const_decl name: @6438 type: @6368 srcp: curl.h:1265 chan: @6439 cnst: @1834 @6413 tree_list purp: @6414 valu: @6416 chan: @6440 @6414 identifier_node strg: CURLINFO_CONTENT_LENGTH_DOWNLOAD lngt: 32 @6415 const_decl name: @6441 type: @6137 srcp: curl.h:1617 chan: @6442 cnst: @6443 @6416 integer_cst type: @3 low : 3145743 @6417 const_decl name: @6398 type: @6359 srcp: curl.h:1704 chan: @6444 cnst: @1817 @6418 identifier_node strg: CURLSHOPT_NONE lngt: 14 @6419 const_decl name: @6445 type: @6396 srcp: curl.h:1713 chan: @6446 cnst: @1817 @6420 identifier_node strg: CURLSHE_IN_USE lngt: 14 @6421 tree_list purp: @6447 valu: @1853 chan: @6448 @6422 identifier_node strg: CURLSHoption lngt: 12 @6423 type_decl type: @6429 srcp: curl.h:1730 chan: @6449 @6424 tree_list purp: @6445 valu: @1817 chan: @6450 @6425 type_decl name: @6451 type: @6402 srcp: curl.h:1771 chan: @6452 @6426 record_type size: @1839 algn: 64 tag : struct flds: @6427 @6427 field_decl name: @6453 type: @6403 scpe: @6426 srcp: curl.h:1746 chan: @6454 size: @5 algn: 32 bpos: @20 @6428 type_decl name: @6455 type: @6403 srcp: curl.h:1736 chan: @6456 @6429 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6430 @6430 tree_list purp: @6457 valu: @1796 chan: @6458 @6431 tree_list valu: @6343 chan: @137 @6432 identifier_node strg: curl_easy_pause lngt: 15 @6433 function_type size: @12 algn: 8 retn: @4186 prms: @6459 @6434 function_decl name: @6460 type: @6461 srcp: easy.h:29 chan: @6462 body: undefined link: extern @6435 identifier_node strg: __builtin_ia32_pmullw128 lngt: 24 @6436 function_decl name: @6463 type: @6167 srcp: :0 chan: @6464 body: undefined link: extern @6437 tree_list purp: @6438 valu: @1834 chan: @6465 @6438 identifier_node strg: CURL_HTTP_VERSION_1_1 lngt: 21 @6439 const_decl name: @6466 type: @6368 srcp: curl.h:1268 chan: @6467 cnst: @1853 @6440 tree_list purp: @6441 valu: @6443 chan: @6468 @6441 identifier_node strg: CURLINFO_CONTENT_LENGTH_UPLOAD lngt: 30 @6442 const_decl name: @6469 type: @6137 srcp: curl.h:1618 chan: @6470 cnst: @6471 @6443 integer_cst type: @3 low : 3145744 @6444 const_decl name: @6420 type: @6359 srcp: curl.h:1705 chan: @6472 cnst: @1834 @6445 identifier_node strg: CURLSHOPT_SHARE lngt: 15 @6446 const_decl name: @6473 type: @6396 srcp: curl.h:1714 chan: @6474 cnst: @1834 @6447 identifier_node strg: CURLSHE_INVALID lngt: 15 @6448 tree_list purp: @6475 valu: @1871 chan: @6476 @6449 const_decl name: @6457 type: @6429 srcp: curl.h:1731 chan: @6477 cnst: @1796 @6450 tree_list purp: @6473 valu: @1834 chan: @6478 @6451 identifier_node strg: curl_version_info_data lngt: 22 @6452 type_decl name: @6479 type: @6480 srcp: multi.h:56 chan: @6481 @6453 identifier_node strg: age lngt: 3 @6454 field_decl name: @6482 type: @809 scpe: @6426 srcp: curl.h:1747 chan: @6483 size: @22 algn: 64 bpos: @22 @6455 identifier_node strg: CURLversion lngt: 11 @6456 type_decl type: @6426 srcp: curl.h:1745 chan: @6425 @6457 identifier_node strg: CURLVERSION_FIRST lngt: 17 @6458 tree_list purp: @6484 valu: @1817 chan: @6485 @6459 tree_list valu: @3491 chan: @6486 @6460 identifier_node strg: curl_easy_init lngt: 14 @6461 function_type size: @12 algn: 8 retn: @3491 prms: @137 @6462 function_decl name: @6487 type: @6488 srcp: easy.h:30 chan: @6489 body: undefined link: extern @6463 identifier_node strg: __builtin_ia32_pmulhw128 lngt: 24 @6464 function_decl name: @6490 type: @6208 srcp: :0 chan: @6491 body: undefined link: extern @6465 tree_list purp: @6466 valu: @1853 @6466 identifier_node strg: CURL_HTTP_VERSION_LAST lngt: 22 @6467 type_decl type: @6492 srcp: curl.h:1271 chan: @6493 @6468 tree_list purp: @6469 valu: @6471 chan: @6494 @6469 identifier_node strg: CURLINFO_STARTTRANSFER_TIME lngt: 27 @6470 const_decl name: @6495 type: @6137 srcp: curl.h:1619 chan: @6496 cnst: @6497 @6471 integer_cst type: @3 low : 3145745 @6472 const_decl name: @6447 type: @6359 srcp: curl.h:1706 chan: @6498 cnst: @1853 @6473 identifier_node strg: CURLSHOPT_UNSHARE lngt: 17 @6474 const_decl name: @6499 type: @6396 srcp: curl.h:1715 chan: @6500 cnst: @1853 @6475 identifier_node strg: CURLSHE_NOMEM lngt: 13 @6476 tree_list purp: @6501 valu: @1891 @6477 const_decl name: @6484 type: @6429 srcp: curl.h:1732 chan: @6502 cnst: @1817 @6478 tree_list purp: @6499 valu: @1853 chan: @6503 @6479 identifier_node strg: CURLM lngt: 5 @6480 void_type name: @6452 unql: @115 algn: 8 @6481 type_decl type: @6504 srcp: multi.h:58 chan: @6505 @6482 identifier_node strg: version lngt: 7 @6483 field_decl name: @6506 type: @26 scpe: @6426 srcp: curl.h:1748 chan: @6507 size: @5 algn: 32 bpos: @19 @6484 identifier_node strg: CURLVERSION_SECOND lngt: 18 @6485 tree_list purp: @6508 valu: @1834 chan: @6509 @6486 tree_list valu: @3 chan: @137 @6487 identifier_node strg: curl_easy_setopt lngt: 16 @6488 function_type size: @12 algn: 8 retn: @4186 prms: @6510 @6489 function_decl name: @6511 type: @6512 srcp: easy.h:31 chan: @6513 body: undefined link: extern @6490 identifier_node strg: __builtin_ia32_pand128 lngt: 22 @6491 function_decl name: @6514 type: @6208 srcp: :0 chan: @6515 body: undefined link: extern @6492 enumeral_type name: @6516 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6517 @6493 const_decl name: @6518 type: @6492 srcp: curl.h:1272 chan: @6519 cnst: @1796 @6494 tree_list purp: @6495 valu: @6497 chan: @6520 @6495 identifier_node strg: CURLINFO_CONTENT_TYPE lngt: 21 @6496 const_decl name: @6521 type: @6137 srcp: curl.h:1620 chan: @6522 cnst: @6523 @6497 integer_cst type: @3 low : 1048594 @6498 const_decl name: @6475 type: @6359 srcp: curl.h:1707 chan: @6524 cnst: @1871 @6499 identifier_node strg: CURLSHOPT_LOCKFUNC lngt: 18 @6500 const_decl name: @6525 type: @6396 srcp: curl.h:1716 chan: @6526 cnst: @1871 @6501 identifier_node strg: CURLSHE_LAST lngt: 12 @6502 const_decl name: @6508 type: @6429 srcp: curl.h:1733 chan: @6527 cnst: @1834 @6503 tree_list purp: @6525 valu: @1871 chan: @6528 @6504 enumeral_type size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 csts: @6529 @6505 const_decl name: @6530 type: @6504 srcp: multi.h:59 chan: @6531 cnst: @6532 @6506 identifier_node strg: version_num lngt: 11 @6507 field_decl name: @6533 type: @809 scpe: @6426 srcp: curl.h:1749 chan: @6534 size: @22 algn: 64 bpos: @121 @6508 identifier_node strg: CURLVERSION_THIRD lngt: 17 @6509 tree_list purp: @6535 valu: @1853 chan: @6536 @6510 tree_list valu: @3491 chan: @6537 @6511 identifier_node strg: curl_easy_perform lngt: 17 @6512 function_type size: @12 algn: 8 retn: @4186 prms: @6538 @6513 function_decl name: @6539 type: @6540 srcp: easy.h:32 chan: @6541 body: undefined link: extern @6514 identifier_node strg: __builtin_ia32_pandn128 lngt: 23 @6515 function_decl name: @6542 type: @6208 srcp: :0 chan: @6543 body: undefined link: extern @6516 identifier_node strg: CURL_NETRC_OPTION lngt: 17 @6517 tree_list purp: @6518 valu: @1796 chan: @6544 @6518 identifier_node strg: CURL_NETRC_IGNORED lngt: 18 @6519 const_decl name: @6545 type: @6492 srcp: curl.h:1274 chan: @6546 cnst: @1817 @6520 tree_list purp: @6521 valu: @6523 chan: @6547 @6521 identifier_node strg: CURLINFO_REDIRECT_TIME lngt: 22 @6522 const_decl name: @6548 type: @6137 srcp: curl.h:1621 chan: @6549 cnst: @6550 @6523 integer_cst type: @3 low : 3145747 @6524 const_decl name: @6501 type: @6359 srcp: curl.h:1709 chan: @6358 cnst: @1891 @6525 identifier_node strg: CURLSHOPT_UNLOCKFUNC lngt: 20 @6526 const_decl name: @6551 type: @6396 srcp: curl.h:1717 chan: @6552 cnst: @1891 @6527 const_decl name: @6535 type: @6429 srcp: curl.h:1734 chan: @6553 cnst: @1853 @6528 tree_list purp: @6551 valu: @1891 chan: @6554 @6529 tree_list purp: @6530 valu: @6532 chan: @6555 @6530 identifier_node strg: CURLM_CALL_MULTI_PERFORM lngt: 24 @6531 const_decl name: @6556 type: @6504 srcp: multi.h:61 chan: @6557 cnst: @1796 @6532 integer_cst type: @3 high: -1 low : -1 @6533 identifier_node strg: host lngt: 4 @6534 field_decl name: @6558 type: @3 scpe: @6426 srcp: curl.h:1750 chan: @6559 size: @5 algn: 32 bpos: @113 @6535 identifier_node strg: CURLVERSION_FOURTH lngt: 18 @6536 tree_list purp: @6560 valu: @1871 @6537 tree_list valu: @6351 @6538 tree_list valu: @3491 chan: @137 @6539 identifier_node strg: curl_easy_cleanup lngt: 17 @6540 function_type size: @12 algn: 8 retn: @115 prms: @6561 @6541 function_decl name: @6562 type: @6563 srcp: easy.h:47 chan: @6564 body: undefined link: extern @6542 identifier_node strg: __builtin_ia32_por128 lngt: 21 @6543 function_decl name: @6565 type: @6208 srcp: :0 chan: @6566 body: undefined link: extern @6544 tree_list purp: @6545 valu: @1817 chan: @6567 @6545 identifier_node strg: CURL_NETRC_OPTIONAL lngt: 19 @6546 const_decl name: @6568 type: @6492 srcp: curl.h:1276 chan: @6569 cnst: @1834 @6547 tree_list purp: @6548 valu: @6550 chan: @6570 @6548 identifier_node strg: CURLINFO_REDIRECT_COUNT lngt: 23 @6549 const_decl name: @6571 type: @6137 srcp: curl.h:1622 chan: @6572 cnst: @6573 @6550 integer_cst type: @3 low : 2097172 @6551 identifier_node strg: CURLSHOPT_USERDATA lngt: 18 @6552 const_decl name: @6574 type: @6396 srcp: curl.h:1720 chan: @6400 cnst: @1908 @6553 const_decl name: @6560 type: @6429 srcp: curl.h:1736 chan: @6428 cnst: @1871 @6554 tree_list purp: @6574 valu: @1908 @6555 tree_list purp: @6556 valu: @1796 chan: @6575 @6556 identifier_node strg: CURLM_OK lngt: 8 @6557 const_decl name: @6576 type: @6504 srcp: multi.h:62 chan: @6577 cnst: @1817 @6558 identifier_node strg: features lngt: 8 @6559 field_decl name: @6578 type: @809 scpe: @6426 srcp: curl.h:1751 chan: @6579 size: @22 algn: 64 bpos: @1710 @6560 identifier_node strg: CURLVERSION_LAST lngt: 16 @6561 tree_list valu: @3491 chan: @137 @6562 identifier_node strg: curl_easy_getinfo lngt: 17 @6563 function_type size: @12 algn: 8 retn: @4186 prms: @6580 @6564 function_decl name: @6581 type: @6582 srcp: easy.h:62 chan: @6583 body: undefined link: extern @6565 identifier_node strg: __builtin_ia32_pxor128 lngt: 22 @6566 function_decl name: @6584 type: @6146 srcp: :0 chan: @6585 body: undefined link: extern @6567 tree_list purp: @6568 valu: @1834 chan: @6586 @6568 identifier_node strg: CURL_NETRC_REQUIRED lngt: 19 @6569 const_decl name: @6587 type: @6492 srcp: curl.h:1280 chan: @6588 cnst: @1853 @6570 tree_list purp: @6571 valu: @6573 chan: @6589 @6571 identifier_node strg: CURLINFO_PRIVATE lngt: 16 @6572 const_decl name: @6590 type: @6137 srcp: curl.h:1623 chan: @6591 cnst: @6592 @6573 integer_cst type: @3 low : 1048597 @6574 identifier_node strg: CURLSHOPT_LAST lngt: 14 @6575 tree_list purp: @6576 valu: @1817 chan: @6593 @6576 identifier_node strg: CURLM_BAD_HANDLE lngt: 16 @6577 const_decl name: @6594 type: @6504 srcp: multi.h:63 chan: @6595 cnst: @1834 @6578 identifier_node strg: ssl_version lngt: 11 @6579 field_decl name: @6596 type: @16 scpe: @6426 srcp: curl.h:1752 chan: @6597 size: @22 algn: 64 bpos: @1721 @6580 tree_list valu: @3491 chan: @6598 @6581 identifier_node strg: curl_easy_duphandle lngt: 19 @6582 function_type size: @12 algn: 8 retn: @3491 prms: @6599 @6583 function_decl name: @6600 type: @6540 srcp: easy.h:75 chan: @6601 body: undefined link: extern @6584 identifier_node strg: __builtin_ia32_pavgb128 lngt: 23 @6585 function_decl name: @6602 type: @6167 srcp: :0 chan: @6603 body: undefined link: extern @6586 tree_list purp: @6587 valu: @1853 @6587 identifier_node strg: CURL_NETRC_LAST lngt: 15 @6588 type_decl type: @6604 srcp: curl.h:1282 chan: @6605 @6589 tree_list purp: @6590 valu: @6592 chan: @6606 @6590 identifier_node strg: CURLINFO_HTTP_CONNECTCODE lngt: 25 @6591 const_decl name: @6607 type: @6137 srcp: curl.h:1624 chan: @6608 cnst: @6609 @6592 integer_cst type: @3 low : 2097174 @6593 tree_list purp: @6594 valu: @1834 chan: @6610 @6594 identifier_node strg: CURLM_BAD_EASY_HANDLE lngt: 21 @6595 const_decl name: @6611 type: @6504 srcp: multi.h:64 chan: @6612 cnst: @1853 @6596 identifier_node strg: ssl_version_num lngt: 15 @6597 field_decl name: @6613 type: @809 scpe: @6426 srcp: curl.h:1753 chan: @6614 size: @22 algn: 64 bpos: @1733 @6598 tree_list valu: @6615 @6599 tree_list valu: @3491 chan: @137 @6600 identifier_node strg: curl_easy_reset lngt: 15 @6601 function_decl name: @6616 type: @6617 srcp: easy.h:86 chan: @6618 body: undefined link: extern @6602 identifier_node strg: __builtin_ia32_pavgw128 lngt: 23 @6603 function_decl name: @6619 type: @6146 srcp: :0 chan: @6620 body: undefined link: extern @6604 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6621 @6605 const_decl name: @6622 type: @6604 srcp: curl.h:1283 chan: @6623 cnst: @1796 @6606 tree_list purp: @6607 valu: @6609 chan: @6624 @6607 identifier_node strg: CURLINFO_HTTPAUTH_AVAIL lngt: 23 @6608 const_decl name: @6625 type: @6137 srcp: curl.h:1625 chan: @6626 cnst: @6627 @6609 integer_cst type: @3 low : 2097175 @6610 tree_list purp: @6611 valu: @1853 chan: @6628 @6611 identifier_node strg: CURLM_OUT_OF_MEMORY lngt: 19 @6612 const_decl name: @6629 type: @6504 srcp: multi.h:65 chan: @6630 cnst: @1871 @6613 identifier_node strg: libz_version lngt: 12 @6614 field_decl name: @6631 type: @6632 scpe: @6426 srcp: curl.h:1755 chan: @6633 size: @22 algn: 64 bpos: @1744 @6615 enumeral_type name: @6634 unql: @6137 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6155 @6616 identifier_node strg: curl_easy_recv lngt: 14 @6617 function_type size: @12 algn: 8 retn: @4186 prms: @6635 @6618 function_decl name: @6636 type: @6637 srcp: easy.h:97 chan: @6638 body: undefined link: extern @6619 identifier_node strg: __builtin_ia32_pcmpeqb128 lngt: 25 @6620 function_decl name: @6639 type: @6167 srcp: :0 chan: @6640 body: undefined link: extern @6621 tree_list purp: @6622 valu: @1796 chan: @6641 @6622 identifier_node strg: CURL_SSLVERSION_DEFAULT lngt: 23 @6623 const_decl name: @6642 type: @6604 srcp: curl.h:1284 chan: @6643 cnst: @1817 @6624 tree_list purp: @6625 valu: @6627 chan: @6644 @6625 identifier_node strg: CURLINFO_PROXYAUTH_AVAIL lngt: 24 @6626 const_decl name: @6645 type: @6137 srcp: curl.h:1626 chan: @6646 cnst: @6647 @6627 integer_cst type: @3 low : 2097176 @6628 tree_list purp: @6629 valu: @1871 chan: @6648 @6629 identifier_node strg: CURLM_INTERNAL_ERROR lngt: 20 @6630 const_decl name: @6649 type: @6504 srcp: multi.h:66 chan: @6650 cnst: @1891 @6631 identifier_node strg: protocols lngt: 9 @6632 pointer_type size: @22 algn: 64 ptd : @5117 @6633 field_decl name: @6651 type: @809 scpe: @6426 srcp: curl.h:1758 chan: @6652 size: @22 algn: 64 bpos: @1757 @6634 type_decl name: @6653 type: @6615 srcp: curl.h:1640 chan: @6654 @6635 tree_list valu: @3491 chan: @6655 @6636 identifier_node strg: curl_easy_send lngt: 14 @6637 function_type size: @12 algn: 8 retn: @4186 prms: @6656 @6638 function_decl name: @6657 type: @6658 srcp: multi.h:100 chan: @6659 body: undefined link: extern @6639 identifier_node strg: __builtin_ia32_pcmpeqw128 lngt: 25 @6640 function_decl name: @6660 type: @6190 srcp: :0 chan: @6661 body: undefined link: extern @6641 tree_list purp: @6642 valu: @1817 chan: @6662 @6642 identifier_node strg: CURL_SSLVERSION_TLSv1 lngt: 21 @6643 const_decl name: @6663 type: @6604 srcp: curl.h:1285 chan: @6664 cnst: @1834 @6644 tree_list purp: @6645 valu: @6647 chan: @6665 @6645 identifier_node strg: CURLINFO_OS_ERRNO lngt: 17 @6646 const_decl name: @6666 type: @6137 srcp: curl.h:1627 chan: @6667 cnst: @6668 @6647 integer_cst type: @3 low : 2097177 @6648 tree_list purp: @6649 valu: @1891 chan: @6669 @6649 identifier_node strg: CURLM_BAD_SOCKET lngt: 16 @6650 const_decl name: @6670 type: @6504 srcp: multi.h:67 chan: @6671 cnst: @1908 @6651 identifier_node strg: ares lngt: 4 @6652 field_decl name: @6672 type: @3 scpe: @6426 srcp: curl.h:1759 chan: @6673 size: @5 algn: 32 bpos: @1770 @6653 identifier_node strg: CURLINFO lngt: 8 @6654 type_decl type: @6674 srcp: curl.h:1646 chan: @6675 @6655 tree_list valu: @147 chan: @6676 @6656 tree_list valu: @3491 chan: @6677 @6657 identifier_node strg: curl_multi_init lngt: 15 @6658 function_type size: @12 algn: 8 retn: @6678 prms: @137 @6659 function_decl name: @6679 type: @6680 srcp: multi.h:110 chan: @6681 body: undefined link: extern @6660 identifier_node strg: __builtin_ia32_pcmpeqd128 lngt: 25 @6661 function_decl name: @6682 type: @6146 srcp: :0 chan: @6683 body: undefined link: extern @6662 tree_list purp: @6663 valu: @1834 chan: @6684 @6663 identifier_node strg: CURL_SSLVERSION_SSLv2 lngt: 21 @6664 const_decl name: @6685 type: @6604 srcp: curl.h:1286 chan: @6686 cnst: @1853 @6665 tree_list purp: @6666 valu: @6668 chan: @6687 @6666 identifier_node strg: CURLINFO_NUM_CONNECTS lngt: 21 @6667 const_decl name: @6688 type: @6137 srcp: curl.h:1628 chan: @6689 cnst: @6690 @6668 integer_cst type: @3 low : 2097178 @6669 tree_list purp: @6670 valu: @1908 chan: @6691 @6670 identifier_node strg: CURLM_UNKNOWN_OPTION lngt: 20 @6671 const_decl name: @6692 type: @6504 srcp: multi.h:69 chan: @6693 cnst: @1924 @6672 identifier_node strg: ares_num lngt: 8 @6673 field_decl name: @6694 type: @809 scpe: @6426 srcp: curl.h:1762 chan: @6695 size: @22 algn: 64 bpos: @1785 @6674 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6696 @6675 const_decl name: @6697 type: @6674 srcp: curl.h:1647 chan: @6698 cnst: @1796 @6676 tree_list valu: @1772 chan: @6699 @6677 tree_list valu: @1804 chan: @6700 @6678 pointer_type size: @22 algn: 64 ptd : @6480 @6679 identifier_node strg: curl_multi_add_handle lngt: 21 @6680 function_type size: @12 algn: 8 retn: @6701 prms: @6702 @6681 function_decl name: @6703 type: @6680 srcp: multi.h:120 chan: @6704 body: undefined link: extern @6682 identifier_node strg: __builtin_ia32_pcmpgtb128 lngt: 25 @6683 function_decl name: @6705 type: @6167 srcp: :0 chan: @6706 body: undefined link: extern @6684 tree_list purp: @6685 valu: @1853 chan: @6707 @6685 identifier_node strg: CURL_SSLVERSION_SSLv3 lngt: 21 @6686 const_decl name: @6708 type: @6604 srcp: curl.h:1289 chan: @6709 cnst: @1871 @6687 tree_list purp: @6688 valu: @6690 chan: @6710 @6688 identifier_node strg: CURLINFO_SSL_ENGINES lngt: 20 @6689 const_decl name: @6711 type: @6137 srcp: curl.h:1629 chan: @6712 cnst: @6713 @6690 integer_cst type: @3 low : 4194331 @6691 tree_list purp: @6692 valu: @1924 @6692 identifier_node strg: CURLM_LAST lngt: 10 @6693 type_decl name: @6714 type: @6701 srcp: multi.h:69 chan: @6715 @6694 identifier_node strg: libidn lngt: 6 @6695 field_decl name: @6716 type: @3 scpe: @6426 srcp: curl.h:1767 chan: @6717 size: @5 algn: 32 bpos: @1800 @6696 tree_list purp: @6697 valu: @1796 chan: @6718 @6697 identifier_node strg: CURLCLOSEPOLICY_NONE lngt: 20 @6698 const_decl name: @6719 type: @6674 srcp: curl.h:1649 chan: @6720 cnst: @1817 @6699 tree_list valu: @2344 chan: @137 @6700 tree_list valu: @1772 chan: @6721 @6701 enumeral_type name: @6693 unql: @6504 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 csts: @6529 @6702 tree_list valu: @6678 chan: @6722 @6703 identifier_node strg: curl_multi_remove_handle lngt: 24 @6704 function_decl name: @6723 type: @6724 srcp: multi.h:135 chan: @6725 body: undefined link: extern @6705 identifier_node strg: __builtin_ia32_pcmpgtw128 lngt: 25 @6706 function_decl name: @6726 type: @6190 srcp: :0 chan: @6727 body: undefined link: extern @6707 tree_list purp: @6708 valu: @1871 @6708 identifier_node strg: CURL_SSLVERSION_LAST lngt: 20 @6709 type_decl type: @6728 srcp: curl.h:1300 chan: @6729 @6710 tree_list purp: @6711 valu: @6713 chan: @6730 @6711 identifier_node strg: CURLINFO_COOKIELIST lngt: 19 @6712 const_decl name: @6731 type: @6137 srcp: curl.h:1630 chan: @6732 cnst: @6733 @6713 integer_cst type: @3 low : 4194332 @6714 identifier_node strg: CURLMcode lngt: 9 @6715 type_decl type: @6734 srcp: multi.h:76 chan: @6735 @6716 identifier_node strg: iconv_ver_num lngt: 13 @6717 field_decl name: @6736 type: @809 scpe: @6426 srcp: curl.h:1769 size: @22 algn: 64 bpos: @1822 @6718 tree_list purp: @6719 valu: @1817 chan: @6737 @6719 identifier_node strg: CURLCLOSEPOLICY_OLDEST lngt: 22 @6720 const_decl name: @6738 type: @6674 srcp: curl.h:1650 chan: @6739 cnst: @1834 @6721 tree_list valu: @2344 chan: @137 @6722 tree_list valu: @3491 chan: @137 @6723 identifier_node strg: curl_multi_fdset lngt: 16 @6724 function_type size: @12 algn: 8 retn: @6701 prms: @6740 @6725 function_decl name: @6741 type: @6742 srcp: multi.h:154 chan: @6743 body: undefined link: extern @6726 identifier_node strg: __builtin_ia32_pcmpgtd128 lngt: 25 @6727 function_decl name: @6744 type: @6146 srcp: :0 chan: @6745 body: undefined link: extern @6728 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6746 @6729 const_decl name: @6747 type: @6728 srcp: curl.h:1301 chan: @6748 cnst: @1796 @6730 tree_list purp: @6731 valu: @6733 chan: @6749 @6731 identifier_node strg: CURLINFO_LASTSOCKET lngt: 19 @6732 const_decl name: @6750 type: @6137 srcp: curl.h:1631 chan: @6751 cnst: @6752 @6733 integer_cst type: @3 low : 2097181 @6734 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6753 @6735 const_decl name: @6754 type: @6734 srcp: multi.h:77 chan: @6755 cnst: @1796 @6736 identifier_node strg: libssh_version lngt: 14 @6737 tree_list purp: @6738 valu: @1834 chan: @6756 @6738 identifier_node strg: CURLCLOSEPOLICY_LEAST_RECENTLY_USED lngt: 35 @6739 const_decl name: @6757 type: @6674 srcp: curl.h:1651 chan: @6758 cnst: @1853 @6740 tree_list valu: @6678 chan: @6759 @6741 identifier_node strg: curl_multi_perform lngt: 18 @6742 function_type size: @12 algn: 8 retn: @6701 prms: @6760 @6743 function_decl name: @6761 type: @6762 srcp: multi.h:166 chan: @6763 body: undefined link: extern @6744 identifier_node strg: __builtin_ia32_pmaxub128 lngt: 24 @6745 function_decl name: @6764 type: @6167 srcp: :0 chan: @6765 body: undefined link: extern @6746 tree_list purp: @6747 valu: @1796 chan: @6766 @6747 identifier_node strg: CURL_TIMECOND_NONE lngt: 18 @6748 const_decl name: @6767 type: @6728 srcp: curl.h:1303 chan: @6768 cnst: @1817 @6749 tree_list purp: @6750 valu: @6752 chan: @6769 @6750 identifier_node strg: CURLINFO_FTP_ENTRY_PATH lngt: 23 @6751 const_decl name: @6770 type: @6137 srcp: curl.h:1632 chan: @6771 cnst: @6772 @6752 integer_cst type: @3 low : 1048606 @6753 tree_list purp: @6754 valu: @1796 chan: @6773 @6754 identifier_node strg: CURLMSG_NONE lngt: 12 @6755 const_decl name: @6774 type: @6734 srcp: multi.h:78 chan: @6775 cnst: @1817 @6756 tree_list purp: @6757 valu: @1853 chan: @6776 @6757 identifier_node strg: CURLCLOSEPOLICY_LEAST_TRAFFIC lngt: 29 @6758 const_decl name: @6777 type: @6674 srcp: curl.h:1652 chan: @6778 cnst: @1871 @6759 tree_list valu: @5275 chan: @6779 @6760 tree_list valu: @6678 chan: @6780 @6761 identifier_node strg: curl_multi_cleanup lngt: 18 @6762 function_type size: @12 algn: 8 retn: @6701 prms: @6781 @6763 function_decl name: @6782 type: @6783 srcp: multi.h:197 chan: @6784 body: undefined link: extern @6764 identifier_node strg: __builtin_ia32_pmaxsw128 lngt: 24 @6765 function_decl name: @6785 type: @6146 srcp: :0 chan: @6786 body: undefined link: extern @6766 tree_list purp: @6767 valu: @1817 chan: @6787 @6767 identifier_node strg: CURL_TIMECOND_IFMODSINCE lngt: 24 @6768 const_decl name: @6788 type: @6728 srcp: curl.h:1304 chan: @6789 cnst: @1834 @6769 tree_list purp: @6770 valu: @6772 chan: @6790 @6770 identifier_node strg: CURLINFO_REDIRECT_URL lngt: 21 @6771 const_decl name: @6791 type: @6137 srcp: curl.h:1633 chan: @6792 cnst: @6793 @6772 integer_cst type: @3 low : 1048607 @6773 tree_list purp: @6774 valu: @1817 chan: @6794 @6774 identifier_node strg: CURLMSG_DONE lngt: 12 @6775 const_decl name: @6795 type: @6734 srcp: multi.h:81 chan: @6796 cnst: @1834 @6776 tree_list purp: @6777 valu: @1871 chan: @6797 @6777 identifier_node strg: CURLCLOSEPOLICY_SLOWEST lngt: 23 @6778 const_decl name: @6798 type: @6674 srcp: curl.h:1653 chan: @6799 cnst: @1891 @6779 tree_list valu: @5275 chan: @6800 @6780 tree_list valu: @488 chan: @137 @6781 tree_list valu: @6678 chan: @137 @6782 identifier_node strg: curl_multi_info_read lngt: 20 @6783 function_type size: @12 algn: 8 retn: @6801 prms: @6802 @6784 function_decl name: @6803 type: @6804 srcp: multi.h:208 chan: @6805 body: undefined link: extern @6785 identifier_node strg: __builtin_ia32_pminub128 lngt: 24 @6786 function_decl name: @6806 type: @6167 srcp: :0 chan: @6807 body: undefined link: extern @6787 tree_list purp: @6788 valu: @1834 chan: @6808 @6788 identifier_node strg: CURL_TIMECOND_IFUNMODSINCE lngt: 26 @6789 const_decl name: @6809 type: @6728 srcp: curl.h:1305 chan: @6810 cnst: @1853 @6790 tree_list purp: @6791 valu: @6793 chan: @6811 @6791 identifier_node strg: CURLINFO_PRIMARY_IP lngt: 19 @6792 const_decl name: @6812 type: @6137 srcp: curl.h:1634 chan: @6813 cnst: @6814 @6793 integer_cst type: @3 low : 1048608 @6794 tree_list purp: @6795 valu: @1834 @6795 identifier_node strg: CURLMSG_LAST lngt: 12 @6796 type_decl name: @6815 type: @6816 srcp: multi.h:81 chan: @6817 @6797 tree_list purp: @6798 valu: @1891 chan: @6818 @6798 identifier_node strg: CURLCLOSEPOLICY_CALLBACK lngt: 24 @6799 const_decl name: @6819 type: @6674 srcp: curl.h:1656 chan: @6820 cnst: @1908 @6800 tree_list valu: @5275 chan: @6821 @6801 pointer_type size: @22 algn: 64 ptd : @6822 @6802 tree_list valu: @6678 chan: @6823 @6803 identifier_node strg: curl_multi_strerror lngt: 19 @6804 function_type size: @12 algn: 8 retn: @809 prms: @6824 @6805 function_decl name: @6825 type: @6826 srcp: multi.h:254 chan: @6827 body: undefined link: extern @6806 identifier_node strg: __builtin_ia32_pminsw128 lngt: 24 @6807 function_decl name: @6828 type: @6146 srcp: :0 chan: @6829 body: undefined link: extern @6808 tree_list purp: @6809 valu: @1853 chan: @6830 @6809 identifier_node strg: CURL_TIMECOND_LASTMOD lngt: 21 @6810 const_decl name: @6831 type: @6728 srcp: curl.h:1308 chan: @6832 cnst: @1871 @6811 tree_list purp: @6812 valu: @6814 chan: @6833 @6812 identifier_node strg: CURLINFO_APPCONNECT_TIME lngt: 24 @6813 const_decl name: @6834 type: @6137 srcp: curl.h:1635 chan: @6835 cnst: @6836 @6814 integer_cst type: @3 low : 3145761 @6815 identifier_node strg: CURLMSG lngt: 7 @6816 enumeral_type name: @6796 unql: @6734 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6753 @6817 type_decl type: @6837 srcp: multi.h:83 chan: @6838 @6818 tree_list purp: @6819 valu: @1908 @6819 identifier_node strg: CURLCLOSEPOLICY_LAST lngt: 20 @6820 type_decl name: @6839 type: @6840 srcp: curl.h:1656 chan: @6841 @6821 tree_list valu: @488 chan: @137 @6822 record_type name: @6842 unql: @6837 size: @121 algn: 64 tag : struct flds: @6843 @6823 tree_list valu: @488 chan: @137 @6824 tree_list valu: @6701 chan: @137 @6825 identifier_node strg: curl_multi_socket lngt: 17 @6826 function_type size: @12 algn: 8 retn: @6701 prms: @6844 @6827 function_decl name: @6845 type: @6846 srcp: multi.h:259 chan: @6847 body: undefined link: extern @6828 identifier_node strg: __builtin_ia32_punpckhbw128 lngt: 27 @6829 function_decl name: @6848 type: @6167 srcp: :0 chan: @6849 body: undefined link: extern @6830 tree_list purp: @6831 valu: @1871 @6831 identifier_node strg: CURL_TIMECOND_LAST lngt: 18 @6832 type_decl name: @6850 type: @6851 srcp: curl.h:1308 chan: @6852 @6833 tree_list purp: @6834 valu: @6836 chan: @6853 @6834 identifier_node strg: CURLINFO_CERTINFO lngt: 17 @6835 const_decl name: @6854 type: @6137 srcp: curl.h:1636 chan: @6855 cnst: @6856 @6836 integer_cst type: @3 low : 4194338 @6837 record_type name: @6857 size: @121 algn: 64 tag : struct flds: @6843 @6838 type_decl type: @6858 srcp: multi.h:86 chan: @6842 @6839 identifier_node strg: curl_closepolicy lngt: 16 @6840 enumeral_type name: @6820 unql: @6674 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6696 @6841 type_decl type: @6859 srcp: curl.h:1670 chan: @6860 @6842 type_decl name: @6857 type: @6822 srcp: multi.h:91 chan: @6861 @6843 field_decl name: @6862 type: @6816 scpe: @6837 srcp: multi.h:84 chan: @6863 size: @5 algn: 32 bpos: @20 @6844 tree_list valu: @6678 chan: @6864 @6845 identifier_node strg: curl_multi_socket_action lngt: 24 @6846 function_type size: @12 algn: 8 retn: @6701 prms: @6865 @6847 function_decl name: @6866 type: @6742 srcp: multi.h:262 chan: @6867 body: undefined link: extern @6848 identifier_node strg: __builtin_ia32_punpckhwd128 lngt: 27 @6849 function_decl name: @6868 type: @6190 srcp: :0 chan: @6869 body: undefined link: extern @6850 identifier_node strg: curl_TimeCond lngt: 13 @6851 enumeral_type name: @6832 unql: @6728 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6746 @6852 type_decl type: @6870 srcp: curl.h:1328 chan: @6871 @6853 tree_list purp: @6854 valu: @6856 chan: @6872 @6854 identifier_node strg: CURLINFO_CONDITION_UNMET lngt: 24 @6855 const_decl name: @6873 type: @6137 srcp: curl.h:1640 chan: @6634 cnst: @3827 @6856 integer_cst type: @3 low : 2097187 @6857 identifier_node strg: CURLMsg lngt: 7 @6858 union_type size: @22 algn: 64 tag : union flds: @6874 @6859 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6875 @6860 const_decl name: @6876 type: @6859 srcp: curl.h:1671 chan: @6877 cnst: @1796 @6861 type_decl name: @6878 type: @6879 srcp: multi.h:236 chan: @6880 @6862 identifier_node strg: msg lngt: 3 @6863 field_decl name: @6881 type: @3491 scpe: @6837 srcp: multi.h:85 chan: @6882 size: @22 algn: 64 bpos: @22 @6864 tree_list valu: @3249 chan: @6883 @6865 tree_list valu: @6678 chan: @6884 @6866 identifier_node strg: curl_multi_socket_all lngt: 21 @6867 function_decl name: @6885 type: @6886 srcp: multi.h:281 chan: @6887 body: undefined link: extern @6868 identifier_node strg: __builtin_ia32_punpckhdq128 lngt: 27 @6869 function_decl name: @6888 type: @6208 srcp: :0 chan: @6889 body: undefined link: extern @6870 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6890 @6871 const_decl name: @6891 type: @6870 srcp: curl.h:1329 chan: @6892 cnst: @1796 @6872 tree_list purp: @6873 valu: @3827 @6873 identifier_node strg: CURLINFO_LASTONE lngt: 16 @6874 field_decl name: @6893 type: @147 scpe: @6858 srcp: multi.h:87 chan: @6894 size: @22 algn: 64 bpos: @20 @6875 tree_list purp: @6876 valu: @1796 chan: @6895 @6876 identifier_node strg: CURL_LOCK_DATA_NONE lngt: 19 @6877 const_decl name: @6896 type: @6859 srcp: curl.h:1676 chan: @6897 cnst: @1817 @6878 identifier_node strg: curl_socket_callback lngt: 20 @6879 pointer_type name: @6861 unql: @6898 size: @22 algn: 64 ptd : @6899 @6880 type_decl name: @6900 type: @6901 srcp: multi.h:250 chan: @6902 @6881 identifier_node strg: easy_handle lngt: 11 @6882 field_decl name: @3278 type: @6858 scpe: @6837 srcp: multi.h:89 size: @22 algn: 64 bpos: @19 @6883 tree_list valu: @488 chan: @137 @6884 tree_list valu: @3249 chan: @6903 @6885 identifier_node strg: curl_multi_timeout lngt: 18 @6886 function_type size: @12 algn: 8 retn: @6701 prms: @6904 @6887 function_decl name: @6905 type: @6906 srcp: multi.h:327 chan: @6907 body: undefined link: extern @6888 identifier_node strg: __builtin_ia32_punpckhqdq128 lngt: 28 @6889 function_decl name: @6908 type: @6146 srcp: :0 chan: @6909 body: undefined link: extern @6890 tree_list purp: @6891 valu: @1796 chan: @6910 @6891 identifier_node strg: CURLFORM_NOTHING lngt: 16 @6892 const_decl name: @6911 type: @6870 srcp: curl.h:1332 chan: @6912 cnst: @1817 @6893 identifier_node strg: whatever lngt: 8 @6894 field_decl name: @6913 type: @4186 scpe: @6858 srcp: multi.h:88 size: @5 algn: 32 bpos: @20 @6895 tree_list purp: @6896 valu: @1817 chan: @6914 @6896 identifier_node strg: CURL_LOCK_DATA_SHARE lngt: 20 @6897 const_decl name: @6915 type: @6859 srcp: curl.h:1677 chan: @6916 cnst: @1834 @6898 pointer_type size: @22 algn: 64 ptd : @6899 @6899 function_type size: @12 algn: 8 retn: @3 prms: @6917 @6900 identifier_node strg: curl_multi_timer_callback lngt: 25 @6901 pointer_type name: @6880 unql: @6918 size: @22 algn: 64 ptd : @6919 @6902 type_decl type: @6920 srcp: multi.h:296 chan: @6921 @6903 tree_list valu: @3 chan: @6922 @6904 tree_list valu: @6678 chan: @6923 @6905 identifier_node strg: curl_multi_setopt lngt: 17 @6906 function_type size: @12 algn: 8 retn: @6701 prms: @6924 @6907 function_decl name: @6925 type: @6926 srcp: multi.h:340 chan: @6927 body: undefined link: extern @6908 identifier_node strg: __builtin_ia32_punpcklbw128 lngt: 27 @6909 function_decl name: @6928 type: @6167 srcp: :0 chan: @6929 body: undefined link: extern @6910 tree_list purp: @6911 valu: @1817 chan: @6930 @6911 identifier_node strg: CURLFORM_COPYNAME lngt: 17 @6912 const_decl name: @6931 type: @6870 srcp: curl.h:1333 chan: @6932 cnst: @1834 @6913 identifier_node strg: result lngt: 6 @6914 tree_list purp: @6915 valu: @1834 chan: @6933 @6915 identifier_node strg: CURL_LOCK_DATA_COOKIE lngt: 21 @6916 const_decl name: @6934 type: @6859 srcp: curl.h:1678 chan: @6935 cnst: @1853 @6917 tree_list valu: @3491 chan: @6936 @6918 pointer_type size: @22 algn: 64 ptd : @6919 @6919 function_type size: @12 algn: 8 retn: @3 prms: @6937 @6920 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6938 @6921 const_decl name: @6939 type: @6920 srcp: multi.h:298 chan: @6940 cnst: @6941 @6922 tree_list valu: @488 chan: @137 @6923 tree_list valu: @6942 chan: @137 @6924 tree_list valu: @6678 chan: @6943 @6925 identifier_node strg: curl_multi_assign lngt: 17 @6926 function_type size: @12 algn: 8 retn: @6701 prms: @6944 @6927 var_decl name: @6945 type: @6351 srcp: enum.c:3 chan: @6946 size: @5 algn: 32 used: 0 @6928 identifier_node strg: __builtin_ia32_punpcklwd128 lngt: 27 @6929 function_decl name: @6947 type: @6190 srcp: :0 chan: @6948 body: undefined link: extern @6930 tree_list purp: @6931 valu: @1834 chan: @6949 @6931 identifier_node strg: CURLFORM_PTRNAME lngt: 16 @6932 const_decl name: @6950 type: @6870 srcp: curl.h:1334 chan: @6951 cnst: @1853 @6933 tree_list purp: @6934 valu: @1853 chan: @6952 @6934 identifier_node strg: CURL_LOCK_DATA_DNS lngt: 18 @6935 const_decl name: @6953 type: @6859 srcp: curl.h:1679 chan: @6954 cnst: @1871 @6936 tree_list valu: @3249 chan: @6955 @6937 tree_list valu: @6678 chan: @6956 @6938 tree_list purp: @6939 valu: @6941 chan: @6957 @6939 identifier_node strg: CURLMOPT_SOCKETFUNCTION lngt: 23 @6940 const_decl name: @6958 type: @6920 srcp: multi.h:301 chan: @6959 cnst: @4445 @6941 integer_cst type: @3 low : 20001 @6942 pointer_type size: @22 algn: 64 ptd : @16 @6943 tree_list valu: @6960 @6944 tree_list valu: @6678 chan: @6961 @6945 identifier_node strg: opt lngt: 3 @6946 var_decl name: @6962 type: @6963 srcp: enum.c:4 size: @5 algn: 32 used: 0 @6947 identifier_node strg: __builtin_ia32_punpckldq128 lngt: 27 @6948 function_decl name: @6964 type: @6208 srcp: :0 chan: @6965 body: undefined link: extern @6949 tree_list purp: @6950 valu: @1853 chan: @6966 @6950 identifier_node strg: CURLFORM_NAMELENGTH lngt: 19 @6951 const_decl name: @6967 type: @6870 srcp: curl.h:1335 chan: @6968 cnst: @1871 @6952 tree_list purp: @6953 valu: @1871 chan: @6969 @6953 identifier_node strg: CURL_LOCK_DATA_SSL_SESSION lngt: 26 @6954 const_decl name: @6970 type: @6859 srcp: curl.h:1680 chan: @6971 cnst: @1891 @6955 tree_list valu: @3 chan: @6972 @6956 tree_list valu: @16 chan: @6973 @6957 tree_list purp: @6958 valu: @4445 chan: @6974 @6958 identifier_node strg: CURLMOPT_SOCKETDATA lngt: 19 @6959 const_decl name: @6975 type: @6920 srcp: multi.h:304 chan: @6976 cnst: @1853 @6960 enumeral_type name: @6977 unql: @6920 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6938 @6961 tree_list valu: @3249 chan: @6978 @6962 identifier_node strg: fopt lngt: 4 @6963 enumeral_type name: @6979 unql: @6870 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6890 @6964 identifier_node strg: __builtin_ia32_punpcklqdq128 lngt: 28 @6965 function_decl name: @6980 type: @6167 srcp: :0 chan: @6981 body: undefined link: extern @6966 tree_list purp: @6967 valu: @1871 chan: @6982 @6967 identifier_node strg: CURLFORM_COPYCONTENTS lngt: 21 @6968 const_decl name: @6983 type: @6870 srcp: curl.h:1336 chan: @6984 cnst: @1891 @6969 tree_list purp: @6970 valu: @1891 chan: @6985 @6970 identifier_node strg: CURL_LOCK_DATA_CONNECT lngt: 22 @6971 const_decl name: @6986 type: @6859 srcp: curl.h:1682 chan: @6987 cnst: @1908 @6972 tree_list valu: @147 chan: @6988 @6973 tree_list valu: @147 chan: @137 @6974 tree_list purp: @6975 valu: @1853 chan: @6989 @6975 identifier_node strg: CURLMOPT_PIPELINING lngt: 19 @6976 const_decl name: @6990 type: @6920 srcp: multi.h:307 chan: @6991 cnst: @6992 @6977 type_decl name: @6993 type: @6960 srcp: multi.h:316 @6978 tree_list valu: @147 chan: @137 @6979 type_decl name: @6994 type: @6963 srcp: curl.h:1356 chan: @6995 @6980 identifier_node strg: __builtin_ia32_packsswb128 lngt: 26 @6981 function_decl name: @6996 type: @6190 srcp: :0 chan: @6997 body: undefined link: extern @6982 tree_list purp: @6983 valu: @1891 chan: @6998 @6983 identifier_node strg: CURLFORM_PTRCONTENTS lngt: 20 @6984 const_decl name: @6999 type: @6870 srcp: curl.h:1337 chan: @7000 cnst: @1908 @6985 tree_list purp: @6986 valu: @1908 @6986 identifier_node strg: CURL_LOCK_DATA_LAST lngt: 19 @6987 type_decl name: @7001 type: @7002 srcp: curl.h:1682 chan: @7003 @6988 tree_list valu: @147 chan: @137 @6989 tree_list purp: @6990 valu: @6992 chan: @7004 @6990 identifier_node strg: CURLMOPT_TIMERFUNCTION lngt: 22 @6991 const_decl name: @7005 type: @6920 srcp: multi.h:310 chan: @7006 cnst: @4482 @6992 integer_cst type: @3 low : 20004 @6993 identifier_node strg: CURLMoption lngt: 11 @6994 identifier_node strg: CURLformoption lngt: 14 @6995 type_decl type: @7007 srcp: curl.h:1361 chan: @7008 @6996 identifier_node strg: __builtin_ia32_packssdw128 lngt: 26 @6997 function_decl name: @7009 type: @6167 srcp: :0 chan: @7010 body: undefined link: extern @6998 tree_list purp: @6999 valu: @1908 chan: @7011 @6999 identifier_node strg: CURLFORM_CONTENTSLENGTH lngt: 23 @7000 const_decl name: @7012 type: @6870 srcp: curl.h:1338 chan: @7013 cnst: @1924 @7001 identifier_node strg: curl_lock_data lngt: 14 @7002 enumeral_type name: @6987 unql: @6859 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @6875 @7003 type_decl type: @7014 srcp: curl.h:1685 chan: @7015 @7004 tree_list purp: @7005 valu: @4482 chan: @7016 @7005 identifier_node strg: CURLMOPT_TIMERDATA lngt: 18 @7006 const_decl name: @7017 type: @6920 srcp: multi.h:313 chan: @7018 cnst: @1908 @7007 record_type name: @7019 size: @19 algn: 64 tag : struct flds: @7020 @7008 type_decl type: @6076 srcp: curl.h:1382 chan: @7021 @7009 identifier_node strg: __builtin_ia32_packuswb128 lngt: 26 @7010 function_decl name: @7022 type: @6167 srcp: :0 chan: @7023 body: undefined link: extern @7011 tree_list purp: @7012 valu: @1924 chan: @7024 @7012 identifier_node strg: CURLFORM_FILECONTENT lngt: 20 @7013 const_decl name: @7025 type: @6870 srcp: curl.h:1339 chan: @7026 cnst: @1939 @7014 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @7027 @7015 const_decl name: @7028 type: @7014 srcp: curl.h:1686 chan: @7029 cnst: @1796 @7016 tree_list purp: @7017 valu: @1908 chan: @7030 @7017 identifier_node strg: CURLMOPT_MAXCONNECTS lngt: 20 @7018 const_decl name: @7031 type: @6920 srcp: multi.h:316 chan: @6977 cnst: @1924 @7019 identifier_node strg: curl_forms lngt: 10 @7020 field_decl name: @7032 type: @6963 scpe: @7007 srcp: curl.h:1362 chan: @7033 size: @5 algn: 32 bpos: @20 @7021 const_decl name: @6092 type: @6076 srcp: curl.h:1383 chan: @7034 cnst: @1796 @7022 identifier_node strg: __builtin_ia32_pmulhuw128 lngt: 25 @7023 function_decl name: @7035 type: @2836 srcp: :0 chan: @7036 body: undefined link: extern @7024 tree_list purp: @7025 valu: @1939 chan: @7037 @7025 identifier_node strg: CURLFORM_ARRAY lngt: 14 @7026 const_decl name: @7038 type: @6870 srcp: curl.h:1340 chan: @7039 cnst: @1957 @7027 tree_list purp: @7028 valu: @1796 chan: @7040 @7028 identifier_node strg: CURL_LOCK_ACCESS_NONE lngt: 21 @7029 const_decl name: @7041 type: @7014 srcp: curl.h:1687 chan: @7042 cnst: @1817 @7030 tree_list purp: @7031 valu: @1924 @7031 identifier_node strg: CURLMOPT_LASTENTRY lngt: 18 @7032 identifier_node strg: option lngt: 6 @7033 field_decl name: @7043 type: @809 scpe: @7007 srcp: curl.h:1363 size: @22 algn: 64 bpos: @22 @7034 const_decl name: @6107 type: @6076 srcp: curl.h:1385 chan: @7044 cnst: @1817 @7035 identifier_node strg: __builtin_ia32_emms lngt: 19 @7036 function_decl name: @7045 type: @7046 srcp: :0 chan: @7047 body: undefined link: extern @7037 tree_list purp: @7038 valu: @1957 chan: @7048 @7038 identifier_node strg: CURLFORM_OBSOLETE lngt: 17 @7039 const_decl name: @7049 type: @6870 srcp: curl.h:1341 chan: @7050 cnst: @2932 @7040 tree_list purp: @7041 valu: @1817 chan: @7051 @7041 identifier_node strg: CURL_LOCK_ACCESS_SHARED lngt: 23 @7042 const_decl name: @7052 type: @7014 srcp: curl.h:1688 chan: @7053 cnst: @1834 @7043 identifier_node strg: value lngt: 5 @7044 const_decl name: @6123 type: @6076 srcp: curl.h:1386 chan: @7054 cnst: @1834 @7045 identifier_node strg: __builtin_ia32_psllw lngt: 20 @7046 function_type size: @12 algn: 8 retn: @5158 prms: @7055 @7047 function_decl name: @7056 type: @7057 srcp: :0 chan: @7058 body: undefined link: extern @7048 tree_list purp: @7049 valu: @2932 chan: @7059 @7049 identifier_node strg: CURLFORM_FILE lngt: 13 @7050 const_decl name: @7060 type: @6870 srcp: curl.h:1343 chan: @7061 cnst: @3650 @7051 tree_list purp: @7052 valu: @1834 chan: @7062 @7052 identifier_node strg: CURL_LOCK_ACCESS_SINGLE lngt: 23 @7053 const_decl name: @7063 type: @7014 srcp: curl.h:1690 chan: @7064 cnst: @1853 @7054 const_decl name: @6139 type: @6076 srcp: curl.h:1387 chan: @7065 cnst: @1853 @7055 tree_list valu: @5158 chan: @7066 @7056 identifier_node strg: __builtin_ia32_pslld lngt: 20 @7057 function_type size: @12 algn: 8 retn: @5170 prms: @7067 @7058 function_decl name: @7068 type: @5173 srcp: :0 chan: @7069 body: undefined link: extern @7059 tree_list purp: @7060 valu: @3650 chan: @7070 @7060 identifier_node strg: CURLFORM_BUFFER lngt: 15 @7061 const_decl name: @7071 type: @6870 srcp: curl.h:1344 chan: @7072 cnst: @3656 @7062 tree_list purp: @7063 valu: @1853 @7063 identifier_node strg: CURL_LOCK_ACCESS_LAST lngt: 21 @7064 type_decl name: @7073 type: @7074 srcp: curl.h:1690 chan: @7075 @7065 const_decl name: @6158 type: @6076 srcp: curl.h:1388 chan: @7076 cnst: @1871 @7066 tree_list valu: @41 chan: @137 @7067 tree_list valu: @5170 chan: @7077 @7068 identifier_node strg: __builtin_ia32_psllq lngt: 20 @7069 function_decl name: @7078 type: @7046 srcp: :0 chan: @7079 body: undefined link: extern @7070 tree_list purp: @7071 valu: @3656 chan: @7080 @7071 identifier_node strg: CURLFORM_BUFFERPTR lngt: 18 @7072 const_decl name: @7081 type: @6870 srcp: curl.h:1345 chan: @7082 cnst: @3663 @7073 identifier_node strg: curl_lock_access lngt: 16 @7074 enumeral_type name: @7064 unql: @7014 size: @5 algn: 32 prec: 32 sign: unsigned min : @28 max : @29 csts: @7027 @7075 type_decl name: @7083 type: @7084 srcp: curl.h:1695 chan: @7085 @7076 const_decl name: @6180 type: @6076 srcp: curl.h:1389 chan: @7086 cnst: @1891 @7077 tree_list valu: @41 chan: @137 @7078 identifier_node strg: __builtin_ia32_psrlw lngt: 20 @7079 function_decl name: @7087 type: @7057 srcp: :0 chan: @7088 body: undefined link: extern @7080 tree_list purp: @7081 valu: @3663 chan: @7089 @7081 identifier_node strg: CURLFORM_BUFFERLENGTH lngt: 21 @7082 const_decl name: @7090 type: @6870 srcp: curl.h:1347 chan: @7091 cnst: @3672 @7083 identifier_node strg: curl_lock_function lngt: 18 @7084 pointer_type name: @7075 unql: @7092 size: @22 algn: 64 ptd : @7093 @7085 type_decl name: @7094 type: @7095 srcp: curl.h:1698 chan: @6357 @7086 const_decl name: @6200 type: @6076 srcp: curl.h:1390 chan: @7096 cnst: @1908 @7087 identifier_node strg: __builtin_ia32_psrld lngt: 20 @7088 function_decl name: @7097 type: @5173 srcp: :0 chan: @7098 body: undefined link: extern @7089 tree_list purp: @7090 valu: @3672 chan: @7099 @7090 identifier_node strg: CURLFORM_CONTENTTYPE lngt: 20 @7091 const_decl name: @7100 type: @6870 srcp: curl.h:1348 chan: @7101 cnst: @3678 @7092 pointer_type size: @22 algn: 64 ptd : @7093 @7093 function_type size: @12 algn: 8 retn: @115 prms: @7102 @7094 identifier_node strg: curl_unlock_function lngt: 20 @7095 pointer_type name: @7085 unql: @7103 size: @22 algn: 64 ptd : @7104 @7096 const_decl name: @6218 type: @6076 srcp: curl.h:1391 chan: @7105 cnst: @1924 @7097 identifier_node strg: __builtin_ia32_psrlq lngt: 20 @7098 function_decl name: @7106 type: @7046 srcp: :0 chan: @7107 body: undefined link: extern @7099 tree_list purp: @7100 valu: @3678 chan: @7108 @7100 identifier_node strg: CURLFORM_CONTENTHEADER lngt: 22 @7101 const_decl name: @7109 type: @6870 srcp: curl.h:1349 chan: @7110 cnst: @3001 @7102 tree_list valu: @3491 chan: @7111 @7103 pointer_type size: @22 algn: 64 ptd : @7104 @7104 function_type size: @12 algn: 8 retn: @115 prms: @7112 @7105 const_decl name: @6236 type: @6076 srcp: curl.h:1394 chan: @6075 cnst: @1939 @7106 identifier_node strg: __builtin_ia32_psraw lngt: 20 @7107 function_decl name: @7113 type: @7057 srcp: :0 chan: @7114 body: undefined link: extern @7108 tree_list purp: @7109 valu: @3001 chan: @7115 @7109 identifier_node strg: CURLFORM_FILENAME lngt: 17 @7110 const_decl name: @7116 type: @6870 srcp: curl.h:1350 chan: @7117 cnst: @3694 @7111 tree_list valu: @7002 chan: @7118 @7112 tree_list valu: @3491 chan: @7119 @7113 identifier_node strg: __builtin_ia32_psrad lngt: 20 @7114 function_decl name: @7120 type: @7121 srcp: :0 chan: @7122 body: undefined link: extern @7115 tree_list purp: @7116 valu: @3694 chan: @7123 @7116 identifier_node strg: CURLFORM_END lngt: 12 @7117 const_decl name: @7124 type: @6870 srcp: curl.h:1351 chan: @7125 cnst: @3702 @7118 tree_list valu: @7074 chan: @7126 @7119 tree_list valu: @7002 chan: @7127 @7120 identifier_node strg: __builtin_ia32_pshufw lngt: 21 @7121 function_type size: @12 algn: 8 retn: @5158 prms: @7128 @7122 function_decl name: @7129 type: @7130 srcp: :0 chan: @7131 body: undefined link: extern @7123 tree_list purp: @7124 valu: @3702 chan: @7132 @7124 identifier_node strg: CURLFORM_OBSOLETE2 lngt: 18 @7125 const_decl name: @7133 type: @6870 srcp: curl.h:1353 chan: @7134 cnst: @3711 @7126 tree_list valu: @147 chan: @137 @7127 tree_list valu: @147 chan: @137 @7128 tree_list valu: @5158 chan: @7135 @7129 identifier_node strg: __builtin_ia32_pmaddwd lngt: 22 @7130 function_type size: @12 algn: 8 retn: @5170 prms: @7136 @7131 function_decl name: @7137 type: @7138 srcp: :0 chan: @7139 body: undefined link: extern @7132 tree_list purp: @7133 valu: @3711 chan: @7140 @7133 identifier_node strg: CURLFORM_STREAM lngt: 15 @7134 const_decl name: @7141 type: @6870 srcp: curl.h:1356 chan: @6979 cnst: @3719 @7135 tree_list valu: @3 chan: @137 @7136 tree_list valu: @5158 chan: @7142 @7137 identifier_node strg: __builtin_ia32_comieq lngt: 21 @7138 function_type size: @12 algn: 8 retn: @3 prms: @7143 @7139 function_decl name: @7144 type: @7138 srcp: :0 chan: @7145 body: undefined link: extern @7140 tree_list purp: @7141 valu: @3719 @7141 identifier_node strg: CURLFORM_LASTENTRY lngt: 18 @7142 tree_list valu: @5158 chan: @137 @7143 tree_list valu: @4762 chan: @7146 @7144 identifier_node strg: __builtin_ia32_comilt lngt: 21 @7145 function_decl name: @7147 type: @7138 srcp: :0 chan: @7148 body: undefined link: extern @7146 tree_list valu: @4762 chan: @137 @7147 identifier_node strg: __builtin_ia32_comile lngt: 21 @7148 function_decl name: @7149 type: @7138 srcp: :0 chan: @7150 body: undefined link: extern @7149 identifier_node strg: __builtin_ia32_comigt lngt: 21 @7150 function_decl name: @7151 type: @7138 srcp: :0 chan: @7152 body: undefined link: extern @7151 identifier_node strg: __builtin_ia32_comige lngt: 21 @7152 function_decl name: @7153 type: @7138 srcp: :0 chan: @7154 body: undefined link: extern @7153 identifier_node strg: __builtin_ia32_comineq lngt: 22 @7154 function_decl name: @7155 type: @7138 srcp: :0 chan: @7156 body: undefined link: extern @7155 identifier_node strg: __builtin_ia32_ucomieq lngt: 22 @7156 function_decl name: @7157 type: @7138 srcp: :0 chan: @7158 body: undefined link: extern @7157 identifier_node strg: __builtin_ia32_ucomilt lngt: 22 @7158 function_decl name: @7159 type: @7138 srcp: :0 chan: @7160 body: undefined link: extern @7159 identifier_node strg: __builtin_ia32_ucomile lngt: 22 @7160 function_decl name: @7161 type: @7138 srcp: :0 chan: @7162 body: undefined link: extern @7161 identifier_node strg: __builtin_ia32_ucomigt lngt: 22 @7162 function_decl name: @7163 type: @7138 srcp: :0 chan: @7164 body: undefined link: extern @7163 identifier_node strg: __builtin_ia32_ucomige lngt: 22 @7164 function_decl name: @7165 type: @7138 srcp: :0 chan: @7166 body: undefined link: extern @7165 identifier_node strg: __builtin_ia32_ucomineq lngt: 23 @7166 function_decl name: @7167 type: @7168 srcp: :0 chan: @7169 body: undefined link: extern @7167 identifier_node strg: __builtin_ia32_comisdeq lngt: 23 @7168 function_type size: @12 algn: 8 retn: @3 prms: @7170 @7169 function_decl name: @7171 type: @7168 srcp: :0 chan: @7172 body: undefined link: extern @7170 tree_list valu: @5666 chan: @7173 @7171 identifier_node strg: __builtin_ia32_comisdlt lngt: 23 @7172 function_decl name: @7174 type: @7168 srcp: :0 chan: @7175 body: undefined link: extern @7173 tree_list valu: @5666 chan: @137 @7174 identifier_node strg: __builtin_ia32_comisdle lngt: 23 @7175 function_decl name: @7176 type: @7168 srcp: :0 chan: @7177 body: undefined link: extern @7176 identifier_node strg: __builtin_ia32_comisdgt lngt: 23 @7177 function_decl name: @7178 type: @7168 srcp: :0 chan: @7179 body: undefined link: extern @7178 identifier_node strg: __builtin_ia32_comisdge lngt: 23 @7179 function_decl name: @7180 type: @7168 srcp: :0 chan: @7181 body: undefined link: extern @7180 identifier_node strg: __builtin_ia32_comisdneq lngt: 24 @7181 function_decl name: @7182 type: @7168 srcp: :0 chan: @7183 body: undefined link: extern @7182 identifier_node strg: __builtin_ia32_ucomisdeq lngt: 24 @7183 function_decl name: @7184 type: @7168 srcp: :0 chan: @7185 body: undefined link: extern @7184 identifier_node strg: __builtin_ia32_ucomisdlt lngt: 24 @7185 function_decl name: @7186 type: @7168 srcp: :0 chan: @7187 body: undefined link: extern @7186 identifier_node strg: __builtin_ia32_ucomisdle lngt: 24 @7187 function_decl name: @7188 type: @7168 srcp: :0 chan: @7189 body: undefined link: extern @7188 identifier_node strg: __builtin_ia32_ucomisdgt lngt: 24 @7189 function_decl name: @7190 type: @7168 srcp: :0 chan: @7191 body: undefined link: extern @7190 identifier_node strg: __builtin_ia32_ucomisdge lngt: 24 @7191 function_decl name: @7192 type: @7168 srcp: :0 chan: @7193 body: undefined link: extern @7192 identifier_node strg: __builtin_ia32_ucomisdneq lngt: 25 @7193 function_decl name: @7194 type: @7195 srcp: :0 chan: @7196 body: undefined link: extern @7194 identifier_node strg: __builtin_ia32_packsswb lngt: 23 @7195 function_type size: @12 algn: 8 retn: @5146 prms: @7197 @7196 function_decl name: @7198 type: @7199 srcp: :0 chan: @7200 body: undefined link: extern @7197 tree_list valu: @5158 chan: @7201 @7198 identifier_node strg: __builtin_ia32_packssdw lngt: 23 @7199 function_type size: @12 algn: 8 retn: @5158 prms: @7202 @7200 function_decl name: @7203 type: @7195 srcp: :0 chan: @7204 body: undefined link: extern @7201 tree_list valu: @5158 chan: @137 @7202 tree_list valu: @5170 chan: @7205 @7203 identifier_node strg: __builtin_ia32_packuswb lngt: 23 @7204 function_decl name: @7206 type: @7207 srcp: :0 chan: @7208 body: undefined link: extern @7205 tree_list valu: @5170 chan: @137 @7206 identifier_node strg: __builtin_ia32_ldmxcsr lngt: 22 @7207 function_type size: @12 algn: 8 retn: @115 prms: @7209 @7208 function_decl name: @7210 type: @3051 srcp: :0 chan: @7211 body: undefined link: extern @7209 tree_list valu: @26 chan: @137 @7210 identifier_node strg: __builtin_ia32_stmxcsr lngt: 22 @7211 function_decl name: @7212 type: @7213 srcp: :0 chan: @7214 body: undefined link: extern @7212 identifier_node strg: __builtin_ia32_cvtpi2ps lngt: 23 @7213 function_type size: @12 algn: 8 retn: @4762 prms: @7215 @7214 function_decl name: @7216 type: @7217 srcp: :0 chan: @7218 body: undefined link: extern @7215 tree_list valu: @4762 chan: @7219 @7216 identifier_node strg: __builtin_ia32_cvtps2pi lngt: 23 @7217 function_type size: @12 algn: 8 retn: @5170 prms: @7220 @7218 function_decl name: @7221 type: @7222 srcp: :0 chan: @7223 body: undefined link: extern @7219 tree_list valu: @5170 chan: @137 @7220 tree_list valu: @4762 chan: @137 @7221 identifier_node strg: __builtin_ia32_cvtsi2ss lngt: 23 @7222 function_type size: @12 algn: 8 retn: @4762 prms: @7224 @7223 function_decl name: @7225 type: @7226 srcp: :0 chan: @7227 body: undefined link: extern @7224 tree_list valu: @4762 chan: @7228 @7225 identifier_node strg: __builtin_ia32_cvtsi642ss lngt: 25 @7226 function_type size: @12 algn: 8 retn: @4762 prms: @7229 @7227 function_decl name: @7230 type: @7231 srcp: :0 chan: @7232 body: undefined link: extern @7228 tree_list valu: @3 chan: @137 @7229 tree_list valu: @4762 chan: @7233 @7230 identifier_node strg: __builtin_ia32_cvtss2si lngt: 23 @7231 function_type size: @12 algn: 8 retn: @3 prms: @7234 @7232 function_decl name: @7235 type: @7236 srcp: :0 chan: @7237 body: undefined link: extern @7233 tree_list valu: @36 chan: @137 @7234 tree_list valu: @4762 chan: @137 @7235 identifier_node strg: __builtin_ia32_cvtss2si64 lngt: 25 @7236 function_type size: @12 algn: 8 retn: @36 prms: @7238 @7237 function_decl name: @7239 type: @7217 srcp: :0 chan: @7240 body: undefined link: extern @7238 tree_list valu: @4762 chan: @137 @7239 identifier_node strg: __builtin_ia32_cvttps2pi lngt: 24 @7240 function_decl name: @7241 type: @7231 srcp: :0 chan: @7242 body: undefined link: extern @7241 identifier_node strg: __builtin_ia32_cvttss2si lngt: 24 @7242 function_decl name: @7243 type: @7236 srcp: :0 chan: @7244 body: undefined link: extern @7243 identifier_node strg: __builtin_ia32_cvttss2si64 lngt: 26 @7244 function_decl name: @7245 type: @7246 srcp: :0 chan: @7247 body: undefined link: extern @7245 identifier_node strg: __builtin_ia32_maskmovq lngt: 23 @7246 function_type size: @12 algn: 8 retn: @115 prms: @7248 @7247 function_decl name: @7249 type: @7250 srcp: :0 chan: @7251 body: undefined link: extern @7248 tree_list valu: @5146 chan: @7252 @7249 identifier_node strg: __builtin_ia32_loadups lngt: 22 @7250 function_type size: @12 algn: 8 retn: @4762 prms: @7253 @7251 function_decl name: @7254 type: @7255 srcp: :0 chan: @7256 body: undefined link: extern @7252 tree_list valu: @5146 chan: @7257 @7253 tree_list valu: @7258 chan: @137 @7254 identifier_node strg: __builtin_ia32_storeups lngt: 23 @7255 function_type size: @12 algn: 8 retn: @115 prms: @7259 @7256 function_decl name: @7260 type: @7261 srcp: :0 chan: @7262 body: undefined link: extern @7257 tree_list valu: @1493 chan: @137 @7258 pointer_type size: @22 algn: 64 ptd : @7263 @7259 tree_list valu: @797 chan: @7264 @7260 identifier_node strg: __builtin_ia32_loadhps lngt: 22 @7261 function_type size: @12 algn: 8 retn: @4762 prms: @7265 @7262 function_decl name: @7266 type: @7261 srcp: :0 chan: @7267 body: undefined link: extern @7263 real_type qual: c name: @89 unql: @93 size: @5 algn: 32 prec: 32 @7264 tree_list valu: @4762 chan: @137 @7265 tree_list valu: @4762 chan: @7268 @7266 identifier_node strg: __builtin_ia32_loadlps lngt: 22 @7267 function_decl name: @7269 type: @7270 srcp: :0 chan: @7271 body: undefined link: extern @7268 tree_list valu: @7272 chan: @137 @7269 identifier_node strg: __builtin_ia32_storehps lngt: 23 @7270 function_type size: @12 algn: 8 retn: @115 prms: @7273 @7271 function_decl name: @7274 type: @7270 srcp: :0 chan: @7275 body: undefined link: extern @7272 pointer_type size: @22 algn: 64 ptd : @5170 @7273 tree_list valu: @7272 chan: @7276 @7274 identifier_node strg: __builtin_ia32_storelps lngt: 23 @7275 function_decl name: @7277 type: @7231 srcp: :0 chan: @7278 body: undefined link: extern @7276 tree_list valu: @4762 chan: @137 @7277 identifier_node strg: __builtin_ia32_movmskps lngt: 23 @7278 function_decl name: @7279 type: @7280 srcp: :0 chan: @7281 body: undefined link: extern @7279 identifier_node strg: __builtin_ia32_pmovmskb lngt: 23 @7280 function_type size: @12 algn: 8 retn: @3 prms: @7282 @7281 function_decl name: @7283 type: @7255 srcp: :0 chan: @7284 body: undefined link: extern @7282 tree_list valu: @5146 chan: @137 @7283 identifier_node strg: __builtin_ia32_movntps lngt: 22 @7284 function_decl name: @7285 type: @7286 srcp: :0 chan: @7287 body: undefined link: extern @7285 identifier_node strg: __builtin_ia32_movntq lngt: 21 @7286 function_type size: @12 algn: 8 retn: @115 prms: @7288 @7287 function_decl name: @7289 type: @2836 srcp: :0 chan: @7290 body: undefined link: extern @7288 tree_list valu: @7291 chan: @7292 @7289 identifier_node strg: __builtin_ia32_sfence lngt: 21 @7290 function_decl name: @7293 type: @7294 srcp: :0 chan: @7295 body: undefined link: extern @7291 pointer_type size: @22 algn: 64 ptd : @41 @7292 tree_list valu: @41 chan: @137 @7293 identifier_node strg: __builtin_ia32_psadbw lngt: 21 @7294 function_type size: @12 algn: 8 retn: @41 prms: @7296 @7295 function_decl name: @7297 type: @7298 srcp: :0 chan: @7299 body: undefined link: extern @7296 tree_list valu: @5146 chan: @7300 @7297 identifier_node strg: __builtin_ia32_rcpps lngt: 20 @7298 function_type size: @12 algn: 8 retn: @4762 prms: @7301 @7299 function_decl name: @7302 type: @7298 srcp: :0 chan: @7303 body: undefined link: extern @7300 tree_list valu: @5146 chan: @137 @7301 tree_list valu: @4762 chan: @137 @7302 identifier_node strg: __builtin_ia32_rcpss lngt: 20 @7303 function_decl name: @7304 type: @7298 srcp: :0 chan: @7305 body: undefined link: extern @7304 identifier_node strg: __builtin_ia32_rsqrtps lngt: 22 @7305 function_decl name: @7306 type: @7298 srcp: :0 chan: @7307 body: undefined link: extern @7306 identifier_node strg: __builtin_ia32_rsqrtss lngt: 22 @7307 function_decl name: @7308 type: @7298 srcp: :0 chan: @7309 body: undefined link: extern @7308 identifier_node strg: __builtin_ia32_sqrtps lngt: 21 @7309 function_decl name: @7310 type: @7298 srcp: :0 chan: @7311 body: undefined link: extern @7310 identifier_node strg: __builtin_ia32_sqrtss lngt: 21 @7311 function_decl name: @7312 type: @7313 srcp: :0 chan: @7314 body: undefined link: extern @7312 identifier_node strg: __builtin_ia32_shufps lngt: 21 @7313 function_type size: @12 algn: 8 retn: @4762 prms: @7315 @7314 function_decl name: @7316 type: @7317 srcp: :0 chan: @7318 body: undefined link: extern @7315 tree_list valu: @4762 chan: @7319 @7316 identifier_node strg: __builtin_ia32_maskmovdqu lngt: 25 @7317 function_type size: @12 algn: 8 retn: @115 prms: @7320 @7318 function_decl name: @7321 type: @7322 srcp: :0 chan: @7323 body: undefined link: extern @7319 tree_list valu: @4762 chan: @7324 @7320 tree_list valu: @6164 chan: @7325 @7321 identifier_node strg: __builtin_ia32_loadupd lngt: 22 @7322 function_type size: @12 algn: 8 retn: @5666 prms: @7326 @7323 function_decl name: @7327 type: @7328 srcp: :0 chan: @7329 body: undefined link: extern @7324 tree_list valu: @3 chan: @137 @7325 tree_list valu: @6164 chan: @7330 @7326 tree_list valu: @7331 chan: @137 @7327 identifier_node strg: __builtin_ia32_storeupd lngt: 23 @7328 function_type size: @12 algn: 8 retn: @115 prms: @7332 @7329 function_decl name: @7333 type: @7334 srcp: :0 chan: @7335 body: undefined link: extern @7330 tree_list valu: @1493 chan: @137 @7331 pointer_type size: @22 algn: 64 ptd : @7336 @7332 tree_list valu: @789 chan: @7337 @7333 identifier_node strg: __builtin_ia32_loadhpd lngt: 22 @7334 function_type size: @12 algn: 8 retn: @5666 prms: @7338 @7335 function_decl name: @7339 type: @7334 srcp: :0 chan: @7340 body: undefined link: extern @7336 real_type qual: c name: @94 unql: @96 size: @22 algn: 64 prec: 64 @7337 tree_list valu: @5666 chan: @137 @7338 tree_list valu: @5666 chan: @7341 @7339 identifier_node strg: __builtin_ia32_loadlpd lngt: 22 @7340 function_decl name: @7342 type: @7343 srcp: :0 chan: @7344 body: undefined link: extern @7341 tree_list valu: @7331 chan: @137 @7342 identifier_node strg: __builtin_ia32_movmskpd lngt: 23 @7343 function_type size: @12 algn: 8 retn: @3 prms: @7345 @7344 function_decl name: @7346 type: @7347 srcp: :0 chan: @7348 body: undefined link: extern @7345 tree_list valu: @5666 chan: @137 @7346 identifier_node strg: __builtin_ia32_pmovmskb128 lngt: 26 @7347 function_type size: @12 algn: 8 retn: @3 prms: @7349 @7348 function_decl name: @7350 type: @7351 srcp: :0 chan: @7352 body: undefined link: extern @7349 tree_list valu: @6164 chan: @137 @7350 identifier_node strg: __builtin_ia32_movnti lngt: 21 @7351 function_type size: @12 algn: 8 retn: @115 prms: @7353 @7352 function_decl name: @7354 type: @7328 srcp: :0 chan: @7355 body: undefined link: extern @7353 tree_list valu: @488 chan: @7356 @7354 identifier_node strg: __builtin_ia32_movntpd lngt: 22 @7355 function_decl name: @7357 type: @7358 srcp: :0 chan: @7359 body: undefined link: extern @7356 tree_list valu: @3 chan: @137 @7357 identifier_node strg: __builtin_ia32_movntdq lngt: 22 @7358 function_type size: @12 algn: 8 retn: @115 prms: @7360 @7359 function_decl name: @7361 type: @7362 srcp: :0 chan: @7363 body: undefined link: extern @7360 tree_list valu: @7364 chan: @7365 @7361 identifier_node strg: __builtin_ia32_pshufd lngt: 21 @7362 function_type size: @12 algn: 8 retn: @4841 prms: @7366 @7363 function_decl name: @7367 type: @7368 srcp: :0 chan: @7369 body: undefined link: extern @7364 pointer_type size: @22 algn: 64 ptd : @5767 @7365 tree_list valu: @5767 chan: @137 @7366 tree_list valu: @4841 chan: @7370 @7367 identifier_node strg: __builtin_ia32_pshuflw lngt: 22 @7368 function_type size: @12 algn: 8 retn: @6187 prms: @7371 @7369 function_decl name: @7372 type: @7368 srcp: :0 chan: @7373 body: undefined link: extern @7370 tree_list valu: @3 chan: @137 @7371 tree_list valu: @6187 chan: @7374 @7372 identifier_node strg: __builtin_ia32_pshufhw lngt: 22 @7373 function_decl name: @7375 type: @7376 srcp: :0 chan: @7377 body: undefined link: extern @7374 tree_list valu: @3 chan: @137 @7375 identifier_node strg: __builtin_ia32_psadbw128 lngt: 24 @7376 function_type size: @12 algn: 8 retn: @5767 prms: @7378 @7377 function_decl name: @7379 type: @7380 srcp: :0 chan: @7381 body: undefined link: extern @7378 tree_list valu: @6164 chan: @7382 @7379 identifier_node strg: __builtin_ia32_sqrtpd lngt: 21 @7380 function_type size: @12 algn: 8 retn: @5666 prms: @7383 @7381 function_decl name: @7384 type: @7380 srcp: :0 chan: @7385 body: undefined link: extern @7382 tree_list valu: @6164 chan: @137 @7383 tree_list valu: @5666 chan: @137 @7384 identifier_node strg: __builtin_ia32_sqrtsd lngt: 21 @7385 function_decl name: @7386 type: @7387 srcp: :0 chan: @7388 body: undefined link: extern @7386 identifier_node strg: __builtin_ia32_shufpd lngt: 21 @7387 function_type size: @12 algn: 8 retn: @5666 prms: @7389 @7388 function_decl name: @7390 type: @7391 srcp: :0 chan: @7392 body: undefined link: extern @7389 tree_list valu: @5666 chan: @7393 @7390 identifier_node strg: __builtin_ia32_cvtdq2pd lngt: 23 @7391 function_type size: @12 algn: 8 retn: @5666 prms: @7394 @7392 function_decl name: @7395 type: @7396 srcp: :0 chan: @7397 body: undefined link: extern @7393 tree_list valu: @5666 chan: @7398 @7394 tree_list valu: @4841 chan: @137 @7395 identifier_node strg: __builtin_ia32_cvtdq2ps lngt: 23 @7396 function_type size: @12 algn: 8 retn: @4762 prms: @7399 @7397 function_decl name: @7400 type: @7401 srcp: :0 chan: @7402 body: undefined link: extern @7398 tree_list valu: @3 chan: @137 @7399 tree_list valu: @4841 chan: @137 @7400 identifier_node strg: __builtin_ia32_cvtpd2dq lngt: 23 @7401 function_type size: @12 algn: 8 retn: @4841 prms: @7403 @7402 function_decl name: @7404 type: @7405 srcp: :0 chan: @7406 body: undefined link: extern @7403 tree_list valu: @5666 chan: @137 @7404 identifier_node strg: __builtin_ia32_cvtpd2pi lngt: 23 @7405 function_type size: @12 algn: 8 retn: @5170 prms: @7407 @7406 function_decl name: @7408 type: @7409 srcp: :0 chan: @7410 body: undefined link: extern @7407 tree_list valu: @5666 chan: @137 @7408 identifier_node strg: __builtin_ia32_cvtpd2ps lngt: 23 @7409 function_type size: @12 algn: 8 retn: @4762 prms: @7411 @7410 function_decl name: @7412 type: @7401 srcp: :0 chan: @7413 body: undefined link: extern @7411 tree_list valu: @5666 chan: @137 @7412 identifier_node strg: __builtin_ia32_cvttpd2dq lngt: 24 @7413 function_decl name: @7414 type: @7405 srcp: :0 chan: @7415 body: undefined link: extern @7414 identifier_node strg: __builtin_ia32_cvttpd2pi lngt: 24 @7415 function_decl name: @7416 type: @7417 srcp: :0 chan: @7418 body: undefined link: extern @7416 identifier_node strg: __builtin_ia32_cvtpi2pd lngt: 23 @7417 function_type size: @12 algn: 8 retn: @5666 prms: @7419 @7418 function_decl name: @7420 type: @7343 srcp: :0 chan: @7421 body: undefined link: extern @7419 tree_list valu: @5170 chan: @137 @7420 identifier_node strg: __builtin_ia32_cvtsd2si lngt: 23 @7421 function_decl name: @7422 type: @7343 srcp: :0 chan: @7423 body: undefined link: extern @7422 identifier_node strg: __builtin_ia32_cvttsd2si lngt: 24 @7423 function_decl name: @7424 type: @7425 srcp: :0 chan: @7426 body: undefined link: extern @7424 identifier_node strg: __builtin_ia32_cvtsd2si64 lngt: 25 @7425 function_type size: @12 algn: 8 retn: @36 prms: @7427 @7426 function_decl name: @7428 type: @7425 srcp: :0 chan: @7429 body: undefined link: extern @7427 tree_list valu: @5666 chan: @137 @7428 identifier_node strg: __builtin_ia32_cvttsd2si64 lngt: 26 @7429 function_decl name: @7430 type: @7431 srcp: :0 chan: @7432 body: undefined link: extern @7430 identifier_node strg: __builtin_ia32_cvtps2dq lngt: 23 @7431 function_type size: @12 algn: 8 retn: @4841 prms: @7433 @7432 function_decl name: @7434 type: @7435 srcp: :0 chan: @7436 body: undefined link: extern @7433 tree_list valu: @4762 chan: @137 @7434 identifier_node strg: __builtin_ia32_cvtps2pd lngt: 23 @7435 function_type size: @12 algn: 8 retn: @5666 prms: @7437 @7436 function_decl name: @7438 type: @7431 srcp: :0 chan: @7439 body: undefined link: extern @7437 tree_list valu: @4762 chan: @137 @7438 identifier_node strg: __builtin_ia32_cvttps2dq lngt: 24 @7439 function_decl name: @7440 type: @7441 srcp: :0 chan: @7442 body: undefined link: extern @7440 identifier_node strg: __builtin_ia32_cvtsi2sd lngt: 23 @7441 function_type size: @12 algn: 8 retn: @5666 prms: @7443 @7442 function_decl name: @7444 type: @7445 srcp: :0 chan: @7446 body: undefined link: extern @7443 tree_list valu: @5666 chan: @7447 @7444 identifier_node strg: __builtin_ia32_cvtsi642sd lngt: 25 @7445 function_type size: @12 algn: 8 retn: @5666 prms: @7448 @7446 function_decl name: @7449 type: @7450 srcp: :0 chan: @7451 body: undefined link: extern @7447 tree_list valu: @3 chan: @137 @7448 tree_list valu: @5666 chan: @7452 @7449 identifier_node strg: __builtin_ia32_cvtsd2ss lngt: 23 @7450 function_type size: @12 algn: 8 retn: @4762 prms: @7453 @7451 function_decl name: @7454 type: @7455 srcp: :0 chan: @7456 body: undefined link: extern @7452 tree_list valu: @36 chan: @137 @7453 tree_list valu: @4762 chan: @7457 @7454 identifier_node strg: __builtin_ia32_cvtss2sd lngt: 23 @7455 function_type size: @12 algn: 8 retn: @5666 prms: @7458 @7456 function_decl name: @7459 type: @7460 srcp: :0 chan: @7461 body: undefined link: extern @7457 tree_list valu: @5666 chan: @137 @7458 tree_list valu: @5666 chan: @7462 @7459 identifier_node strg: __builtin_ia32_clflush lngt: 22 @7460 function_type size: @12 algn: 8 retn: @115 prms: @7463 @7461 function_decl name: @7464 type: @2836 srcp: :0 chan: @7465 body: undefined link: extern @7462 tree_list valu: @4762 chan: @137 @7463 tree_list valu: @1470 chan: @137 @7464 identifier_node strg: __builtin_ia32_lfence lngt: 21 @7465 function_decl name: @7466 type: @2836 srcp: :0 chan: @7467 body: undefined link: extern @7466 identifier_node strg: __builtin_ia32_mfence lngt: 21 @7467 function_decl name: @7468 type: @7469 srcp: :0 chan: @7470 body: undefined link: extern @7468 identifier_node strg: __builtin_ia32_loaddqu lngt: 22 @7469 function_type size: @12 algn: 8 retn: @6164 prms: @7471 @7470 function_decl name: @7472 type: @7473 srcp: :0 chan: @7474 body: undefined link: extern @7471 tree_list valu: @809 chan: @137 @7472 identifier_node strg: __builtin_ia32_storedqu lngt: 23 @7473 function_type size: @12 algn: 8 retn: @115 prms: @7475 @7474 function_decl name: @7476 type: @7477 srcp: :0 chan: @7478 body: undefined link: extern @7475 tree_list valu: @1493 chan: @7479 @7476 identifier_node strg: __builtin_ia32_pmuludq lngt: 22 @7477 function_type size: @12 algn: 8 retn: @41 prms: @7480 @7478 function_decl name: @7481 type: @7482 srcp: :0 chan: @7483 body: undefined link: extern @7479 tree_list valu: @6164 chan: @137 @7480 tree_list valu: @5170 chan: @7484 @7481 identifier_node strg: __builtin_ia32_pmuludq128 lngt: 25 @7482 function_type size: @12 algn: 8 retn: @5767 prms: @7485 @7483 function_decl name: @7486 type: @7487 srcp: :0 chan: @7488 body: undefined link: extern @7484 tree_list valu: @5170 chan: @137 @7485 tree_list valu: @4841 chan: @7489 @7486 identifier_node strg: __builtin_ia32_psllw128 lngt: 23 @7487 function_type size: @12 algn: 8 retn: @6187 prms: @7490 @7488 function_decl name: @7491 type: @7492 srcp: :0 chan: @7493 body: undefined link: extern @7489 tree_list valu: @4841 chan: @137 @7490 tree_list valu: @6187 chan: @7494 @7491 identifier_node strg: __builtin_ia32_pslld128 lngt: 23 @7492 function_type size: @12 algn: 8 retn: @4841 prms: @7495 @7493 function_decl name: @7496 type: @6208 srcp: :0 chan: @7497 body: undefined link: extern @7494 tree_list valu: @5767 chan: @137 @7495 tree_list valu: @4841 chan: @7498 @7496 identifier_node strg: __builtin_ia32_psllq128 lngt: 23 @7497 function_decl name: @7499 type: @7487 srcp: :0 chan: @7500 body: undefined link: extern @7498 tree_list valu: @5767 chan: @137 @7499 identifier_node strg: __builtin_ia32_psrlw128 lngt: 23 @7500 function_decl name: @7501 type: @7492 srcp: :0 chan: @7502 body: undefined link: extern @7501 identifier_node strg: __builtin_ia32_psrld128 lngt: 23 @7502 function_decl name: @7503 type: @6208 srcp: :0 chan: @7504 body: undefined link: extern @7503 identifier_node strg: __builtin_ia32_psrlq128 lngt: 23 @7504 function_decl name: @7505 type: @7487 srcp: :0 chan: @7506 body: undefined link: extern @7505 identifier_node strg: __builtin_ia32_psraw128 lngt: 23 @7506 function_decl name: @7507 type: @7492 srcp: :0 chan: @7508 body: undefined link: extern @7507 identifier_node strg: __builtin_ia32_psrad128 lngt: 23 @7508 function_decl name: @7509 type: @7510 srcp: :0 chan: @7511 body: undefined link: extern @7509 identifier_node strg: __builtin_ia32_pslldqi128 lngt: 25 @7510 function_type size: @12 algn: 8 retn: @5767 prms: @7512 @7511 function_decl name: @7513 type: @7368 srcp: :0 chan: @7514 body: undefined link: extern @7512 tree_list valu: @5767 chan: @7515 @7513 identifier_node strg: __builtin_ia32_psllwi128 lngt: 24 @7514 function_decl name: @7516 type: @7362 srcp: :0 chan: @7517 body: undefined link: extern @7515 tree_list valu: @3 chan: @137 @7516 identifier_node strg: __builtin_ia32_pslldi128 lngt: 24 @7517 function_decl name: @7518 type: @7510 srcp: :0 chan: @7519 body: undefined link: extern @7518 identifier_node strg: __builtin_ia32_psllqi128 lngt: 24 @7519 function_decl name: @7520 type: @7510 srcp: :0 chan: @7521 body: undefined link: extern @7520 identifier_node strg: __builtin_ia32_psrldqi128 lngt: 25 @7521 function_decl name: @7522 type: @7368 srcp: :0 chan: @7523 body: undefined link: extern @7522 identifier_node strg: __builtin_ia32_psrlwi128 lngt: 24 @7523 function_decl name: @7524 type: @7362 srcp: :0 chan: @7525 body: undefined link: extern @7524 identifier_node strg: __builtin_ia32_psrldi128 lngt: 24 @7525 function_decl name: @7526 type: @7510 srcp: :0 chan: @7527 body: undefined link: extern @7526 identifier_node strg: __builtin_ia32_psrlqi128 lngt: 24 @7527 function_decl name: @7528 type: @7368 srcp: :0 chan: @7529 body: undefined link: extern @7528 identifier_node strg: __builtin_ia32_psrawi128 lngt: 24 @7529 function_decl name: @7530 type: @7362 srcp: :0 chan: @7531 body: undefined link: extern @7530 identifier_node strg: __builtin_ia32_psradi128 lngt: 24 @7531 function_decl name: @7532 type: @7533 srcp: :0 chan: @7534 body: undefined link: extern @7532 identifier_node strg: __builtin_ia32_pmaddwd128 lngt: 25 @7533 function_type size: @12 algn: 8 retn: @4841 prms: @7535 @7534 function_decl name: @7536 type: @7537 srcp: :0 chan: @7538 body: undefined link: extern @7535 tree_list valu: @6187 chan: @7539 @7536 identifier_node strg: __builtin_ia32_vec_init_v2si lngt: 28 @7537 function_type size: @12 algn: 8 retn: @5170 prms: @7540 @7538 function_decl name: @7541 type: @7542 srcp: :0 chan: @7543 body: undefined link: extern @7539 tree_list valu: @6187 chan: @137 @7540 tree_list valu: @3 chan: @7544 @7541 identifier_node strg: __builtin_ia32_vec_init_v4hi lngt: 28 @7542 function_type size: @12 algn: 8 retn: @5158 prms: @7545 @7543 function_decl name: @7546 type: @7547 srcp: :0 chan: @7548 body: undefined link: extern @7544 tree_list valu: @3 chan: @137 @7545 tree_list valu: @46 chan: @7549 @7546 identifier_node strg: __builtin_ia32_vec_init_v8qi lngt: 28 @7547 function_type size: @12 algn: 8 retn: @5146 prms: @7550 @7548 function_decl name: @7551 type: @7552 srcp: :0 chan: @7553 body: undefined link: extern @7549 tree_list valu: @46 chan: @7554 @7550 tree_list valu: @9 chan: @7555 @7551 identifier_node strg: __builtin_ia32_vec_ext_v2df lngt: 27 @7552 function_type size: @12 algn: 8 retn: @96 prms: @7556 @7553 function_decl name: @7557 type: @7558 srcp: :0 chan: @7559 body: undefined link: extern @7554 tree_list valu: @46 chan: @7560 @7555 tree_list valu: @9 chan: @7561 @7556 tree_list valu: @5666 chan: @7562 @7557 identifier_node strg: __builtin_ia32_vec_ext_v2di lngt: 27 @7558 function_type size: @12 algn: 8 retn: @36 prms: @7563 @7559 function_decl name: @7564 type: @7565 srcp: :0 chan: @7566 body: undefined link: extern @7560 tree_list valu: @46 chan: @137 @7561 tree_list valu: @9 chan: @7567 @7562 tree_list valu: @3 chan: @137 @7563 tree_list valu: @5767 chan: @7568 @7564 identifier_node strg: __builtin_ia32_vec_ext_v4sf lngt: 27 @7565 function_type size: @12 algn: 8 retn: @93 prms: @7569 @7566 function_decl name: @7570 type: @7571 srcp: :0 chan: @7572 body: undefined link: extern @7567 tree_list valu: @9 chan: @7573 @7568 tree_list valu: @3 chan: @137 @7569 tree_list valu: @4762 chan: @7574 @7570 identifier_node strg: __builtin_ia32_vec_ext_v4si lngt: 27 @7571 function_type size: @12 algn: 8 retn: @3 prms: @7575 @7572 function_decl name: @7576 type: @7577 srcp: :0 chan: @7578 body: undefined link: extern @7573 tree_list valu: @9 chan: @7579 @7574 tree_list valu: @3 chan: @137 @7575 tree_list valu: @4841 chan: @7580 @7576 identifier_node strg: __builtin_ia32_vec_ext_v8hi lngt: 27 @7577 function_type size: @12 algn: 8 retn: @46 prms: @7581 @7578 function_decl name: @7582 type: @7583 srcp: :0 chan: @7584 body: undefined link: extern @7579 tree_list valu: @9 chan: @7585 @7580 tree_list valu: @3 chan: @137 @7581 tree_list valu: @6187 chan: @7586 @7582 identifier_node strg: __builtin_ia32_vec_ext_v4hi lngt: 27 @7583 function_type size: @12 algn: 8 retn: @46 prms: @7587 @7584 function_decl name: @7588 type: @7589 srcp: :0 chan: @7590 body: undefined link: extern @7585 tree_list valu: @9 chan: @7591 @7586 tree_list valu: @3 chan: @137 @7587 tree_list valu: @5158 chan: @7592 @7588 identifier_node strg: __builtin_ia32_vec_ext_v2si lngt: 27 @7589 function_type size: @12 algn: 8 retn: @3 prms: @7593 @7590 function_decl name: @7594 type: @7595 srcp: :0 chan: @7596 body: undefined link: extern @7591 tree_list valu: @9 chan: @137 @7592 tree_list valu: @3 chan: @137 @7593 tree_list valu: @5170 chan: @7597 @7594 identifier_node strg: __builtin_ia32_vec_set_v8hi lngt: 27 @7595 function_type size: @12 algn: 8 retn: @6187 prms: @7598 @7596 function_decl name: @7599 type: @7600 srcp: :0 chan: @4395 body: undefined link: extern @7597 tree_list valu: @3 chan: @137 @7598 tree_list valu: @6187 chan: @7601 @7599 identifier_node strg: __builtin_ia32_vec_set_v4hi lngt: 27 @7600 function_type size: @12 algn: 8 retn: @5158 prms: @7602 @7601 tree_list valu: @46 chan: @7603 @7602 tree_list valu: @5158 chan: @7604 @7603 tree_list valu: @3 chan: @137 @7604 tree_list valu: @46 chan: @7605 @7605 tree_list valu: @3 chan: @137 RCurl/CodeGeneration/makeAuthCode.R0000644000176000001440000000271412437571707016715 0ustar ripleyuserslibrary(RGCCTranslationUnit) curl.h = "/usr/local/include/curl/curl.h" cpp = getCppDefines(curl.h) defs = RGCCTranslationUnit:::processDefines(cpp, tu = tu, filter = NULL) i = grep("CURLAUTH", names(defs$macros)) auth = defs$macros[i] cat("#include ", "#include ", "SEXP R_getAuthValues()", "{", sprintf("\tSEXP ans = NEW_NUMERIC(%d);", length(auth)), "\tint i = 0;", sprintf("\tREAL(ans)[i++] = %s;", names(auth)), "\treturn(ans);", "}", sep = '\n', file = "auth.c") system("make auth.so") dyn.load("auth.so") vals = structure(.Call("R_getAuthValues"), names = names(auth)) con = textConnection("foo", 'w', local = TRUE) dput(vals, con) def = textConnectionValue(con) close(con) # Add this to 'setClass("CURLAuth", contains = "BitwiseValue")', # bitClasses.R. # We get a warning # class "CURLAuth" is inheriting an inconsistent superclass structure from class "BitwiseValue", inconsistent with "SymbolicConstant" # if we define the class CURLAuth after we source() xbits.R code = c(# 'setClass("CURLAuth", contains = "BitwiseValue")', paste('CURLAUTHValues =', paste(def, collapse = " ")), mapply(function(shortName, name, val) sprintf("%s <- %s <- BitwiseValue(%s, '%s', 'CURLAuth')", shortName, name, as.character(val), name), gsub("^CURL", "", names(vals)), names(vals), vals) ) cat(code, file = "../R/curlAuthConstants.R", sep = "\n") RCurl/CodeGeneration/generateDocs.R0000644000176000001440000000332112437571707016761 0ustar ripleyuserscurl = htmlParse("http://curl.haxx.se/libcurl/c/curl_easy_setopt.html") els = getNodeSet(curl, "//p[@class='level0' and ./a[@name]]") topics = sapply(els, function(x) xmlGetAttr(x[[1]], "name")) i = !sapply(topics, is.null) els = els[i] names(els) = topics[i] ########################## ps = getNodeSet(curl, "//table//h1/following-sibling::p") ps = getNodeSet(curl, "//table//h1/following-sibling::p[./a][1]") first = getNodeSet(curl, "//table//h1/following-sibling::p[@class='level0' and ./a[position() = 1]]") p.level = sapply(ps, xmlGetAttr, "class") idx = cumsum(p.level == "level0") ############################################################# # # This works, somewhat inlegenantly. # We find all the nodes that identify a parameter. Then we walk # the sibling list until we find the next one or a section/grouping # header. first = getNodeSet(curl, "//table//h1/following-sibling::p[@class='level0' and ./span[starts-with(string(.), 'CURLOPT_')]]") names(first) = tolower(gsub("^CURLOPT_", "", sapply(first, function(x) xmlValue(x[["span"]])))) isSectionHeading = function(node) { (names(node) == 'a' && xmlValue(node) == "" ) || (xmlName(node) == "h2" && xmlGetAttr(node, "class") == "nroffsh") } f = function(node) { sib = getSibling(node) txt = character() while(!is.null(sib) && xmlGetAttr(sib, "class", "") != "level0" && !isSectionHeading(sib)) { txt = c(txt, xmlValue(sib)) sib = getSibling(sib) } paste(txt, collapse = "\n") } docs = sapply(first, f) docs = gsub("char *", "string", docs, fixed = TRUE) docText = gsub("CURLOPT_([A-Z_]+)", "\\\\code{\\L\\1}", docs, perl = TRUE) x = sprintf("\\item{%s}{%s}", names(docText), docText) cat("\\itemize{", x, "}", "\n", sep = "\n") RCurl/CodeGeneration/enum.c0000644000176000001440000000007612437571707015347 0ustar ripleyusers#include CURLoption opt; CURLformoption fopt; RCurl/CodeGeneration/generate.R0000644000176000001440000001011312437571707016145 0ustar ripleyuserslibrary(RGCCTranslationUnit) #library(RAutoGenRunTime) # for bitlist. tu = parseTU("enum.c.t00.tu") edefs = lapply(getEnumerations(tu), resolveType, tu) curl.h = "/usr/local/include/curl/curl.h" curl.h = "~/Downloads/curl-7.19.4/include/curl/curl.h" curl.h = "~/Downloads/curl-7.14.0/include/curl/curl.h" cpp = getCppDefines(curl.h) defs = RGCCTranslationUnit:::processDefines(cpp, tu = tu, filter = NULL) i = defs$macros %in% names(edefs$CURLoption@values) ############## writeEnumGenerationRCode(edefs[["CURLoption"]]@values, "../inst/enums/Renums.c", includes = '') ########## ifdef = c("KEYPASSWD", "DIRLISTONLY", "APPEND", "KRBLEVEL", "USE_SSL", "TIMEOUT_MS", "CONNECTTIMEOUT_MS", "HTTP_TRANSFER_DECODING", "HTTP_CONTENT_DECODING", "NEW_FILE_PERMS", "NEW_DIRECTORY_PERMS", "POSTREDIR", "OPENSOCKETFUNCTION", "OPENSOCKETDATA", "COPYPOSTFIELDS", "PROXY_TRANSFER_MODE", "SEEKFUNCTION", "SEEKDATA", "CRLFILE", "ISSUERCERT", "ADDRESS_SCOPE", "CERTINFO", "USERNAME", "PASSWORD", "PROXYUSERNAME", "PROXYPASSWORD", "SSH_HOST_PUBLIC_KEY_MD5", "NOPROXY", "TFTP_BLKSIZE", "SOCKS5_GSSAPI_SERVICE", "SOCKS5_GSSAPI_NEC", "PROTOCOLS", "REDIR_PROTOCOLS", "SSH_AUTH_TYPES", "SSH_PUBLIC_KEYFILE", "SSH_PRIVATE_KEYFILE", "FTP_SSL_CCC", # "COOKIELIST", "IGNORE_CONTENT_LENGTH", "FTP_SKIP_PASV_IP", "FTP_FILEMETHOD", "LOCALPORT", "LOCALPORTRANGE", "CONNECT_ONLY", "CONV_FROM_NETWORK_FUNCTION", "CONV_TO_NETWORK_FUNCTION", "CONV_FROM_UTF8_FUNCTION", "MAX_SEND_SPEED_LARGE", "MAX_RECV_SPEED_LARGE", "FTP_ALTERNATIVE_TO_USER", "SOCKOPTFUNCTION", "SOCKOPTDATA", "SSL_SESSIONID_CACHE" ) # For testing in configure.in cat(sprintf("RCURL_CHECK_ENUM(CURLOPT_%s)\n", ifdef)) cat(sprintf("RCURL_CHECK_ENUM(%s)", names(vals)), sep = "\n") # Get the options table. txt = readLines(curl.h) cinit = grep("^[[:space:]]*CINIT\\(", txt, val = TRUE) names(cinit) = gsub(".*CINIT\\(([A-Z0-9_]+),.*", "\\1", cinit) cinit[ifdef] = sprintf("#ifdef HAVE_CURLOPT_%s\n%s\n#endif\n", ifdef, cinit[ifdef]) cat(cinit, # grep("CINIT\\(", cinit, val = TRUE) sprintf("#ifdef %s\n{ \"%s\", %s}%s\n#endif\n", names(defs$macros[i]), gsub("^CURLOPT_", "", names(defs$macros[i])), defs$macros[i], c(rep(",", length(defs$macros[i]) - 1), "")), sep = "\n", file = "../src/CURLOptTable.h") #--------------------- # CURLINFO enumerations. vals = edefs$CURLINFO@values vals = vals[ - match(c("CURLINFO_NONE", "CURLINFO_LASTONE"), names(vals))] cat(sprintf("#ifdef HAVE_%s\nCURLINFO(%s)%s\n#endif", names(vals), gsub("CURLINFO_", "", names(vals)), c(rep(",", length(vals) -1), "")), sep = "\n", file = "../src/CURLINFOTable.h") #cat(paste("CURLINFO(", gsub("CURLINFO_", "", names(vals)), ")", "\n", collapse = ",\n"), # file = "../src/CURLINFOTable.h") #---------------- con = file("../R/curlEnums.R", "w") cat("if(!is.null(getClassDef('EnumValue'))) {\n", file = con) enumNames = c("curl_infotype", "CURLcode", "curl_proxytype", "curl_usessl", "curl_ftpccc", "curl_ftpauth", "curl_ftpcreatedir", "curl_ftpmethod", "CURL_NETRC_OPTION", "CURLFORMcode", "curl_TimeCond", "curl_closepolicy", ) if(any(!(enumNames %in% names(edefs)))) stop("can't match ", paste(enumNames[!(enumNames %in% names(edefs))] , collapse = ", ")) # Ignored for now: CURLformoption # anonymous CURL_HTTP_VERSION, CURL_SSLVERSION sapply(edefs[enumNames], writeCode, "r", file = con) sapply(edefs[c("6368", "6604")], function(x) cat(paste(gsub("CURL_", "", names(x@values)), " = ", x@values, "L", sep = "", collapse = "\n"), "\n\n", file = con)) cat("\n}\n", file = con) close(con) # Generate the documentation for the coercion methods. sprintf("\\alias{%s-class}", enumNames) cat(paste(sapply(c("integer", "numeric", "character"), function(x) sprintf("\\alias{coerce,%s,%s-method}", x, enumNames)), collapse = "\n")) # CURLPROTO i = grep("CURLAUTH", names(defs$macros)) auth = defs$macros[i] BitwiseValue() RCurl/CodeGeneration/auth.c0000644000176000001440000000073612437571707015347 0ustar ripleyusers#include #include SEXP R_getAuthValues() { SEXP ans = NEW_NUMERIC(10); int i = 0; REAL(ans)[i++] = CURLAUTH_ONLY; REAL(ans)[i++] = CURLAUTH_ANY; REAL(ans)[i++] = CURLAUTH_NTLM; REAL(ans)[i++] = CURLAUTH_ANYSAFE; REAL(ans)[i++] = CURLAUTH_NTLM_WB; REAL(ans)[i++] = CURLAUTH_DIGEST_IE; REAL(ans)[i++] = CURLAUTH_BASIC; REAL(ans)[i++] = CURLAUTH_DIGEST; REAL(ans)[i++] = CURLAUTH_GSSNEGOTIATE; REAL(ans)[i++] = CURLAUTH_NONE; return(ans); } RCurl/CodeGeneration/enum.c.001t.tu0000644000176000001440000314171212437571707016467 0ustar ripleyusers@1 type_decl name: @2 type: @3 srcp: :0 chan: @4 @2 identifier_node strg: int lngt: 3 @3 integer_type name: @1 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @4 type_decl name: @8 type: @9 srcp: :0 chan: @10 @5 integer_cst type: @11 low : 32 @6 integer_cst type: @3 high: -1 low : -2147483648 @7 integer_cst type: @3 low : 2147483647 @8 identifier_node strg: char lngt: 4 @9 integer_type name: @4 size: @12 algn: 8 prec: 8 sign: signed min : @13 max : @14 @10 type_decl name: @15 type: @16 srcp: :0 chan: @17 @11 integer_type name: @18 size: @19 algn: 64 prec: 64 sign: unsigned min : @20 max : @21 @12 integer_cst type: @11 low : 8 @13 integer_cst type: @9 high: -1 low : -128 @14 integer_cst type: @9 low : 127 @15 identifier_node strg: long int lngt: 8 @16 integer_type name: @10 size: @19 algn: 64 prec: 64 sign: signed min : @22 max : @23 @17 type_decl name: @24 type: @25 srcp: :0 chan: @26 @18 identifier_node strg: bit_size_type lngt: 13 @19 integer_cst type: @11 low : 64 @20 integer_cst type: @11 low : 0 @21 integer_cst type: @11 low : -1 @22 integer_cst type: @16 high: -1 low : 0 @23 integer_cst type: @16 low : -1 @24 identifier_node strg: unsigned int lngt: 12 @25 integer_type name: @17 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @26 type_decl name: @29 type: @30 srcp: :0 chan: @31 @27 integer_cst type: @25 low : 0 @28 integer_cst type: @25 low : -1 @29 identifier_node strg: long unsigned int lngt: 17 @30 integer_type name: @26 size: @19 algn: 64 prec: 64 sign: unsigned min : @32 max : @33 @31 type_decl name: @34 type: @35 srcp: :0 chan: @36 @32 integer_cst type: @30 low : 0 @33 integer_cst type: @30 low : -1 @34 identifier_node strg: long long int lngt: 13 @35 integer_type name: @31 size: @19 algn: 64 prec: 64 sign: signed min : @37 max : @38 @36 type_decl name: @39 type: @40 srcp: :0 chan: @41 @37 integer_cst type: @35 high: -1 low : 0 @38 integer_cst type: @35 low : -1 @39 identifier_node strg: long long unsigned int lngt: 22 @40 integer_type name: @36 size: @19 algn: 64 prec: 64 sign: unsigned min : @42 max : @43 @41 type_decl name: @44 type: @45 srcp: :0 chan: @46 @42 integer_cst type: @40 low : 0 @43 integer_cst type: @40 low : -1 @44 identifier_node strg: short int lngt: 9 @45 integer_type name: @41 size: @47 algn: 16 prec: 16 sign: signed min : @48 max : @49 @46 type_decl name: @50 type: @51 srcp: :0 chan: @52 @47 integer_cst type: @11 low : 16 @48 integer_cst type: @45 high: -1 low : -32768 @49 integer_cst type: @45 low : 32767 @50 identifier_node strg: short unsigned int lngt: 18 @51 integer_type name: @46 size: @47 algn: 16 prec: 16 sign: unsigned min : @53 max : @54 @52 type_decl name: @55 type: @56 srcp: :0 chan: @57 @53 integer_cst type: @51 low : 0 @54 integer_cst type: @51 low : 65535 @55 identifier_node strg: signed char lngt: 11 @56 integer_type name: @52 size: @12 algn: 8 prec: 8 sign: signed min : @58 max : @59 @57 type_decl name: @60 type: @61 srcp: :0 chan: @62 @58 integer_cst type: @56 high: -1 low : -128 @59 integer_cst type: @56 low : 127 @60 identifier_node strg: unsigned char lngt: 13 @61 integer_type name: @57 size: @12 algn: 8 prec: 8 sign: unsigned min : @63 max : @64 @62 type_decl type: @56 srcp: :0 chan: @65 @63 integer_cst type: @61 low : 0 @64 integer_cst type: @61 low : 255 @65 type_decl type: @45 srcp: :0 chan: @66 @66 type_decl type: @3 srcp: :0 chan: @67 @67 type_decl type: @16 srcp: :0 chan: @68 @68 type_decl name: @69 type: @70 srcp: :0 chan: @71 @69 identifier_node strg: __int128_t lngt: 10 @70 integer_type name: @68 size: @72 algn: 128 prec: 128 sign: signed min : @73 max : @74 @71 type_decl type: @61 srcp: :0 chan: @75 @72 integer_cst type: @11 low : 128 @73 integer_cst type: @70 high: 0 low : 0 @74 integer_cst type: @70 high: -1 low : -1 @75 type_decl type: @51 srcp: :0 chan: @76 @76 type_decl type: @25 srcp: :0 chan: @77 @77 type_decl type: @30 srcp: :0 chan: @78 @78 type_decl name: @79 type: @80 srcp: :0 chan: @81 @79 identifier_node strg: __uint128_t lngt: 11 @80 integer_type name: @78 size: @72 algn: 128 prec: 128 sign: unsigned min : @82 max : @83 @81 type_decl type: @84 srcp: :0 chan: @85 @82 integer_cst type: @80 low : 0 @83 integer_cst type: @80 high: -1 low : -1 @84 integer_type size: @72 algn: 128 prec: 128 sign: signed min : @86 max : @87 @85 type_decl type: @88 srcp: :0 chan: @89 @86 integer_cst type: @84 high: 0 low : 0 @87 integer_cst type: @84 high: -1 low : -1 @88 integer_type size: @72 algn: 128 prec: 128 sign: unsigned min : @90 max : @91 @89 type_decl name: @92 type: @93 srcp: :0 chan: @94 @90 integer_cst type: @88 low : 0 @91 integer_cst type: @88 high: -1 low : -1 @92 identifier_node strg: float lngt: 5 @93 real_type name: @89 size: @5 algn: 32 prec: 32 @94 type_decl name: @95 type: @96 srcp: :0 chan: @97 @95 identifier_node strg: double lngt: 6 @96 real_type name: @94 size: @19 algn: 64 prec: 64 @97 type_decl name: @98 type: @99 srcp: :0 chan: @100 @98 identifier_node strg: long double lngt: 11 @99 real_type name: @97 size: @72 algn: 128 prec: 80 @100 type_decl name: @101 type: @102 srcp: :0 chan: @103 @101 identifier_node strg: _Decimal32 lngt: 10 @102 real_type name: @100 size: @5 algn: 32 prec: 32 @103 type_decl name: @104 type: @105 srcp: :0 chan: @106 @104 identifier_node strg: _Decimal64 lngt: 10 @105 real_type name: @103 size: @19 algn: 64 prec: 64 @106 type_decl name: @107 type: @108 srcp: :0 chan: @109 @107 identifier_node strg: _Decimal128 lngt: 11 @108 real_type name: @106 size: @72 algn: 128 prec: 128 @109 type_decl name: @110 type: @111 srcp: :0 chan: @112 @110 identifier_node strg: complex int lngt: 11 @111 complex_type name: @109 size: @19 algn: 32 @112 type_decl name: @113 type: @114 srcp: :0 chan: @115 @113 identifier_node strg: complex float lngt: 13 @114 complex_type name: @112 size: @19 algn: 32 @115 type_decl name: @116 type: @117 srcp: :0 chan: @118 @116 identifier_node strg: complex double lngt: 14 @117 complex_type name: @115 size: @72 algn: 64 @118 type_decl name: @119 type: @120 srcp: :0 chan: @121 @119 identifier_node strg: complex long double lngt: 19 @120 complex_type name: @118 size: @122 algn: 128 @121 type_decl name: @123 type: @124 srcp: :0 chan: @125 @122 integer_cst type: @11 low : 256 @123 identifier_node strg: void lngt: 4 @124 void_type name: @121 algn: 8 @125 type_decl name: @126 type: @127 srcp: :0 chan: @128 @126 identifier_node strg: __builtin_va_list lngt: 17 @127 array_type name: @125 unql: @129 size: @130 algn: 64 elts: @131 domn: @132 @128 function_decl name: @133 mngl: @134 type: @135 srcp: :0 chan: @136 body: undefined link: extern @129 array_type size: @130 algn: 64 elts: @131 domn: @132 @130 integer_cst type: @11 low : 192 @131 record_type name: @137 size: @130 algn: 64 tag : struct flds: @138 @132 integer_type size: @19 algn: 64 prec: 64 sign: signed min : @139 max : @139 @133 identifier_node strg: __builtin_acos lngt: 14 @134 identifier_node strg: acos lngt: 4 @135 function_type size: @12 algn: 8 retn: @96 prms: @140 @136 function_decl name: @134 type: @135 srcp: :0 chan: @141 body: undefined link: extern @137 type_decl name: @142 type: @131 srcp: :0 @138 field_decl name: @143 type: @25 scpe: @131 srcp: :0 chan: @144 size: @5 algn: 32 bpos: @20 @139 integer_cst type: @145 low : 0 @140 tree_list valu: @96 chan: @146 @141 function_decl name: @147 mngl: @148 type: @149 srcp: :0 chan: @150 body: undefined link: extern @142 identifier_node strg: __va_list_tag lngt: 13 @143 identifier_node strg: gp_offset lngt: 9 @144 field_decl name: @151 type: @25 scpe: @131 srcp: :0 chan: @152 size: @5 algn: 32 bpos: @5 @145 integer_type name: @26 size: @19 algn: 64 prec: 64 sign: unsigned min : @32 max : @153 @146 tree_list valu: @124 @147 identifier_node strg: __builtin_acosf lngt: 15 @148 identifier_node strg: acosf lngt: 5 @149 function_type size: @12 algn: 8 retn: @93 prms: @154 @150 function_decl name: @148 type: @149 srcp: :0 chan: @155 body: undefined link: extern @151 identifier_node strg: fp_offset lngt: 9 @152 field_decl name: @156 type: @157 scpe: @131 srcp: :0 chan: @158 size: @19 algn: 64 bpos: @19 @153 integer_cst type: @145 high: -1 low : -1 @154 tree_list valu: @93 chan: @146 @155 function_decl name: @159 mngl: @160 type: @135 srcp: :0 chan: @161 body: undefined link: extern @156 identifier_node strg: overflow_arg_area lngt: 17 @157 pointer_type size: @19 algn: 64 ptd : @124 @158 field_decl name: @162 type: @157 scpe: @131 srcp: :0 size: @19 algn: 64 bpos: @72 @159 identifier_node strg: __builtin_acosh lngt: 15 @160 identifier_node strg: acosh lngt: 5 @161 function_decl name: @160 type: @135 srcp: :0 chan: @163 body: undefined link: extern @162 identifier_node strg: reg_save_area lngt: 13 @163 function_decl name: @164 mngl: @165 type: @149 srcp: :0 chan: @166 body: undefined link: extern @164 identifier_node strg: __builtin_acoshf lngt: 16 @165 identifier_node strg: acoshf lngt: 6 @166 function_decl name: @165 type: @149 srcp: :0 chan: @167 body: undefined link: extern @167 function_decl name: @168 mngl: @169 type: @170 srcp: :0 chan: @171 body: undefined link: extern @168 identifier_node strg: __builtin_acoshl lngt: 16 @169 identifier_node strg: acoshl lngt: 6 @170 function_type size: @12 algn: 8 retn: @99 prms: @172 @171 function_decl name: @169 type: @170 srcp: :0 chan: @173 body: undefined link: extern @172 tree_list valu: @99 chan: @146 @173 function_decl name: @174 mngl: @175 type: @170 srcp: :0 chan: @176 body: undefined link: extern @174 identifier_node strg: __builtin_acosl lngt: 15 @175 identifier_node strg: acosl lngt: 5 @176 function_decl name: @175 type: @170 srcp: :0 chan: @177 body: undefined link: extern @177 function_decl name: @178 mngl: @179 type: @135 srcp: :0 chan: @180 body: undefined link: extern @178 identifier_node strg: __builtin_asin lngt: 14 @179 identifier_node strg: asin lngt: 4 @180 function_decl name: @179 type: @135 srcp: :0 chan: @181 body: undefined link: extern @181 function_decl name: @182 mngl: @183 type: @149 srcp: :0 chan: @184 body: undefined link: extern @182 identifier_node strg: __builtin_asinf lngt: 15 @183 identifier_node strg: asinf lngt: 5 @184 function_decl name: @183 type: @149 srcp: :0 chan: @185 body: undefined link: extern @185 function_decl name: @186 mngl: @187 type: @135 srcp: :0 chan: @188 body: undefined link: extern @186 identifier_node strg: __builtin_asinh lngt: 15 @187 identifier_node strg: asinh lngt: 5 @188 function_decl name: @187 type: @135 srcp: :0 chan: @189 body: undefined link: extern @189 function_decl name: @190 mngl: @191 type: @149 srcp: :0 chan: @192 body: undefined link: extern @190 identifier_node strg: __builtin_asinhf lngt: 16 @191 identifier_node strg: asinhf lngt: 6 @192 function_decl name: @191 type: @149 srcp: :0 chan: @193 body: undefined link: extern @193 function_decl name: @194 mngl: @195 type: @170 srcp: :0 chan: @196 body: undefined link: extern @194 identifier_node strg: __builtin_asinhl lngt: 16 @195 identifier_node strg: asinhl lngt: 6 @196 function_decl name: @195 type: @170 srcp: :0 chan: @197 body: undefined link: extern @197 function_decl name: @198 mngl: @199 type: @170 srcp: :0 chan: @200 body: undefined link: extern @198 identifier_node strg: __builtin_asinl lngt: 15 @199 identifier_node strg: asinl lngt: 5 @200 function_decl name: @199 type: @170 srcp: :0 chan: @201 body: undefined link: extern @201 function_decl name: @202 mngl: @203 type: @135 srcp: :0 chan: @204 body: undefined link: extern @202 identifier_node strg: __builtin_atan lngt: 14 @203 identifier_node strg: atan lngt: 4 @204 function_decl name: @203 type: @135 srcp: :0 chan: @205 body: undefined link: extern @205 function_decl name: @206 mngl: @207 type: @208 srcp: :0 chan: @209 body: undefined link: extern @206 identifier_node strg: __builtin_atan2 lngt: 15 @207 identifier_node strg: atan2 lngt: 5 @208 function_type size: @12 algn: 8 retn: @96 prms: @210 @209 function_decl name: @207 type: @208 srcp: :0 chan: @211 body: undefined link: extern @210 tree_list valu: @96 chan: @212 @211 function_decl name: @213 mngl: @214 type: @215 srcp: :0 chan: @216 body: undefined link: extern @212 tree_list valu: @96 chan: @146 @213 identifier_node strg: __builtin_atan2f lngt: 16 @214 identifier_node strg: atan2f lngt: 6 @215 function_type size: @12 algn: 8 retn: @93 prms: @217 @216 function_decl name: @214 type: @215 srcp: :0 chan: @218 body: undefined link: extern @217 tree_list valu: @93 chan: @219 @218 function_decl name: @220 mngl: @221 type: @222 srcp: :0 chan: @223 body: undefined link: extern @219 tree_list valu: @93 chan: @146 @220 identifier_node strg: __builtin_atan2l lngt: 16 @221 identifier_node strg: atan2l lngt: 6 @222 function_type size: @12 algn: 8 retn: @99 prms: @224 @223 function_decl name: @221 type: @222 srcp: :0 chan: @225 body: undefined link: extern @224 tree_list valu: @99 chan: @226 @225 function_decl name: @227 mngl: @228 type: @149 srcp: :0 chan: @229 body: undefined link: extern @226 tree_list valu: @99 chan: @146 @227 identifier_node strg: __builtin_atanf lngt: 15 @228 identifier_node strg: atanf lngt: 5 @229 function_decl name: @228 type: @149 srcp: :0 chan: @230 body: undefined link: extern @230 function_decl name: @231 mngl: @232 type: @135 srcp: :0 chan: @233 body: undefined link: extern @231 identifier_node strg: __builtin_atanh lngt: 15 @232 identifier_node strg: atanh lngt: 5 @233 function_decl name: @232 type: @135 srcp: :0 chan: @234 body: undefined link: extern @234 function_decl name: @235 mngl: @236 type: @149 srcp: :0 chan: @237 body: undefined link: extern @235 identifier_node strg: __builtin_atanhf lngt: 16 @236 identifier_node strg: atanhf lngt: 6 @237 function_decl name: @236 type: @149 srcp: :0 chan: @238 body: undefined link: extern @238 function_decl name: @239 mngl: @240 type: @170 srcp: :0 chan: @241 body: undefined link: extern @239 identifier_node strg: __builtin_atanhl lngt: 16 @240 identifier_node strg: atanhl lngt: 6 @241 function_decl name: @240 type: @170 srcp: :0 chan: @242 body: undefined link: extern @242 function_decl name: @243 mngl: @244 type: @170 srcp: :0 chan: @245 body: undefined link: extern @243 identifier_node strg: __builtin_atanl lngt: 15 @244 identifier_node strg: atanl lngt: 5 @245 function_decl name: @244 type: @170 srcp: :0 chan: @246 body: undefined link: extern @246 function_decl name: @247 mngl: @248 type: @135 srcp: :0 chan: @249 body: undefined link: extern @247 identifier_node strg: __builtin_cbrt lngt: 14 @248 identifier_node strg: cbrt lngt: 4 @249 function_decl name: @248 type: @135 srcp: :0 chan: @250 body: undefined link: extern @250 function_decl name: @251 mngl: @252 type: @149 srcp: :0 chan: @253 body: undefined link: extern @251 identifier_node strg: __builtin_cbrtf lngt: 15 @252 identifier_node strg: cbrtf lngt: 5 @253 function_decl name: @252 type: @149 srcp: :0 chan: @254 body: undefined link: extern @254 function_decl name: @255 mngl: @256 type: @170 srcp: :0 chan: @257 body: undefined link: extern @255 identifier_node strg: __builtin_cbrtl lngt: 15 @256 identifier_node strg: cbrtl lngt: 5 @257 function_decl name: @256 type: @170 srcp: :0 chan: @258 body: undefined link: extern @258 function_decl name: @259 mngl: @260 type: @135 srcp: :0 chan: @261 body: undefined link: extern @259 identifier_node strg: __builtin_ceil lngt: 14 @260 identifier_node strg: ceil lngt: 4 @261 function_decl name: @260 type: @135 srcp: :0 chan: @262 body: undefined link: extern @262 function_decl name: @263 mngl: @264 type: @149 srcp: :0 chan: @265 body: undefined link: extern @263 identifier_node strg: __builtin_ceilf lngt: 15 @264 identifier_node strg: ceilf lngt: 5 @265 function_decl name: @264 type: @149 srcp: :0 chan: @266 body: undefined link: extern @266 function_decl name: @267 mngl: @268 type: @170 srcp: :0 chan: @269 body: undefined link: extern @267 identifier_node strg: __builtin_ceill lngt: 15 @268 identifier_node strg: ceill lngt: 5 @269 function_decl name: @268 type: @170 srcp: :0 chan: @270 body: undefined link: extern @270 function_decl name: @271 mngl: @272 type: @208 srcp: :0 chan: @273 body: undefined link: extern @271 identifier_node strg: __builtin_copysign lngt: 18 @272 identifier_node strg: copysign lngt: 8 @273 function_decl name: @272 type: @208 srcp: :0 chan: @274 body: undefined link: extern @274 function_decl name: @275 mngl: @276 type: @215 srcp: :0 chan: @277 body: undefined link: extern @275 identifier_node strg: __builtin_copysignf lngt: 19 @276 identifier_node strg: copysignf lngt: 9 @277 function_decl name: @276 type: @215 srcp: :0 chan: @278 body: undefined link: extern @278 function_decl name: @279 mngl: @280 type: @222 srcp: :0 chan: @281 body: undefined link: extern @279 identifier_node strg: __builtin_copysignl lngt: 19 @280 identifier_node strg: copysignl lngt: 9 @281 function_decl name: @280 type: @222 srcp: :0 chan: @282 body: undefined link: extern @282 function_decl name: @283 mngl: @284 type: @135 srcp: :0 chan: @285 body: undefined link: extern @283 identifier_node strg: __builtin_cos lngt: 13 @284 identifier_node strg: cos lngt: 3 @285 function_decl name: @284 type: @135 srcp: :0 chan: @286 body: undefined link: extern @286 function_decl name: @287 mngl: @288 type: @149 srcp: :0 chan: @289 body: undefined link: extern @287 identifier_node strg: __builtin_cosf lngt: 14 @288 identifier_node strg: cosf lngt: 4 @289 function_decl name: @288 type: @149 srcp: :0 chan: @290 body: undefined link: extern @290 function_decl name: @291 mngl: @292 type: @135 srcp: :0 chan: @293 body: undefined link: extern @291 identifier_node strg: __builtin_cosh lngt: 14 @292 identifier_node strg: cosh lngt: 4 @293 function_decl name: @292 type: @135 srcp: :0 chan: @294 body: undefined link: extern @294 function_decl name: @295 mngl: @296 type: @149 srcp: :0 chan: @297 body: undefined link: extern @295 identifier_node strg: __builtin_coshf lngt: 15 @296 identifier_node strg: coshf lngt: 5 @297 function_decl name: @296 type: @149 srcp: :0 chan: @298 body: undefined link: extern @298 function_decl name: @299 mngl: @300 type: @170 srcp: :0 chan: @301 body: undefined link: extern @299 identifier_node strg: __builtin_coshl lngt: 15 @300 identifier_node strg: coshl lngt: 5 @301 function_decl name: @300 type: @170 srcp: :0 chan: @302 body: undefined link: extern @302 function_decl name: @303 mngl: @304 type: @170 srcp: :0 chan: @305 body: undefined link: extern @303 identifier_node strg: __builtin_cosl lngt: 14 @304 identifier_node strg: cosl lngt: 4 @305 function_decl name: @304 type: @170 srcp: :0 chan: @306 body: undefined link: extern @306 function_decl name: @307 mngl: @308 type: @208 srcp: :0 chan: @309 body: undefined link: extern @307 identifier_node strg: __builtin_drem lngt: 14 @308 identifier_node strg: drem lngt: 4 @309 function_decl name: @308 type: @208 srcp: :0 chan: @310 body: undefined link: extern @310 function_decl name: @311 mngl: @312 type: @215 srcp: :0 chan: @313 body: undefined link: extern @311 identifier_node strg: __builtin_dremf lngt: 15 @312 identifier_node strg: dremf lngt: 5 @313 function_decl name: @312 type: @215 srcp: :0 chan: @314 body: undefined link: extern @314 function_decl name: @315 mngl: @316 type: @222 srcp: :0 chan: @317 body: undefined link: extern @315 identifier_node strg: __builtin_dreml lngt: 15 @316 identifier_node strg: dreml lngt: 5 @317 function_decl name: @316 type: @222 srcp: :0 chan: @318 body: undefined link: extern @318 function_decl name: @319 mngl: @320 type: @135 srcp: :0 chan: @321 body: undefined link: extern @319 identifier_node strg: __builtin_erf lngt: 13 @320 identifier_node strg: erf lngt: 3 @321 function_decl name: @320 type: @135 srcp: :0 chan: @322 body: undefined link: extern @322 function_decl name: @323 mngl: @324 type: @135 srcp: :0 chan: @325 body: undefined link: extern @323 identifier_node strg: __builtin_erfc lngt: 14 @324 identifier_node strg: erfc lngt: 4 @325 function_decl name: @324 type: @135 srcp: :0 chan: @326 body: undefined link: extern @326 function_decl name: @327 mngl: @328 type: @149 srcp: :0 chan: @329 body: undefined link: extern @327 identifier_node strg: __builtin_erfcf lngt: 15 @328 identifier_node strg: erfcf lngt: 5 @329 function_decl name: @328 type: @149 srcp: :0 chan: @330 body: undefined link: extern @330 function_decl name: @331 mngl: @332 type: @170 srcp: :0 chan: @333 body: undefined link: extern @331 identifier_node strg: __builtin_erfcl lngt: 15 @332 identifier_node strg: erfcl lngt: 5 @333 function_decl name: @332 type: @170 srcp: :0 chan: @334 body: undefined link: extern @334 function_decl name: @335 mngl: @336 type: @149 srcp: :0 chan: @337 body: undefined link: extern @335 identifier_node strg: __builtin_erff lngt: 14 @336 identifier_node strg: erff lngt: 4 @337 function_decl name: @336 type: @149 srcp: :0 chan: @338 body: undefined link: extern @338 function_decl name: @339 mngl: @340 type: @170 srcp: :0 chan: @341 body: undefined link: extern @339 identifier_node strg: __builtin_erfl lngt: 14 @340 identifier_node strg: erfl lngt: 4 @341 function_decl name: @340 type: @170 srcp: :0 chan: @342 body: undefined link: extern @342 function_decl name: @343 mngl: @344 type: @135 srcp: :0 chan: @345 body: undefined link: extern @343 identifier_node strg: __builtin_exp lngt: 13 @344 identifier_node strg: exp lngt: 3 @345 function_decl name: @344 type: @135 srcp: :0 chan: @346 body: undefined link: extern @346 function_decl name: @347 mngl: @348 type: @135 srcp: :0 chan: @349 body: undefined link: extern @347 identifier_node strg: __builtin_exp10 lngt: 15 @348 identifier_node strg: exp10 lngt: 5 @349 function_decl name: @348 type: @135 srcp: :0 chan: @350 body: undefined link: extern @350 function_decl name: @351 mngl: @352 type: @149 srcp: :0 chan: @353 body: undefined link: extern @351 identifier_node strg: __builtin_exp10f lngt: 16 @352 identifier_node strg: exp10f lngt: 6 @353 function_decl name: @352 type: @149 srcp: :0 chan: @354 body: undefined link: extern @354 function_decl name: @355 mngl: @356 type: @170 srcp: :0 chan: @357 body: undefined link: extern @355 identifier_node strg: __builtin_exp10l lngt: 16 @356 identifier_node strg: exp10l lngt: 6 @357 function_decl name: @356 type: @170 srcp: :0 chan: @358 body: undefined link: extern @358 function_decl name: @359 mngl: @360 type: @135 srcp: :0 chan: @361 body: undefined link: extern @359 identifier_node strg: __builtin_exp2 lngt: 14 @360 identifier_node strg: exp2 lngt: 4 @361 function_decl name: @360 type: @135 srcp: :0 chan: @362 body: undefined link: extern @362 function_decl name: @363 mngl: @364 type: @149 srcp: :0 chan: @365 body: undefined link: extern @363 identifier_node strg: __builtin_exp2f lngt: 15 @364 identifier_node strg: exp2f lngt: 5 @365 function_decl name: @364 type: @149 srcp: :0 chan: @366 body: undefined link: extern @366 function_decl name: @367 mngl: @368 type: @170 srcp: :0 chan: @369 body: undefined link: extern @367 identifier_node strg: __builtin_exp2l lngt: 15 @368 identifier_node strg: exp2l lngt: 5 @369 function_decl name: @368 type: @170 srcp: :0 chan: @370 body: undefined link: extern @370 function_decl name: @371 mngl: @372 type: @149 srcp: :0 chan: @373 body: undefined link: extern @371 identifier_node strg: __builtin_expf lngt: 14 @372 identifier_node strg: expf lngt: 4 @373 function_decl name: @372 type: @149 srcp: :0 chan: @374 body: undefined link: extern @374 function_decl name: @375 mngl: @376 type: @170 srcp: :0 chan: @377 body: undefined link: extern @375 identifier_node strg: __builtin_expl lngt: 14 @376 identifier_node strg: expl lngt: 4 @377 function_decl name: @376 type: @170 srcp: :0 chan: @378 body: undefined link: extern @378 function_decl name: @379 mngl: @380 type: @135 srcp: :0 chan: @381 body: undefined link: extern @379 identifier_node strg: __builtin_expm1 lngt: 15 @380 identifier_node strg: expm1 lngt: 5 @381 function_decl name: @380 type: @135 srcp: :0 chan: @382 body: undefined link: extern @382 function_decl name: @383 mngl: @384 type: @149 srcp: :0 chan: @385 body: undefined link: extern @383 identifier_node strg: __builtin_expm1f lngt: 16 @384 identifier_node strg: expm1f lngt: 6 @385 function_decl name: @384 type: @149 srcp: :0 chan: @386 body: undefined link: extern @386 function_decl name: @387 mngl: @388 type: @170 srcp: :0 chan: @389 body: undefined link: extern @387 identifier_node strg: __builtin_expm1l lngt: 16 @388 identifier_node strg: expm1l lngt: 6 @389 function_decl name: @388 type: @170 srcp: :0 chan: @390 body: undefined link: extern @390 function_decl name: @391 mngl: @392 type: @135 srcp: :0 chan: @393 body: undefined link: extern @391 identifier_node strg: __builtin_fabs lngt: 14 @392 identifier_node strg: fabs lngt: 4 @393 function_decl name: @392 type: @135 srcp: :0 chan: @394 body: undefined link: extern @394 function_decl name: @395 mngl: @396 type: @149 srcp: :0 chan: @397 body: undefined link: extern @395 identifier_node strg: __builtin_fabsf lngt: 15 @396 identifier_node strg: fabsf lngt: 5 @397 function_decl name: @396 type: @149 srcp: :0 chan: @398 body: undefined link: extern @398 function_decl name: @399 mngl: @400 type: @170 srcp: :0 chan: @401 body: undefined link: extern @399 identifier_node strg: __builtin_fabsl lngt: 15 @400 identifier_node strg: fabsl lngt: 5 @401 function_decl name: @400 type: @170 srcp: :0 chan: @402 body: undefined link: extern @402 function_decl name: @403 mngl: @404 type: @208 srcp: :0 chan: @405 body: undefined link: extern @403 identifier_node strg: __builtin_fdim lngt: 14 @404 identifier_node strg: fdim lngt: 4 @405 function_decl name: @404 type: @208 srcp: :0 chan: @406 body: undefined link: extern @406 function_decl name: @407 mngl: @408 type: @215 srcp: :0 chan: @409 body: undefined link: extern @407 identifier_node strg: __builtin_fdimf lngt: 15 @408 identifier_node strg: fdimf lngt: 5 @409 function_decl name: @408 type: @215 srcp: :0 chan: @410 body: undefined link: extern @410 function_decl name: @411 mngl: @412 type: @222 srcp: :0 chan: @413 body: undefined link: extern @411 identifier_node strg: __builtin_fdiml lngt: 15 @412 identifier_node strg: fdiml lngt: 5 @413 function_decl name: @412 type: @222 srcp: :0 chan: @414 body: undefined link: extern @414 function_decl name: @415 mngl: @416 type: @135 srcp: :0 chan: @417 body: undefined link: extern @415 identifier_node strg: __builtin_floor lngt: 15 @416 identifier_node strg: floor lngt: 5 @417 function_decl name: @416 type: @135 srcp: :0 chan: @418 body: undefined link: extern @418 function_decl name: @419 mngl: @420 type: @149 srcp: :0 chan: @421 body: undefined link: extern @419 identifier_node strg: __builtin_floorf lngt: 16 @420 identifier_node strg: floorf lngt: 6 @421 function_decl name: @420 type: @149 srcp: :0 chan: @422 body: undefined link: extern @422 function_decl name: @423 mngl: @424 type: @170 srcp: :0 chan: @425 body: undefined link: extern @423 identifier_node strg: __builtin_floorl lngt: 16 @424 identifier_node strg: floorl lngt: 6 @425 function_decl name: @424 type: @170 srcp: :0 chan: @426 body: undefined link: extern @426 function_decl name: @427 type: @428 srcp: :0 chan: @429 body: undefined link: extern @427 identifier_node strg: __builtin_flt_rounds lngt: 20 @428 function_type size: @12 algn: 8 retn: @3 prms: @146 @429 function_decl name: @430 mngl: @431 type: @432 srcp: :0 chan: @433 body: undefined link: extern @430 identifier_node strg: __builtin_fma lngt: 13 @431 identifier_node strg: fma lngt: 3 @432 function_type size: @12 algn: 8 retn: @96 prms: @434 @433 function_decl name: @431 type: @432 srcp: :0 chan: @435 body: undefined link: extern @434 tree_list valu: @96 chan: @436 @435 function_decl name: @437 mngl: @438 type: @439 srcp: :0 chan: @440 body: undefined link: extern @436 tree_list valu: @96 chan: @441 @437 identifier_node strg: __builtin_fmaf lngt: 14 @438 identifier_node strg: fmaf lngt: 4 @439 function_type size: @12 algn: 8 retn: @93 prms: @442 @440 function_decl name: @438 type: @439 srcp: :0 chan: @443 body: undefined link: extern @441 tree_list valu: @96 chan: @146 @442 tree_list valu: @93 chan: @444 @443 function_decl name: @445 mngl: @446 type: @447 srcp: :0 chan: @448 body: undefined link: extern @444 tree_list valu: @93 chan: @449 @445 identifier_node strg: __builtin_fmal lngt: 14 @446 identifier_node strg: fmal lngt: 4 @447 function_type size: @12 algn: 8 retn: @99 prms: @450 @448 function_decl name: @446 type: @447 srcp: :0 chan: @451 body: undefined link: extern @449 tree_list valu: @93 chan: @146 @450 tree_list valu: @99 chan: @452 @451 function_decl name: @453 mngl: @454 type: @208 srcp: :0 chan: @455 body: undefined link: extern @452 tree_list valu: @99 chan: @456 @453 identifier_node strg: __builtin_fmax lngt: 14 @454 identifier_node strg: fmax lngt: 4 @455 function_decl name: @454 type: @208 srcp: :0 chan: @457 body: undefined link: extern @456 tree_list valu: @99 chan: @146 @457 function_decl name: @458 mngl: @459 type: @215 srcp: :0 chan: @460 body: undefined link: extern @458 identifier_node strg: __builtin_fmaxf lngt: 15 @459 identifier_node strg: fmaxf lngt: 5 @460 function_decl name: @459 type: @215 srcp: :0 chan: @461 body: undefined link: extern @461 function_decl name: @462 mngl: @463 type: @222 srcp: :0 chan: @464 body: undefined link: extern @462 identifier_node strg: __builtin_fmaxl lngt: 15 @463 identifier_node strg: fmaxl lngt: 5 @464 function_decl name: @463 type: @222 srcp: :0 chan: @465 body: undefined link: extern @465 function_decl name: @466 mngl: @467 type: @208 srcp: :0 chan: @468 body: undefined link: extern @466 identifier_node strg: __builtin_fmin lngt: 14 @467 identifier_node strg: fmin lngt: 4 @468 function_decl name: @467 type: @208 srcp: :0 chan: @469 body: undefined link: extern @469 function_decl name: @470 mngl: @471 type: @215 srcp: :0 chan: @472 body: undefined link: extern @470 identifier_node strg: __builtin_fminf lngt: 15 @471 identifier_node strg: fminf lngt: 5 @472 function_decl name: @471 type: @215 srcp: :0 chan: @473 body: undefined link: extern @473 function_decl name: @474 mngl: @475 type: @222 srcp: :0 chan: @476 body: undefined link: extern @474 identifier_node strg: __builtin_fminl lngt: 15 @475 identifier_node strg: fminl lngt: 5 @476 function_decl name: @475 type: @222 srcp: :0 chan: @477 body: undefined link: extern @477 function_decl name: @478 mngl: @479 type: @208 srcp: :0 chan: @480 body: undefined link: extern @478 identifier_node strg: __builtin_fmod lngt: 14 @479 identifier_node strg: fmod lngt: 4 @480 function_decl name: @479 type: @208 srcp: :0 chan: @481 body: undefined link: extern @481 function_decl name: @482 mngl: @483 type: @215 srcp: :0 chan: @484 body: undefined link: extern @482 identifier_node strg: __builtin_fmodf lngt: 15 @483 identifier_node strg: fmodf lngt: 5 @484 function_decl name: @483 type: @215 srcp: :0 chan: @485 body: undefined link: extern @485 function_decl name: @486 mngl: @487 type: @222 srcp: :0 chan: @488 body: undefined link: extern @486 identifier_node strg: __builtin_fmodl lngt: 15 @487 identifier_node strg: fmodl lngt: 5 @488 function_decl name: @487 type: @222 srcp: :0 chan: @489 body: undefined link: extern @489 function_decl name: @490 mngl: @491 type: @492 srcp: :0 chan: @493 body: undefined link: extern @490 identifier_node strg: __builtin_frexp lngt: 15 @491 identifier_node strg: frexp lngt: 5 @492 function_type size: @12 algn: 8 retn: @96 prms: @494 @493 function_decl name: @491 type: @492 srcp: :0 chan: @495 body: undefined link: extern @494 tree_list valu: @96 chan: @496 @495 function_decl name: @497 mngl: @498 type: @499 srcp: :0 chan: @500 body: undefined link: extern @496 tree_list valu: @501 chan: @146 @497 identifier_node strg: __builtin_frexpf lngt: 16 @498 identifier_node strg: frexpf lngt: 6 @499 function_type size: @12 algn: 8 retn: @93 prms: @502 @500 function_decl name: @498 type: @499 srcp: :0 chan: @503 body: undefined link: extern @501 pointer_type size: @19 algn: 64 ptd : @3 @502 tree_list valu: @93 chan: @504 @503 function_decl name: @505 mngl: @506 type: @507 srcp: :0 chan: @508 body: undefined link: extern @504 tree_list valu: @501 chan: @146 @505 identifier_node strg: __builtin_frexpl lngt: 16 @506 identifier_node strg: frexpl lngt: 6 @507 function_type size: @12 algn: 8 retn: @99 prms: @509 @508 function_decl name: @506 type: @507 srcp: :0 chan: @510 body: undefined link: extern @509 tree_list valu: @99 chan: @511 @510 function_decl name: @512 mngl: @513 type: @135 srcp: :0 chan: @514 body: undefined link: extern @511 tree_list valu: @501 chan: @146 @512 identifier_node strg: __builtin_gamma lngt: 15 @513 identifier_node strg: gamma lngt: 5 @514 function_decl name: @513 type: @135 srcp: :0 chan: @515 body: undefined link: extern @515 function_decl name: @516 mngl: @517 type: @149 srcp: :0 chan: @518 body: undefined link: extern @516 identifier_node strg: __builtin_gammaf lngt: 16 @517 identifier_node strg: gammaf lngt: 6 @518 function_decl name: @517 type: @149 srcp: :0 chan: @519 body: undefined link: extern @519 function_decl name: @520 mngl: @521 type: @170 srcp: :0 chan: @522 body: undefined link: extern @520 identifier_node strg: __builtin_gammal lngt: 16 @521 identifier_node strg: gammal lngt: 6 @522 function_decl name: @521 type: @170 srcp: :0 chan: @523 body: undefined link: extern @523 function_decl name: @524 type: @525 srcp: :0 chan: @526 body: undefined link: extern @524 identifier_node strg: __builtin_huge_val lngt: 18 @525 function_type size: @12 algn: 8 retn: @96 prms: @146 @526 function_decl name: @527 type: @528 srcp: :0 chan: @529 body: undefined link: extern @527 identifier_node strg: __builtin_huge_valf lngt: 19 @528 function_type size: @12 algn: 8 retn: @93 prms: @146 @529 function_decl name: @530 type: @531 srcp: :0 chan: @532 body: undefined link: extern @530 identifier_node strg: __builtin_huge_vall lngt: 19 @531 function_type size: @12 algn: 8 retn: @99 prms: @146 @532 function_decl name: @533 mngl: @534 type: @208 srcp: :0 chan: @535 body: undefined link: extern @533 identifier_node strg: __builtin_hypot lngt: 15 @534 identifier_node strg: hypot lngt: 5 @535 function_decl name: @534 type: @208 srcp: :0 chan: @536 body: undefined link: extern @536 function_decl name: @537 mngl: @538 type: @215 srcp: :0 chan: @539 body: undefined link: extern @537 identifier_node strg: __builtin_hypotf lngt: 16 @538 identifier_node strg: hypotf lngt: 6 @539 function_decl name: @538 type: @215 srcp: :0 chan: @540 body: undefined link: extern @540 function_decl name: @541 mngl: @542 type: @222 srcp: :0 chan: @543 body: undefined link: extern @541 identifier_node strg: __builtin_hypotl lngt: 16 @542 identifier_node strg: hypotl lngt: 6 @543 function_decl name: @542 type: @222 srcp: :0 chan: @544 body: undefined link: extern @544 function_decl name: @545 mngl: @546 type: @547 srcp: :0 chan: @548 body: undefined link: extern @545 identifier_node strg: __builtin_ilogb lngt: 15 @546 identifier_node strg: ilogb lngt: 5 @547 function_type size: @12 algn: 8 retn: @3 prms: @549 @548 function_decl name: @546 type: @547 srcp: :0 chan: @550 body: undefined link: extern @549 tree_list valu: @96 chan: @146 @550 function_decl name: @551 mngl: @552 type: @553 srcp: :0 chan: @554 body: undefined link: extern @551 identifier_node strg: __builtin_ilogbf lngt: 16 @552 identifier_node strg: ilogbf lngt: 6 @553 function_type size: @12 algn: 8 retn: @3 prms: @555 @554 function_decl name: @552 type: @553 srcp: :0 chan: @556 body: undefined link: extern @555 tree_list valu: @93 chan: @146 @556 function_decl name: @557 mngl: @558 type: @559 srcp: :0 chan: @560 body: undefined link: extern @557 identifier_node strg: __builtin_ilogbl lngt: 16 @558 identifier_node strg: ilogbl lngt: 6 @559 function_type size: @12 algn: 8 retn: @3 prms: @561 @560 function_decl name: @558 type: @559 srcp: :0 chan: @562 body: undefined link: extern @561 tree_list valu: @99 chan: @146 @562 function_decl name: @563 type: @525 srcp: :0 chan: @564 body: undefined link: extern @563 identifier_node strg: __builtin_inf lngt: 13 @564 function_decl name: @565 type: @528 srcp: :0 chan: @566 body: undefined link: extern @565 identifier_node strg: __builtin_inff lngt: 14 @566 function_decl name: @567 type: @531 srcp: :0 chan: @568 body: undefined link: extern @567 identifier_node strg: __builtin_infl lngt: 14 @568 function_decl name: @569 type: @570 srcp: :0 chan: @571 body: undefined link: extern @569 identifier_node strg: __builtin_infd32 lngt: 16 @570 function_type size: @12 algn: 8 retn: @102 prms: @146 @571 function_decl name: @572 type: @573 srcp: :0 chan: @574 body: undefined link: extern @572 identifier_node strg: __builtin_infd64 lngt: 16 @573 function_type size: @12 algn: 8 retn: @105 prms: @146 @574 function_decl name: @575 type: @576 srcp: :0 chan: @577 body: undefined link: extern @575 identifier_node strg: __builtin_infd128 lngt: 17 @576 function_type size: @12 algn: 8 retn: @108 prms: @146 @577 function_decl name: @578 mngl: @579 type: @135 srcp: :0 chan: @580 body: undefined link: extern @578 identifier_node strg: __builtin_j0 lngt: 12 @579 identifier_node strg: j0 lngt: 2 @580 function_decl name: @579 type: @135 srcp: :0 chan: @581 body: undefined link: extern @581 function_decl name: @582 mngl: @583 type: @149 srcp: :0 chan: @584 body: undefined link: extern @582 identifier_node strg: __builtin_j0f lngt: 13 @583 identifier_node strg: j0f lngt: 3 @584 function_decl name: @583 type: @149 srcp: :0 chan: @585 body: undefined link: extern @585 function_decl name: @586 mngl: @587 type: @170 srcp: :0 chan: @588 body: undefined link: extern @586 identifier_node strg: __builtin_j0l lngt: 13 @587 identifier_node strg: j0l lngt: 3 @588 function_decl name: @587 type: @170 srcp: :0 chan: @589 body: undefined link: extern @589 function_decl name: @590 mngl: @591 type: @135 srcp: :0 chan: @592 body: undefined link: extern @590 identifier_node strg: __builtin_j1 lngt: 12 @591 identifier_node strg: j1 lngt: 2 @592 function_decl name: @591 type: @135 srcp: :0 chan: @593 body: undefined link: extern @593 function_decl name: @594 mngl: @595 type: @149 srcp: :0 chan: @596 body: undefined link: extern @594 identifier_node strg: __builtin_j1f lngt: 13 @595 identifier_node strg: j1f lngt: 3 @596 function_decl name: @595 type: @149 srcp: :0 chan: @597 body: undefined link: extern @597 function_decl name: @598 mngl: @599 type: @170 srcp: :0 chan: @600 body: undefined link: extern @598 identifier_node strg: __builtin_j1l lngt: 13 @599 identifier_node strg: j1l lngt: 3 @600 function_decl name: @599 type: @170 srcp: :0 chan: @601 body: undefined link: extern @601 function_decl name: @602 mngl: @603 type: @604 srcp: :0 chan: @605 body: undefined link: extern @602 identifier_node strg: __builtin_jn lngt: 12 @603 identifier_node strg: jn lngt: 2 @604 function_type size: @12 algn: 8 retn: @96 prms: @606 @605 function_decl name: @603 type: @604 srcp: :0 chan: @607 body: undefined link: extern @606 tree_list valu: @3 chan: @608 @607 function_decl name: @609 mngl: @610 type: @611 srcp: :0 chan: @612 body: undefined link: extern @608 tree_list valu: @96 chan: @146 @609 identifier_node strg: __builtin_jnf lngt: 13 @610 identifier_node strg: jnf lngt: 3 @611 function_type size: @12 algn: 8 retn: @93 prms: @613 @612 function_decl name: @610 type: @611 srcp: :0 chan: @614 body: undefined link: extern @613 tree_list valu: @3 chan: @615 @614 function_decl name: @616 mngl: @617 type: @618 srcp: :0 chan: @619 body: undefined link: extern @615 tree_list valu: @93 chan: @146 @616 identifier_node strg: __builtin_jnl lngt: 13 @617 identifier_node strg: jnl lngt: 3 @618 function_type size: @12 algn: 8 retn: @99 prms: @620 @619 function_decl name: @617 type: @618 srcp: :0 chan: @621 body: undefined link: extern @620 tree_list valu: @3 chan: @622 @621 function_decl name: @623 type: @624 srcp: :0 chan: @625 body: undefined link: extern @622 tree_list valu: @99 chan: @146 @623 identifier_node strg: __builtin_lceil lngt: 15 @624 function_type size: @12 algn: 8 retn: @16 prms: @626 @625 function_decl name: @627 type: @628 srcp: :0 chan: @629 body: undefined link: extern @626 tree_list valu: @96 chan: @146 @627 identifier_node strg: __builtin_lceilf lngt: 16 @628 function_type size: @12 algn: 8 retn: @16 prms: @630 @629 function_decl name: @631 type: @632 srcp: :0 chan: @633 body: undefined link: extern @630 tree_list valu: @93 chan: @146 @631 identifier_node strg: __builtin_lceill lngt: 16 @632 function_type size: @12 algn: 8 retn: @16 prms: @634 @633 function_decl name: @635 mngl: @636 type: @637 srcp: :0 chan: @638 body: undefined link: extern @634 tree_list valu: @99 chan: @146 @635 identifier_node strg: __builtin_ldexp lngt: 15 @636 identifier_node strg: ldexp lngt: 5 @637 function_type size: @12 algn: 8 retn: @96 prms: @639 @638 function_decl name: @636 type: @637 srcp: :0 chan: @640 body: undefined link: extern @639 tree_list valu: @96 chan: @641 @640 function_decl name: @642 mngl: @643 type: @644 srcp: :0 chan: @645 body: undefined link: extern @641 tree_list valu: @3 chan: @146 @642 identifier_node strg: __builtin_ldexpf lngt: 16 @643 identifier_node strg: ldexpf lngt: 6 @644 function_type size: @12 algn: 8 retn: @93 prms: @646 @645 function_decl name: @643 type: @644 srcp: :0 chan: @647 body: undefined link: extern @646 tree_list valu: @93 chan: @648 @647 function_decl name: @649 mngl: @650 type: @651 srcp: :0 chan: @652 body: undefined link: extern @648 tree_list valu: @3 chan: @146 @649 identifier_node strg: __builtin_ldexpl lngt: 16 @650 identifier_node strg: ldexpl lngt: 6 @651 function_type size: @12 algn: 8 retn: @99 prms: @653 @652 function_decl name: @650 type: @651 srcp: :0 chan: @654 body: undefined link: extern @653 tree_list valu: @99 chan: @655 @654 function_decl name: @656 type: @624 srcp: :0 chan: @657 body: undefined link: extern @655 tree_list valu: @3 chan: @146 @656 identifier_node strg: __builtin_lfloor lngt: 16 @657 function_decl name: @658 type: @628 srcp: :0 chan: @659 body: undefined link: extern @658 identifier_node strg: __builtin_lfloorf lngt: 17 @659 function_decl name: @660 type: @632 srcp: :0 chan: @661 body: undefined link: extern @660 identifier_node strg: __builtin_lfloorl lngt: 17 @661 function_decl name: @662 mngl: @663 type: @135 srcp: :0 chan: @664 body: undefined link: extern @662 identifier_node strg: __builtin_lgamma lngt: 16 @663 identifier_node strg: lgamma lngt: 6 @664 function_decl name: @663 type: @135 srcp: :0 chan: @665 body: undefined link: extern @665 function_decl name: @666 mngl: @667 type: @149 srcp: :0 chan: @668 body: undefined link: extern @666 identifier_node strg: __builtin_lgammaf lngt: 17 @667 identifier_node strg: lgammaf lngt: 7 @668 function_decl name: @667 type: @149 srcp: :0 chan: @669 body: undefined link: extern @669 function_decl name: @670 mngl: @671 type: @170 srcp: :0 chan: @672 body: undefined link: extern @670 identifier_node strg: __builtin_lgammal lngt: 17 @671 identifier_node strg: lgammal lngt: 7 @672 function_decl name: @671 type: @170 srcp: :0 chan: @673 body: undefined link: extern @673 function_decl name: @674 type: @675 srcp: :0 chan: @676 body: undefined link: extern @674 identifier_node strg: __builtin_llceil lngt: 16 @675 function_type size: @12 algn: 8 retn: @35 prms: @677 @676 function_decl name: @678 type: @679 srcp: :0 chan: @680 body: undefined link: extern @677 tree_list valu: @96 chan: @146 @678 identifier_node strg: __builtin_llceilf lngt: 17 @679 function_type size: @12 algn: 8 retn: @35 prms: @681 @680 function_decl name: @682 type: @683 srcp: :0 chan: @684 body: undefined link: extern @681 tree_list valu: @93 chan: @146 @682 identifier_node strg: __builtin_llceill lngt: 17 @683 function_type size: @12 algn: 8 retn: @35 prms: @685 @684 function_decl name: @686 type: @675 srcp: :0 chan: @687 body: undefined link: extern @685 tree_list valu: @99 chan: @146 @686 identifier_node strg: __builtin_llfloor lngt: 17 @687 function_decl name: @688 type: @679 srcp: :0 chan: @689 body: undefined link: extern @688 identifier_node strg: __builtin_llfloorf lngt: 18 @689 function_decl name: @690 type: @683 srcp: :0 chan: @691 body: undefined link: extern @690 identifier_node strg: __builtin_llfloorl lngt: 18 @691 function_decl name: @692 mngl: @693 type: @675 srcp: :0 chan: @694 body: undefined link: extern @692 identifier_node strg: __builtin_llrint lngt: 16 @693 identifier_node strg: llrint lngt: 6 @694 function_decl name: @693 type: @675 srcp: :0 chan: @695 body: undefined link: extern @695 function_decl name: @696 mngl: @697 type: @679 srcp: :0 chan: @698 body: undefined link: extern @696 identifier_node strg: __builtin_llrintf lngt: 17 @697 identifier_node strg: llrintf lngt: 7 @698 function_decl name: @697 type: @679 srcp: :0 chan: @699 body: undefined link: extern @699 function_decl name: @700 mngl: @701 type: @683 srcp: :0 chan: @702 body: undefined link: extern @700 identifier_node strg: __builtin_llrintl lngt: 17 @701 identifier_node strg: llrintl lngt: 7 @702 function_decl name: @701 type: @683 srcp: :0 chan: @703 body: undefined link: extern @703 function_decl name: @704 mngl: @705 type: @675 srcp: :0 chan: @706 body: undefined link: extern @704 identifier_node strg: __builtin_llround lngt: 17 @705 identifier_node strg: llround lngt: 7 @706 function_decl name: @705 type: @675 srcp: :0 chan: @707 body: undefined link: extern @707 function_decl name: @708 mngl: @709 type: @679 srcp: :0 chan: @710 body: undefined link: extern @708 identifier_node strg: __builtin_llroundf lngt: 18 @709 identifier_node strg: llroundf lngt: 8 @710 function_decl name: @709 type: @679 srcp: :0 chan: @711 body: undefined link: extern @711 function_decl name: @712 mngl: @713 type: @683 srcp: :0 chan: @714 body: undefined link: extern @712 identifier_node strg: __builtin_llroundl lngt: 18 @713 identifier_node strg: llroundl lngt: 8 @714 function_decl name: @713 type: @683 srcp: :0 chan: @715 body: undefined link: extern @715 function_decl name: @716 mngl: @717 type: @135 srcp: :0 chan: @718 body: undefined link: extern @716 identifier_node strg: __builtin_log lngt: 13 @717 identifier_node strg: log lngt: 3 @718 function_decl name: @717 type: @135 srcp: :0 chan: @719 body: undefined link: extern @719 function_decl name: @720 mngl: @721 type: @135 srcp: :0 chan: @722 body: undefined link: extern @720 identifier_node strg: __builtin_log10 lngt: 15 @721 identifier_node strg: log10 lngt: 5 @722 function_decl name: @721 type: @135 srcp: :0 chan: @723 body: undefined link: extern @723 function_decl name: @724 mngl: @725 type: @149 srcp: :0 chan: @726 body: undefined link: extern @724 identifier_node strg: __builtin_log10f lngt: 16 @725 identifier_node strg: log10f lngt: 6 @726 function_decl name: @725 type: @149 srcp: :0 chan: @727 body: undefined link: extern @727 function_decl name: @728 mngl: @729 type: @170 srcp: :0 chan: @730 body: undefined link: extern @728 identifier_node strg: __builtin_log10l lngt: 16 @729 identifier_node strg: log10l lngt: 6 @730 function_decl name: @729 type: @170 srcp: :0 chan: @731 body: undefined link: extern @731 function_decl name: @732 mngl: @733 type: @135 srcp: :0 chan: @734 body: undefined link: extern @732 identifier_node strg: __builtin_log1p lngt: 15 @733 identifier_node strg: log1p lngt: 5 @734 function_decl name: @733 type: @135 srcp: :0 chan: @735 body: undefined link: extern @735 function_decl name: @736 mngl: @737 type: @149 srcp: :0 chan: @738 body: undefined link: extern @736 identifier_node strg: __builtin_log1pf lngt: 16 @737 identifier_node strg: log1pf lngt: 6 @738 function_decl name: @737 type: @149 srcp: :0 chan: @739 body: undefined link: extern @739 function_decl name: @740 mngl: @741 type: @170 srcp: :0 chan: @742 body: undefined link: extern @740 identifier_node strg: __builtin_log1pl lngt: 16 @741 identifier_node strg: log1pl lngt: 6 @742 function_decl name: @741 type: @170 srcp: :0 chan: @743 body: undefined link: extern @743 function_decl name: @744 mngl: @745 type: @135 srcp: :0 chan: @746 body: undefined link: extern @744 identifier_node strg: __builtin_log2 lngt: 14 @745 identifier_node strg: log2 lngt: 4 @746 function_decl name: @745 type: @135 srcp: :0 chan: @747 body: undefined link: extern @747 function_decl name: @748 mngl: @749 type: @149 srcp: :0 chan: @750 body: undefined link: extern @748 identifier_node strg: __builtin_log2f lngt: 15 @749 identifier_node strg: log2f lngt: 5 @750 function_decl name: @749 type: @149 srcp: :0 chan: @751 body: undefined link: extern @751 function_decl name: @752 mngl: @753 type: @170 srcp: :0 chan: @754 body: undefined link: extern @752 identifier_node strg: __builtin_log2l lngt: 15 @753 identifier_node strg: log2l lngt: 5 @754 function_decl name: @753 type: @170 srcp: :0 chan: @755 body: undefined link: extern @755 function_decl name: @756 mngl: @757 type: @135 srcp: :0 chan: @758 body: undefined link: extern @756 identifier_node strg: __builtin_logb lngt: 14 @757 identifier_node strg: logb lngt: 4 @758 function_decl name: @757 type: @135 srcp: :0 chan: @759 body: undefined link: extern @759 function_decl name: @760 mngl: @761 type: @149 srcp: :0 chan: @762 body: undefined link: extern @760 identifier_node strg: __builtin_logbf lngt: 15 @761 identifier_node strg: logbf lngt: 5 @762 function_decl name: @761 type: @149 srcp: :0 chan: @763 body: undefined link: extern @763 function_decl name: @764 mngl: @765 type: @170 srcp: :0 chan: @766 body: undefined link: extern @764 identifier_node strg: __builtin_logbl lngt: 15 @765 identifier_node strg: logbl lngt: 5 @766 function_decl name: @765 type: @170 srcp: :0 chan: @767 body: undefined link: extern @767 function_decl name: @768 mngl: @769 type: @149 srcp: :0 chan: @770 body: undefined link: extern @768 identifier_node strg: __builtin_logf lngt: 14 @769 identifier_node strg: logf lngt: 4 @770 function_decl name: @769 type: @149 srcp: :0 chan: @771 body: undefined link: extern @771 function_decl name: @772 mngl: @773 type: @170 srcp: :0 chan: @774 body: undefined link: extern @772 identifier_node strg: __builtin_logl lngt: 14 @773 identifier_node strg: logl lngt: 4 @774 function_decl name: @773 type: @170 srcp: :0 chan: @775 body: undefined link: extern @775 function_decl name: @776 mngl: @777 type: @624 srcp: :0 chan: @778 body: undefined link: extern @776 identifier_node strg: __builtin_lrint lngt: 15 @777 identifier_node strg: lrint lngt: 5 @778 function_decl name: @777 type: @624 srcp: :0 chan: @779 body: undefined link: extern @779 function_decl name: @780 mngl: @781 type: @628 srcp: :0 chan: @782 body: undefined link: extern @780 identifier_node strg: __builtin_lrintf lngt: 16 @781 identifier_node strg: lrintf lngt: 6 @782 function_decl name: @781 type: @628 srcp: :0 chan: @783 body: undefined link: extern @783 function_decl name: @784 mngl: @785 type: @632 srcp: :0 chan: @786 body: undefined link: extern @784 identifier_node strg: __builtin_lrintl lngt: 16 @785 identifier_node strg: lrintl lngt: 6 @786 function_decl name: @785 type: @632 srcp: :0 chan: @787 body: undefined link: extern @787 function_decl name: @788 mngl: @789 type: @624 srcp: :0 chan: @790 body: undefined link: extern @788 identifier_node strg: __builtin_lround lngt: 16 @789 identifier_node strg: lround lngt: 6 @790 function_decl name: @789 type: @624 srcp: :0 chan: @791 body: undefined link: extern @791 function_decl name: @792 mngl: @793 type: @628 srcp: :0 chan: @794 body: undefined link: extern @792 identifier_node strg: __builtin_lroundf lngt: 17 @793 identifier_node strg: lroundf lngt: 7 @794 function_decl name: @793 type: @628 srcp: :0 chan: @795 body: undefined link: extern @795 function_decl name: @796 mngl: @797 type: @632 srcp: :0 chan: @798 body: undefined link: extern @796 identifier_node strg: __builtin_lroundl lngt: 17 @797 identifier_node strg: lroundl lngt: 7 @798 function_decl name: @797 type: @632 srcp: :0 chan: @799 body: undefined link: extern @799 function_decl name: @800 mngl: @801 type: @802 srcp: :0 chan: @803 body: undefined link: extern @800 identifier_node strg: __builtin_modf lngt: 14 @801 identifier_node strg: modf lngt: 4 @802 function_type size: @12 algn: 8 retn: @96 prms: @804 @803 function_decl name: @801 type: @802 srcp: :0 chan: @805 body: undefined link: extern @804 tree_list valu: @96 chan: @806 @805 function_decl name: @807 mngl: @808 type: @809 srcp: :0 chan: @810 body: undefined link: extern @806 tree_list valu: @811 chan: @146 @807 identifier_node strg: __builtin_modff lngt: 15 @808 identifier_node strg: modff lngt: 5 @809 function_type size: @12 algn: 8 retn: @93 prms: @812 @810 function_decl name: @808 type: @809 srcp: :0 chan: @813 body: undefined link: extern @811 pointer_type size: @19 algn: 64 ptd : @96 @812 tree_list valu: @93 chan: @814 @813 function_decl name: @815 mngl: @816 type: @817 srcp: :0 chan: @818 body: undefined link: extern @814 tree_list valu: @819 chan: @146 @815 identifier_node strg: __builtin_modfl lngt: 15 @816 identifier_node strg: modfl lngt: 5 @817 function_type size: @12 algn: 8 retn: @99 prms: @820 @818 function_decl name: @816 type: @817 srcp: :0 chan: @821 body: undefined link: extern @819 pointer_type size: @19 algn: 64 ptd : @93 @820 tree_list valu: @99 chan: @822 @821 function_decl name: @823 type: @824 srcp: :0 chan: @825 body: undefined link: extern @822 tree_list valu: @826 chan: @146 @823 identifier_node strg: __builtin_nan lngt: 13 @824 function_type size: @12 algn: 8 retn: @96 prms: @827 @825 function_decl name: @828 type: @829 srcp: :0 chan: @830 body: undefined link: extern @826 pointer_type size: @19 algn: 64 ptd : @99 @827 tree_list valu: @831 chan: @146 @828 identifier_node strg: __builtin_nanf lngt: 14 @829 function_type size: @12 algn: 8 retn: @93 prms: @832 @830 function_decl name: @833 type: @834 srcp: :0 chan: @835 body: undefined link: extern @831 pointer_type size: @19 algn: 64 ptd : @836 @832 tree_list valu: @831 chan: @146 @833 identifier_node strg: __builtin_nanl lngt: 14 @834 function_type size: @12 algn: 8 retn: @99 prms: @837 @835 function_decl name: @838 type: @839 srcp: :0 chan: @840 body: undefined link: extern @836 integer_type qual: c name: @4 unql: @9 size: @12 algn: 8 prec: 8 sign: signed min : @13 max : @14 @837 tree_list valu: @831 chan: @146 @838 identifier_node strg: __builtin_nand32 lngt: 16 @839 function_type size: @12 algn: 8 retn: @102 prms: @841 @840 function_decl name: @842 type: @843 srcp: :0 chan: @844 body: undefined link: extern @841 tree_list valu: @831 chan: @146 @842 identifier_node strg: __builtin_nand64 lngt: 16 @843 function_type size: @12 algn: 8 retn: @105 prms: @845 @844 function_decl name: @846 type: @847 srcp: :0 chan: @848 body: undefined link: extern @845 tree_list valu: @831 chan: @146 @846 identifier_node strg: __builtin_nand128 lngt: 17 @847 function_type size: @12 algn: 8 retn: @108 prms: @849 @848 function_decl name: @850 type: @824 srcp: :0 chan: @851 body: undefined link: extern @849 tree_list valu: @831 chan: @146 @850 identifier_node strg: __builtin_nans lngt: 14 @851 function_decl name: @852 type: @829 srcp: :0 chan: @853 body: undefined link: extern @852 identifier_node strg: __builtin_nansf lngt: 15 @853 function_decl name: @854 type: @834 srcp: :0 chan: @855 body: undefined link: extern @854 identifier_node strg: __builtin_nansl lngt: 15 @855 function_decl name: @856 mngl: @857 type: @135 srcp: :0 chan: @858 body: undefined link: extern @856 identifier_node strg: __builtin_nearbyint lngt: 19 @857 identifier_node strg: nearbyint lngt: 9 @858 function_decl name: @857 type: @135 srcp: :0 chan: @859 body: undefined link: extern @859 function_decl name: @860 mngl: @861 type: @149 srcp: :0 chan: @862 body: undefined link: extern @860 identifier_node strg: __builtin_nearbyintf lngt: 20 @861 identifier_node strg: nearbyintf lngt: 10 @862 function_decl name: @861 type: @149 srcp: :0 chan: @863 body: undefined link: extern @863 function_decl name: @864 mngl: @865 type: @170 srcp: :0 chan: @866 body: undefined link: extern @864 identifier_node strg: __builtin_nearbyintl lngt: 20 @865 identifier_node strg: nearbyintl lngt: 10 @866 function_decl name: @865 type: @170 srcp: :0 chan: @867 body: undefined link: extern @867 function_decl name: @868 mngl: @869 type: @208 srcp: :0 chan: @870 body: undefined link: extern @868 identifier_node strg: __builtin_nextafter lngt: 19 @869 identifier_node strg: nextafter lngt: 9 @870 function_decl name: @869 type: @208 srcp: :0 chan: @871 body: undefined link: extern @871 function_decl name: @872 mngl: @873 type: @215 srcp: :0 chan: @874 body: undefined link: extern @872 identifier_node strg: __builtin_nextafterf lngt: 20 @873 identifier_node strg: nextafterf lngt: 10 @874 function_decl name: @873 type: @215 srcp: :0 chan: @875 body: undefined link: extern @875 function_decl name: @876 mngl: @877 type: @222 srcp: :0 chan: @878 body: undefined link: extern @876 identifier_node strg: __builtin_nextafterl lngt: 20 @877 identifier_node strg: nextafterl lngt: 10 @878 function_decl name: @877 type: @222 srcp: :0 chan: @879 body: undefined link: extern @879 function_decl name: @880 mngl: @881 type: @882 srcp: :0 chan: @883 body: undefined link: extern @880 identifier_node strg: __builtin_nexttoward lngt: 20 @881 identifier_node strg: nexttoward lngt: 10 @882 function_type size: @12 algn: 8 retn: @96 prms: @884 @883 function_decl name: @881 type: @882 srcp: :0 chan: @885 body: undefined link: extern @884 tree_list valu: @96 chan: @886 @885 function_decl name: @887 mngl: @888 type: @889 srcp: :0 chan: @890 body: undefined link: extern @886 tree_list valu: @99 chan: @146 @887 identifier_node strg: __builtin_nexttowardf lngt: 21 @888 identifier_node strg: nexttowardf lngt: 11 @889 function_type size: @12 algn: 8 retn: @93 prms: @891 @890 function_decl name: @888 type: @889 srcp: :0 chan: @892 body: undefined link: extern @891 tree_list valu: @93 chan: @893 @892 function_decl name: @894 mngl: @895 type: @222 srcp: :0 chan: @896 body: undefined link: extern @893 tree_list valu: @99 chan: @146 @894 identifier_node strg: __builtin_nexttowardl lngt: 21 @895 identifier_node strg: nexttowardl lngt: 11 @896 function_decl name: @895 type: @222 srcp: :0 chan: @897 body: undefined link: extern @897 function_decl name: @898 mngl: @899 type: @208 srcp: :0 chan: @900 body: undefined link: extern @898 identifier_node strg: __builtin_pow lngt: 13 @899 identifier_node strg: pow lngt: 3 @900 function_decl name: @899 type: @208 srcp: :0 chan: @901 body: undefined link: extern @901 function_decl name: @902 mngl: @903 type: @135 srcp: :0 chan: @904 body: undefined link: extern @902 identifier_node strg: __builtin_pow10 lngt: 15 @903 identifier_node strg: pow10 lngt: 5 @904 function_decl name: @903 type: @135 srcp: :0 chan: @905 body: undefined link: extern @905 function_decl name: @906 mngl: @907 type: @149 srcp: :0 chan: @908 body: undefined link: extern @906 identifier_node strg: __builtin_pow10f lngt: 16 @907 identifier_node strg: pow10f lngt: 6 @908 function_decl name: @907 type: @149 srcp: :0 chan: @909 body: undefined link: extern @909 function_decl name: @910 mngl: @911 type: @170 srcp: :0 chan: @912 body: undefined link: extern @910 identifier_node strg: __builtin_pow10l lngt: 16 @911 identifier_node strg: pow10l lngt: 6 @912 function_decl name: @911 type: @170 srcp: :0 chan: @913 body: undefined link: extern @913 function_decl name: @914 mngl: @915 type: @215 srcp: :0 chan: @916 body: undefined link: extern @914 identifier_node strg: __builtin_powf lngt: 14 @915 identifier_node strg: powf lngt: 4 @916 function_decl name: @915 type: @215 srcp: :0 chan: @917 body: undefined link: extern @917 function_decl name: @918 type: @637 srcp: :0 chan: @919 body: undefined link: extern @918 identifier_node strg: __builtin_powi lngt: 14 @919 function_decl name: @920 type: @644 srcp: :0 chan: @921 body: undefined link: extern @920 identifier_node strg: __builtin_powif lngt: 15 @921 function_decl name: @922 type: @651 srcp: :0 chan: @923 body: undefined link: extern @922 identifier_node strg: __builtin_powil lngt: 15 @923 function_decl name: @924 mngl: @925 type: @222 srcp: :0 chan: @926 body: undefined link: extern @924 identifier_node strg: __builtin_powl lngt: 14 @925 identifier_node strg: powl lngt: 4 @926 function_decl name: @925 type: @222 srcp: :0 chan: @927 body: undefined link: extern @927 function_decl name: @928 mngl: @929 type: @208 srcp: :0 chan: @930 body: undefined link: extern @928 identifier_node strg: __builtin_remainder lngt: 19 @929 identifier_node strg: remainder lngt: 9 @930 function_decl name: @929 type: @208 srcp: :0 chan: @931 body: undefined link: extern @931 function_decl name: @932 mngl: @933 type: @215 srcp: :0 chan: @934 body: undefined link: extern @932 identifier_node strg: __builtin_remainderf lngt: 20 @933 identifier_node strg: remainderf lngt: 10 @934 function_decl name: @933 type: @215 srcp: :0 chan: @935 body: undefined link: extern @935 function_decl name: @936 mngl: @937 type: @222 srcp: :0 chan: @938 body: undefined link: extern @936 identifier_node strg: __builtin_remainderl lngt: 20 @937 identifier_node strg: remainderl lngt: 10 @938 function_decl name: @937 type: @222 srcp: :0 chan: @939 body: undefined link: extern @939 function_decl name: @940 mngl: @941 type: @942 srcp: :0 chan: @943 body: undefined link: extern @940 identifier_node strg: __builtin_remquo lngt: 16 @941 identifier_node strg: remquo lngt: 6 @942 function_type size: @12 algn: 8 retn: @96 prms: @944 @943 function_decl name: @941 type: @942 srcp: :0 chan: @945 body: undefined link: extern @944 tree_list valu: @96 chan: @946 @945 function_decl name: @947 mngl: @948 type: @949 srcp: :0 chan: @950 body: undefined link: extern @946 tree_list valu: @96 chan: @951 @947 identifier_node strg: __builtin_remquof lngt: 17 @948 identifier_node strg: remquof lngt: 7 @949 function_type size: @12 algn: 8 retn: @93 prms: @952 @950 function_decl name: @948 type: @949 srcp: :0 chan: @953 body: undefined link: extern @951 tree_list valu: @501 chan: @146 @952 tree_list valu: @93 chan: @954 @953 function_decl name: @955 mngl: @956 type: @957 srcp: :0 chan: @958 body: undefined link: extern @954 tree_list valu: @93 chan: @959 @955 identifier_node strg: __builtin_remquol lngt: 17 @956 identifier_node strg: remquol lngt: 7 @957 function_type size: @12 algn: 8 retn: @99 prms: @960 @958 function_decl name: @956 type: @957 srcp: :0 chan: @961 body: undefined link: extern @959 tree_list valu: @501 chan: @146 @960 tree_list valu: @99 chan: @962 @961 function_decl name: @963 mngl: @964 type: @135 srcp: :0 chan: @965 body: undefined link: extern @962 tree_list valu: @99 chan: @966 @963 identifier_node strg: __builtin_rint lngt: 14 @964 identifier_node strg: rint lngt: 4 @965 function_decl name: @964 type: @135 srcp: :0 chan: @967 body: undefined link: extern @966 tree_list valu: @501 chan: @146 @967 function_decl name: @968 mngl: @969 type: @149 srcp: :0 chan: @970 body: undefined link: extern @968 identifier_node strg: __builtin_rintf lngt: 15 @969 identifier_node strg: rintf lngt: 5 @970 function_decl name: @969 type: @149 srcp: :0 chan: @971 body: undefined link: extern @971 function_decl name: @972 mngl: @973 type: @170 srcp: :0 chan: @974 body: undefined link: extern @972 identifier_node strg: __builtin_rintl lngt: 15 @973 identifier_node strg: rintl lngt: 5 @974 function_decl name: @973 type: @170 srcp: :0 chan: @975 body: undefined link: extern @975 function_decl name: @976 mngl: @977 type: @135 srcp: :0 chan: @978 body: undefined link: extern @976 identifier_node strg: __builtin_round lngt: 15 @977 identifier_node strg: round lngt: 5 @978 function_decl name: @977 type: @135 srcp: :0 chan: @979 body: undefined link: extern @979 function_decl name: @980 mngl: @981 type: @149 srcp: :0 chan: @982 body: undefined link: extern @980 identifier_node strg: __builtin_roundf lngt: 16 @981 identifier_node strg: roundf lngt: 6 @982 function_decl name: @981 type: @149 srcp: :0 chan: @983 body: undefined link: extern @983 function_decl name: @984 mngl: @985 type: @170 srcp: :0 chan: @986 body: undefined link: extern @984 identifier_node strg: __builtin_roundl lngt: 16 @985 identifier_node strg: roundl lngt: 6 @986 function_decl name: @985 type: @170 srcp: :0 chan: @987 body: undefined link: extern @987 function_decl name: @988 mngl: @989 type: @208 srcp: :0 chan: @990 body: undefined link: extern @988 identifier_node strg: __builtin_scalb lngt: 15 @989 identifier_node strg: scalb lngt: 5 @990 function_decl name: @989 type: @208 srcp: :0 chan: @991 body: undefined link: extern @991 function_decl name: @992 mngl: @993 type: @215 srcp: :0 chan: @994 body: undefined link: extern @992 identifier_node strg: __builtin_scalbf lngt: 16 @993 identifier_node strg: scalbf lngt: 6 @994 function_decl name: @993 type: @215 srcp: :0 chan: @995 body: undefined link: extern @995 function_decl name: @996 mngl: @997 type: @222 srcp: :0 chan: @998 body: undefined link: extern @996 identifier_node strg: __builtin_scalbl lngt: 16 @997 identifier_node strg: scalbl lngt: 6 @998 function_decl name: @997 type: @222 srcp: :0 chan: @999 body: undefined link: extern @999 function_decl name: @1000 mngl: @1001 type: @1002 srcp: :0 chan: @1003 body: undefined link: extern @1000 identifier_node strg: __builtin_scalbln lngt: 17 @1001 identifier_node strg: scalbln lngt: 7 @1002 function_type size: @12 algn: 8 retn: @96 prms: @1004 @1003 function_decl name: @1001 type: @1002 srcp: :0 chan: @1005 body: undefined link: extern @1004 tree_list valu: @96 chan: @1006 @1005 function_decl name: @1007 mngl: @1008 type: @1009 srcp: :0 chan: @1010 body: undefined link: extern @1006 tree_list valu: @16 chan: @146 @1007 identifier_node strg: __builtin_scalblnf lngt: 18 @1008 identifier_node strg: scalblnf lngt: 8 @1009 function_type size: @12 algn: 8 retn: @93 prms: @1011 @1010 function_decl name: @1008 type: @1009 srcp: :0 chan: @1012 body: undefined link: extern @1011 tree_list valu: @93 chan: @1013 @1012 function_decl name: @1014 mngl: @1015 type: @1016 srcp: :0 chan: @1017 body: undefined link: extern @1013 tree_list valu: @16 chan: @146 @1014 identifier_node strg: __builtin_scalblnl lngt: 18 @1015 identifier_node strg: scalblnl lngt: 8 @1016 function_type size: @12 algn: 8 retn: @99 prms: @1018 @1017 function_decl name: @1015 type: @1016 srcp: :0 chan: @1019 body: undefined link: extern @1018 tree_list valu: @99 chan: @1020 @1019 function_decl name: @1021 mngl: @1022 type: @637 srcp: :0 chan: @1023 body: undefined link: extern @1020 tree_list valu: @16 chan: @146 @1021 identifier_node strg: __builtin_scalbn lngt: 16 @1022 identifier_node strg: scalbn lngt: 6 @1023 function_decl name: @1022 type: @637 srcp: :0 chan: @1024 body: undefined link: extern @1024 function_decl name: @1025 mngl: @1026 type: @644 srcp: :0 chan: @1027 body: undefined link: extern @1025 identifier_node strg: __builtin_scalbnf lngt: 17 @1026 identifier_node strg: scalbnf lngt: 7 @1027 function_decl name: @1026 type: @644 srcp: :0 chan: @1028 body: undefined link: extern @1028 function_decl name: @1029 mngl: @1030 type: @651 srcp: :0 chan: @1031 body: undefined link: extern @1029 identifier_node strg: __builtin_scalbnl lngt: 17 @1030 identifier_node strg: scalbnl lngt: 7 @1031 function_decl name: @1030 type: @651 srcp: :0 chan: @1032 body: undefined link: extern @1032 function_decl name: @1033 mngl: @1034 type: @547 srcp: :0 chan: @1035 body: undefined link: extern @1033 identifier_node strg: __builtin_signbit lngt: 17 @1034 identifier_node strg: signbit lngt: 7 @1035 function_decl name: @1034 type: @547 srcp: :0 chan: @1036 body: undefined link: extern @1036 function_decl name: @1037 mngl: @1038 type: @553 srcp: :0 chan: @1039 body: undefined link: extern @1037 identifier_node strg: __builtin_signbitf lngt: 18 @1038 identifier_node strg: signbitf lngt: 8 @1039 function_decl name: @1038 type: @553 srcp: :0 chan: @1040 body: undefined link: extern @1040 function_decl name: @1041 mngl: @1042 type: @559 srcp: :0 chan: @1043 body: undefined link: extern @1041 identifier_node strg: __builtin_signbitl lngt: 18 @1042 identifier_node strg: signbitl lngt: 8 @1043 function_decl name: @1042 type: @559 srcp: :0 chan: @1044 body: undefined link: extern @1044 function_decl name: @1045 mngl: @1046 type: @135 srcp: :0 chan: @1047 body: undefined link: extern @1045 identifier_node strg: __builtin_significand lngt: 21 @1046 identifier_node strg: significand lngt: 11 @1047 function_decl name: @1046 type: @135 srcp: :0 chan: @1048 body: undefined link: extern @1048 function_decl name: @1049 mngl: @1050 type: @149 srcp: :0 chan: @1051 body: undefined link: extern @1049 identifier_node strg: __builtin_significandf lngt: 22 @1050 identifier_node strg: significandf lngt: 12 @1051 function_decl name: @1050 type: @149 srcp: :0 chan: @1052 body: undefined link: extern @1052 function_decl name: @1053 mngl: @1054 type: @170 srcp: :0 chan: @1055 body: undefined link: extern @1053 identifier_node strg: __builtin_significandl lngt: 22 @1054 identifier_node strg: significandl lngt: 12 @1055 function_decl name: @1054 type: @170 srcp: :0 chan: @1056 body: undefined link: extern @1056 function_decl name: @1057 mngl: @1058 type: @135 srcp: :0 chan: @1059 body: undefined link: extern @1057 identifier_node strg: __builtin_sin lngt: 13 @1058 identifier_node strg: sin lngt: 3 @1059 function_decl name: @1058 type: @135 srcp: :0 chan: @1060 body: undefined link: extern @1060 function_decl name: @1061 mngl: @1062 type: @1063 srcp: :0 chan: @1064 body: undefined link: extern @1061 identifier_node strg: __builtin_sincos lngt: 16 @1062 identifier_node strg: sincos lngt: 6 @1063 function_type size: @12 algn: 8 retn: @124 prms: @1065 @1064 function_decl name: @1062 type: @1063 srcp: :0 chan: @1066 body: undefined link: extern @1065 tree_list valu: @96 chan: @1067 @1066 function_decl name: @1068 mngl: @1069 type: @1070 srcp: :0 chan: @1071 body: undefined link: extern @1067 tree_list valu: @811 chan: @1072 @1068 identifier_node strg: __builtin_sincosf lngt: 17 @1069 identifier_node strg: sincosf lngt: 7 @1070 function_type size: @12 algn: 8 retn: @124 prms: @1073 @1071 function_decl name: @1069 type: @1070 srcp: :0 chan: @1074 body: undefined link: extern @1072 tree_list valu: @811 chan: @146 @1073 tree_list valu: @93 chan: @1075 @1074 function_decl name: @1076 mngl: @1077 type: @1078 srcp: :0 chan: @1079 body: undefined link: extern @1075 tree_list valu: @819 chan: @1080 @1076 identifier_node strg: __builtin_sincosl lngt: 17 @1077 identifier_node strg: sincosl lngt: 7 @1078 function_type size: @12 algn: 8 retn: @124 prms: @1081 @1079 function_decl name: @1077 type: @1078 srcp: :0 chan: @1082 body: undefined link: extern @1080 tree_list valu: @819 chan: @146 @1081 tree_list valu: @99 chan: @1083 @1082 function_decl name: @1084 mngl: @1085 type: @149 srcp: :0 chan: @1086 body: undefined link: extern @1083 tree_list valu: @826 chan: @1087 @1084 identifier_node strg: __builtin_sinf lngt: 14 @1085 identifier_node strg: sinf lngt: 4 @1086 function_decl name: @1085 type: @149 srcp: :0 chan: @1088 body: undefined link: extern @1087 tree_list valu: @826 chan: @146 @1088 function_decl name: @1089 mngl: @1090 type: @135 srcp: :0 chan: @1091 body: undefined link: extern @1089 identifier_node strg: __builtin_sinh lngt: 14 @1090 identifier_node strg: sinh lngt: 4 @1091 function_decl name: @1090 type: @135 srcp: :0 chan: @1092 body: undefined link: extern @1092 function_decl name: @1093 mngl: @1094 type: @149 srcp: :0 chan: @1095 body: undefined link: extern @1093 identifier_node strg: __builtin_sinhf lngt: 15 @1094 identifier_node strg: sinhf lngt: 5 @1095 function_decl name: @1094 type: @149 srcp: :0 chan: @1096 body: undefined link: extern @1096 function_decl name: @1097 mngl: @1098 type: @170 srcp: :0 chan: @1099 body: undefined link: extern @1097 identifier_node strg: __builtin_sinhl lngt: 15 @1098 identifier_node strg: sinhl lngt: 5 @1099 function_decl name: @1098 type: @170 srcp: :0 chan: @1100 body: undefined link: extern @1100 function_decl name: @1101 mngl: @1102 type: @170 srcp: :0 chan: @1103 body: undefined link: extern @1101 identifier_node strg: __builtin_sinl lngt: 14 @1102 identifier_node strg: sinl lngt: 4 @1103 function_decl name: @1102 type: @170 srcp: :0 chan: @1104 body: undefined link: extern @1104 function_decl name: @1105 mngl: @1106 type: @135 srcp: :0 chan: @1107 body: undefined link: extern @1105 identifier_node strg: __builtin_sqrt lngt: 14 @1106 identifier_node strg: sqrt lngt: 4 @1107 function_decl name: @1106 type: @135 srcp: :0 chan: @1108 body: undefined link: extern @1108 function_decl name: @1109 mngl: @1110 type: @149 srcp: :0 chan: @1111 body: undefined link: extern @1109 identifier_node strg: __builtin_sqrtf lngt: 15 @1110 identifier_node strg: sqrtf lngt: 5 @1111 function_decl name: @1110 type: @149 srcp: :0 chan: @1112 body: undefined link: extern @1112 function_decl name: @1113 mngl: @1114 type: @170 srcp: :0 chan: @1115 body: undefined link: extern @1113 identifier_node strg: __builtin_sqrtl lngt: 15 @1114 identifier_node strg: sqrtl lngt: 5 @1115 function_decl name: @1114 type: @170 srcp: :0 chan: @1116 body: undefined link: extern @1116 function_decl name: @1117 mngl: @1118 type: @135 srcp: :0 chan: @1119 body: undefined link: extern @1117 identifier_node strg: __builtin_tan lngt: 13 @1118 identifier_node strg: tan lngt: 3 @1119 function_decl name: @1118 type: @135 srcp: :0 chan: @1120 body: undefined link: extern @1120 function_decl name: @1121 mngl: @1122 type: @149 srcp: :0 chan: @1123 body: undefined link: extern @1121 identifier_node strg: __builtin_tanf lngt: 14 @1122 identifier_node strg: tanf lngt: 4 @1123 function_decl name: @1122 type: @149 srcp: :0 chan: @1124 body: undefined link: extern @1124 function_decl name: @1125 mngl: @1126 type: @135 srcp: :0 chan: @1127 body: undefined link: extern @1125 identifier_node strg: __builtin_tanh lngt: 14 @1126 identifier_node strg: tanh lngt: 4 @1127 function_decl name: @1126 type: @135 srcp: :0 chan: @1128 body: undefined link: extern @1128 function_decl name: @1129 mngl: @1130 type: @149 srcp: :0 chan: @1131 body: undefined link: extern @1129 identifier_node strg: __builtin_tanhf lngt: 15 @1130 identifier_node strg: tanhf lngt: 5 @1131 function_decl name: @1130 type: @149 srcp: :0 chan: @1132 body: undefined link: extern @1132 function_decl name: @1133 mngl: @1134 type: @170 srcp: :0 chan: @1135 body: undefined link: extern @1133 identifier_node strg: __builtin_tanhl lngt: 15 @1134 identifier_node strg: tanhl lngt: 5 @1135 function_decl name: @1134 type: @170 srcp: :0 chan: @1136 body: undefined link: extern @1136 function_decl name: @1137 mngl: @1138 type: @170 srcp: :0 chan: @1139 body: undefined link: extern @1137 identifier_node strg: __builtin_tanl lngt: 14 @1138 identifier_node strg: tanl lngt: 4 @1139 function_decl name: @1138 type: @170 srcp: :0 chan: @1140 body: undefined link: extern @1140 function_decl name: @1141 mngl: @1142 type: @135 srcp: :0 chan: @1143 body: undefined link: extern @1141 identifier_node strg: __builtin_tgamma lngt: 16 @1142 identifier_node strg: tgamma lngt: 6 @1143 function_decl name: @1142 type: @135 srcp: :0 chan: @1144 body: undefined link: extern @1144 function_decl name: @1145 mngl: @1146 type: @149 srcp: :0 chan: @1147 body: undefined link: extern @1145 identifier_node strg: __builtin_tgammaf lngt: 17 @1146 identifier_node strg: tgammaf lngt: 7 @1147 function_decl name: @1146 type: @149 srcp: :0 chan: @1148 body: undefined link: extern @1148 function_decl name: @1149 mngl: @1150 type: @170 srcp: :0 chan: @1151 body: undefined link: extern @1149 identifier_node strg: __builtin_tgammal lngt: 17 @1150 identifier_node strg: tgammal lngt: 7 @1151 function_decl name: @1150 type: @170 srcp: :0 chan: @1152 body: undefined link: extern @1152 function_decl name: @1153 mngl: @1154 type: @135 srcp: :0 chan: @1155 body: undefined link: extern @1153 identifier_node strg: __builtin_trunc lngt: 15 @1154 identifier_node strg: trunc lngt: 5 @1155 function_decl name: @1154 type: @135 srcp: :0 chan: @1156 body: undefined link: extern @1156 function_decl name: @1157 mngl: @1158 type: @149 srcp: :0 chan: @1159 body: undefined link: extern @1157 identifier_node strg: __builtin_truncf lngt: 16 @1158 identifier_node strg: truncf lngt: 6 @1159 function_decl name: @1158 type: @149 srcp: :0 chan: @1160 body: undefined link: extern @1160 function_decl name: @1161 mngl: @1162 type: @170 srcp: :0 chan: @1163 body: undefined link: extern @1161 identifier_node strg: __builtin_truncl lngt: 16 @1162 identifier_node strg: truncl lngt: 6 @1163 function_decl name: @1162 type: @170 srcp: :0 chan: @1164 body: undefined link: extern @1164 function_decl name: @1165 mngl: @1166 type: @135 srcp: :0 chan: @1167 body: undefined link: extern @1165 identifier_node strg: __builtin_y0 lngt: 12 @1166 identifier_node strg: y0 lngt: 2 @1167 function_decl name: @1166 type: @135 srcp: :0 chan: @1168 body: undefined link: extern @1168 function_decl name: @1169 mngl: @1170 type: @149 srcp: :0 chan: @1171 body: undefined link: extern @1169 identifier_node strg: __builtin_y0f lngt: 13 @1170 identifier_node strg: y0f lngt: 3 @1171 function_decl name: @1170 type: @149 srcp: :0 chan: @1172 body: undefined link: extern @1172 function_decl name: @1173 mngl: @1174 type: @170 srcp: :0 chan: @1175 body: undefined link: extern @1173 identifier_node strg: __builtin_y0l lngt: 13 @1174 identifier_node strg: y0l lngt: 3 @1175 function_decl name: @1174 type: @170 srcp: :0 chan: @1176 body: undefined link: extern @1176 function_decl name: @1177 mngl: @1178 type: @135 srcp: :0 chan: @1179 body: undefined link: extern @1177 identifier_node strg: __builtin_y1 lngt: 12 @1178 identifier_node strg: y1 lngt: 2 @1179 function_decl name: @1178 type: @135 srcp: :0 chan: @1180 body: undefined link: extern @1180 function_decl name: @1181 mngl: @1182 type: @149 srcp: :0 chan: @1183 body: undefined link: extern @1181 identifier_node strg: __builtin_y1f lngt: 13 @1182 identifier_node strg: y1f lngt: 3 @1183 function_decl name: @1182 type: @149 srcp: :0 chan: @1184 body: undefined link: extern @1184 function_decl name: @1185 mngl: @1186 type: @170 srcp: :0 chan: @1187 body: undefined link: extern @1185 identifier_node strg: __builtin_y1l lngt: 13 @1186 identifier_node strg: y1l lngt: 3 @1187 function_decl name: @1186 type: @170 srcp: :0 chan: @1188 body: undefined link: extern @1188 function_decl name: @1189 mngl: @1190 type: @604 srcp: :0 chan: @1191 body: undefined link: extern @1189 identifier_node strg: __builtin_yn lngt: 12 @1190 identifier_node strg: yn lngt: 2 @1191 function_decl name: @1190 type: @604 srcp: :0 chan: @1192 body: undefined link: extern @1192 function_decl name: @1193 mngl: @1194 type: @611 srcp: :0 chan: @1195 body: undefined link: extern @1193 identifier_node strg: __builtin_ynf lngt: 13 @1194 identifier_node strg: ynf lngt: 3 @1195 function_decl name: @1194 type: @611 srcp: :0 chan: @1196 body: undefined link: extern @1196 function_decl name: @1197 mngl: @1198 type: @618 srcp: :0 chan: @1199 body: undefined link: extern @1197 identifier_node strg: __builtin_ynl lngt: 13 @1198 identifier_node strg: ynl lngt: 3 @1199 function_decl name: @1198 type: @618 srcp: :0 chan: @1200 body: undefined link: extern @1200 function_decl name: @1201 mngl: @1202 type: @1203 srcp: :0 chan: @1204 body: undefined link: extern @1201 identifier_node strg: __builtin_cabs lngt: 14 @1202 identifier_node strg: cabs lngt: 4 @1203 function_type size: @12 algn: 8 retn: @96 prms: @1205 @1204 function_decl name: @1202 type: @1203 srcp: :0 chan: @1206 body: undefined link: extern @1205 tree_list valu: @117 chan: @146 @1206 function_decl name: @1207 mngl: @1208 type: @1209 srcp: :0 chan: @1210 body: undefined link: extern @1207 identifier_node strg: __builtin_cabsf lngt: 15 @1208 identifier_node strg: cabsf lngt: 5 @1209 function_type size: @12 algn: 8 retn: @93 prms: @1211 @1210 function_decl name: @1208 type: @1209 srcp: :0 chan: @1212 body: undefined link: extern @1211 tree_list valu: @114 chan: @146 @1212 function_decl name: @1213 mngl: @1214 type: @1215 srcp: :0 chan: @1216 body: undefined link: extern @1213 identifier_node strg: __builtin_cabsl lngt: 15 @1214 identifier_node strg: cabsl lngt: 5 @1215 function_type size: @12 algn: 8 retn: @99 prms: @1217 @1216 function_decl name: @1214 type: @1215 srcp: :0 chan: @1218 body: undefined link: extern @1217 tree_list valu: @120 chan: @146 @1218 function_decl name: @1219 mngl: @1220 type: @1221 srcp: :0 chan: @1222 body: undefined link: extern @1219 identifier_node strg: __builtin_cacos lngt: 15 @1220 identifier_node strg: cacos lngt: 5 @1221 function_type size: @12 algn: 8 retn: @117 prms: @1223 @1222 function_decl name: @1220 type: @1221 srcp: :0 chan: @1224 body: undefined link: extern @1223 tree_list valu: @117 chan: @146 @1224 function_decl name: @1225 mngl: @1226 type: @1227 srcp: :0 chan: @1228 body: undefined link: extern @1225 identifier_node strg: __builtin_cacosf lngt: 16 @1226 identifier_node strg: cacosf lngt: 6 @1227 function_type size: @12 algn: 8 retn: @114 prms: @1229 @1228 function_decl name: @1226 type: @1227 srcp: :0 chan: @1230 body: undefined link: extern @1229 tree_list valu: @114 chan: @146 @1230 function_decl name: @1231 mngl: @1232 type: @1221 srcp: :0 chan: @1233 body: undefined link: extern @1231 identifier_node strg: __builtin_cacosh lngt: 16 @1232 identifier_node strg: cacosh lngt: 6 @1233 function_decl name: @1232 type: @1221 srcp: :0 chan: @1234 body: undefined link: extern @1234 function_decl name: @1235 mngl: @1236 type: @1227 srcp: :0 chan: @1237 body: undefined link: extern @1235 identifier_node strg: __builtin_cacoshf lngt: 17 @1236 identifier_node strg: cacoshf lngt: 7 @1237 function_decl name: @1236 type: @1227 srcp: :0 chan: @1238 body: undefined link: extern @1238 function_decl name: @1239 mngl: @1240 type: @1241 srcp: :0 chan: @1242 body: undefined link: extern @1239 identifier_node strg: __builtin_cacoshl lngt: 17 @1240 identifier_node strg: cacoshl lngt: 7 @1241 function_type size: @12 algn: 8 retn: @120 prms: @1243 @1242 function_decl name: @1240 type: @1241 srcp: :0 chan: @1244 body: undefined link: extern @1243 tree_list valu: @120 chan: @146 @1244 function_decl name: @1245 mngl: @1246 type: @1241 srcp: :0 chan: @1247 body: undefined link: extern @1245 identifier_node strg: __builtin_cacosl lngt: 16 @1246 identifier_node strg: cacosl lngt: 6 @1247 function_decl name: @1246 type: @1241 srcp: :0 chan: @1248 body: undefined link: extern @1248 function_decl name: @1249 mngl: @1250 type: @1203 srcp: :0 chan: @1251 body: undefined link: extern @1249 identifier_node strg: __builtin_carg lngt: 14 @1250 identifier_node strg: carg lngt: 4 @1251 function_decl name: @1250 type: @1203 srcp: :0 chan: @1252 body: undefined link: extern @1252 function_decl name: @1253 mngl: @1254 type: @1209 srcp: :0 chan: @1255 body: undefined link: extern @1253 identifier_node strg: __builtin_cargf lngt: 15 @1254 identifier_node strg: cargf lngt: 5 @1255 function_decl name: @1254 type: @1209 srcp: :0 chan: @1256 body: undefined link: extern @1256 function_decl name: @1257 mngl: @1258 type: @1215 srcp: :0 chan: @1259 body: undefined link: extern @1257 identifier_node strg: __builtin_cargl lngt: 15 @1258 identifier_node strg: cargl lngt: 5 @1259 function_decl name: @1258 type: @1215 srcp: :0 chan: @1260 body: undefined link: extern @1260 function_decl name: @1261 mngl: @1262 type: @1221 srcp: :0 chan: @1263 body: undefined link: extern @1261 identifier_node strg: __builtin_casin lngt: 15 @1262 identifier_node strg: casin lngt: 5 @1263 function_decl name: @1262 type: @1221 srcp: :0 chan: @1264 body: undefined link: extern @1264 function_decl name: @1265 mngl: @1266 type: @1227 srcp: :0 chan: @1267 body: undefined link: extern @1265 identifier_node strg: __builtin_casinf lngt: 16 @1266 identifier_node strg: casinf lngt: 6 @1267 function_decl name: @1266 type: @1227 srcp: :0 chan: @1268 body: undefined link: extern @1268 function_decl name: @1269 mngl: @1270 type: @1221 srcp: :0 chan: @1271 body: undefined link: extern @1269 identifier_node strg: __builtin_casinh lngt: 16 @1270 identifier_node strg: casinh lngt: 6 @1271 function_decl name: @1270 type: @1221 srcp: :0 chan: @1272 body: undefined link: extern @1272 function_decl name: @1273 mngl: @1274 type: @1227 srcp: :0 chan: @1275 body: undefined link: extern @1273 identifier_node strg: __builtin_casinhf lngt: 17 @1274 identifier_node strg: casinhf lngt: 7 @1275 function_decl name: @1274 type: @1227 srcp: :0 chan: @1276 body: undefined link: extern @1276 function_decl name: @1277 mngl: @1278 type: @1241 srcp: :0 chan: @1279 body: undefined link: extern @1277 identifier_node strg: __builtin_casinhl lngt: 17 @1278 identifier_node strg: casinhl lngt: 7 @1279 function_decl name: @1278 type: @1241 srcp: :0 chan: @1280 body: undefined link: extern @1280 function_decl name: @1281 mngl: @1282 type: @1241 srcp: :0 chan: @1283 body: undefined link: extern @1281 identifier_node strg: __builtin_casinl lngt: 16 @1282 identifier_node strg: casinl lngt: 6 @1283 function_decl name: @1282 type: @1241 srcp: :0 chan: @1284 body: undefined link: extern @1284 function_decl name: @1285 mngl: @1286 type: @1221 srcp: :0 chan: @1287 body: undefined link: extern @1285 identifier_node strg: __builtin_catan lngt: 15 @1286 identifier_node strg: catan lngt: 5 @1287 function_decl name: @1286 type: @1221 srcp: :0 chan: @1288 body: undefined link: extern @1288 function_decl name: @1289 mngl: @1290 type: @1227 srcp: :0 chan: @1291 body: undefined link: extern @1289 identifier_node strg: __builtin_catanf lngt: 16 @1290 identifier_node strg: catanf lngt: 6 @1291 function_decl name: @1290 type: @1227 srcp: :0 chan: @1292 body: undefined link: extern @1292 function_decl name: @1293 mngl: @1294 type: @1221 srcp: :0 chan: @1295 body: undefined link: extern @1293 identifier_node strg: __builtin_catanh lngt: 16 @1294 identifier_node strg: catanh lngt: 6 @1295 function_decl name: @1294 type: @1221 srcp: :0 chan: @1296 body: undefined link: extern @1296 function_decl name: @1297 mngl: @1298 type: @1227 srcp: :0 chan: @1299 body: undefined link: extern @1297 identifier_node strg: __builtin_catanhf lngt: 17 @1298 identifier_node strg: catanhf lngt: 7 @1299 function_decl name: @1298 type: @1227 srcp: :0 chan: @1300 body: undefined link: extern @1300 function_decl name: @1301 mngl: @1302 type: @1241 srcp: :0 chan: @1303 body: undefined link: extern @1301 identifier_node strg: __builtin_catanhl lngt: 17 @1302 identifier_node strg: catanhl lngt: 7 @1303 function_decl name: @1302 type: @1241 srcp: :0 chan: @1304 body: undefined link: extern @1304 function_decl name: @1305 mngl: @1306 type: @1241 srcp: :0 chan: @1307 body: undefined link: extern @1305 identifier_node strg: __builtin_catanl lngt: 16 @1306 identifier_node strg: catanl lngt: 6 @1307 function_decl name: @1306 type: @1241 srcp: :0 chan: @1308 body: undefined link: extern @1308 function_decl name: @1309 mngl: @1310 type: @1221 srcp: :0 chan: @1311 body: undefined link: extern @1309 identifier_node strg: __builtin_ccos lngt: 14 @1310 identifier_node strg: ccos lngt: 4 @1311 function_decl name: @1310 type: @1221 srcp: :0 chan: @1312 body: undefined link: extern @1312 function_decl name: @1313 mngl: @1314 type: @1227 srcp: :0 chan: @1315 body: undefined link: extern @1313 identifier_node strg: __builtin_ccosf lngt: 15 @1314 identifier_node strg: ccosf lngt: 5 @1315 function_decl name: @1314 type: @1227 srcp: :0 chan: @1316 body: undefined link: extern @1316 function_decl name: @1317 mngl: @1318 type: @1221 srcp: :0 chan: @1319 body: undefined link: extern @1317 identifier_node strg: __builtin_ccosh lngt: 15 @1318 identifier_node strg: ccosh lngt: 5 @1319 function_decl name: @1318 type: @1221 srcp: :0 chan: @1320 body: undefined link: extern @1320 function_decl name: @1321 mngl: @1322 type: @1227 srcp: :0 chan: @1323 body: undefined link: extern @1321 identifier_node strg: __builtin_ccoshf lngt: 16 @1322 identifier_node strg: ccoshf lngt: 6 @1323 function_decl name: @1322 type: @1227 srcp: :0 chan: @1324 body: undefined link: extern @1324 function_decl name: @1325 mngl: @1326 type: @1241 srcp: :0 chan: @1327 body: undefined link: extern @1325 identifier_node strg: __builtin_ccoshl lngt: 16 @1326 identifier_node strg: ccoshl lngt: 6 @1327 function_decl name: @1326 type: @1241 srcp: :0 chan: @1328 body: undefined link: extern @1328 function_decl name: @1329 mngl: @1330 type: @1241 srcp: :0 chan: @1331 body: undefined link: extern @1329 identifier_node strg: __builtin_ccosl lngt: 15 @1330 identifier_node strg: ccosl lngt: 5 @1331 function_decl name: @1330 type: @1241 srcp: :0 chan: @1332 body: undefined link: extern @1332 function_decl name: @1333 mngl: @1334 type: @1221 srcp: :0 chan: @1335 body: undefined link: extern @1333 identifier_node strg: __builtin_cexp lngt: 14 @1334 identifier_node strg: cexp lngt: 4 @1335 function_decl name: @1334 type: @1221 srcp: :0 chan: @1336 body: undefined link: extern @1336 function_decl name: @1337 mngl: @1338 type: @1227 srcp: :0 chan: @1339 body: undefined link: extern @1337 identifier_node strg: __builtin_cexpf lngt: 15 @1338 identifier_node strg: cexpf lngt: 5 @1339 function_decl name: @1338 type: @1227 srcp: :0 chan: @1340 body: undefined link: extern @1340 function_decl name: @1341 mngl: @1342 type: @1241 srcp: :0 chan: @1343 body: undefined link: extern @1341 identifier_node strg: __builtin_cexpl lngt: 15 @1342 identifier_node strg: cexpl lngt: 5 @1343 function_decl name: @1342 type: @1241 srcp: :0 chan: @1344 body: undefined link: extern @1344 function_decl name: @1345 mngl: @1346 type: @1203 srcp: :0 chan: @1347 body: undefined link: extern @1345 identifier_node strg: __builtin_cimag lngt: 15 @1346 identifier_node strg: cimag lngt: 5 @1347 function_decl name: @1346 type: @1203 srcp: :0 chan: @1348 body: undefined link: extern @1348 function_decl name: @1349 mngl: @1350 type: @1209 srcp: :0 chan: @1351 body: undefined link: extern @1349 identifier_node strg: __builtin_cimagf lngt: 16 @1350 identifier_node strg: cimagf lngt: 6 @1351 function_decl name: @1350 type: @1209 srcp: :0 chan: @1352 body: undefined link: extern @1352 function_decl name: @1353 mngl: @1354 type: @1215 srcp: :0 chan: @1355 body: undefined link: extern @1353 identifier_node strg: __builtin_cimagl lngt: 16 @1354 identifier_node strg: cimagl lngt: 6 @1355 function_decl name: @1354 type: @1215 srcp: :0 chan: @1356 body: undefined link: extern @1356 function_decl name: @1357 mngl: @1358 type: @1221 srcp: :0 chan: @1359 body: undefined link: extern @1357 identifier_node strg: __builtin_clog lngt: 14 @1358 identifier_node strg: clog lngt: 4 @1359 function_decl name: @1358 type: @1221 srcp: :0 chan: @1360 body: undefined link: extern @1360 function_decl name: @1361 mngl: @1362 type: @1227 srcp: :0 chan: @1363 body: undefined link: extern @1361 identifier_node strg: __builtin_clogf lngt: 15 @1362 identifier_node strg: clogf lngt: 5 @1363 function_decl name: @1362 type: @1227 srcp: :0 chan: @1364 body: undefined link: extern @1364 function_decl name: @1365 mngl: @1366 type: @1241 srcp: :0 chan: @1367 body: undefined link: extern @1365 identifier_node strg: __builtin_clogl lngt: 15 @1366 identifier_node strg: clogl lngt: 5 @1367 function_decl name: @1366 type: @1241 srcp: :0 chan: @1368 body: undefined link: extern @1368 function_decl name: @1369 mngl: @1370 type: @1221 srcp: :0 chan: @1371 body: undefined link: extern @1369 identifier_node strg: __builtin_clog10 lngt: 16 @1370 identifier_node strg: clog10 lngt: 6 @1371 function_decl name: @1370 type: @1221 srcp: :0 chan: @1372 body: undefined link: extern @1372 function_decl name: @1373 mngl: @1374 type: @1227 srcp: :0 chan: @1375 body: undefined link: extern @1373 identifier_node strg: __builtin_clog10f lngt: 17 @1374 identifier_node strg: clog10f lngt: 7 @1375 function_decl name: @1374 type: @1227 srcp: :0 chan: @1376 body: undefined link: extern @1376 function_decl name: @1377 mngl: @1378 type: @1241 srcp: :0 chan: @1379 body: undefined link: extern @1377 identifier_node strg: __builtin_clog10l lngt: 17 @1378 identifier_node strg: clog10l lngt: 7 @1379 function_decl name: @1378 type: @1241 srcp: :0 chan: @1380 body: undefined link: extern @1380 function_decl name: @1381 mngl: @1382 type: @1221 srcp: :0 chan: @1383 body: undefined link: extern @1381 identifier_node strg: __builtin_conj lngt: 14 @1382 identifier_node strg: conj lngt: 4 @1383 function_decl name: @1382 type: @1221 srcp: :0 chan: @1384 body: undefined link: extern @1384 function_decl name: @1385 mngl: @1386 type: @1227 srcp: :0 chan: @1387 body: undefined link: extern @1385 identifier_node strg: __builtin_conjf lngt: 15 @1386 identifier_node strg: conjf lngt: 5 @1387 function_decl name: @1386 type: @1227 srcp: :0 chan: @1388 body: undefined link: extern @1388 function_decl name: @1389 mngl: @1390 type: @1241 srcp: :0 chan: @1391 body: undefined link: extern @1389 identifier_node strg: __builtin_conjl lngt: 15 @1390 identifier_node strg: conjl lngt: 5 @1391 function_decl name: @1390 type: @1241 srcp: :0 chan: @1392 body: undefined link: extern @1392 function_decl name: @1393 mngl: @1394 type: @1395 srcp: :0 chan: @1396 body: undefined link: extern @1393 identifier_node strg: __builtin_cpow lngt: 14 @1394 identifier_node strg: cpow lngt: 4 @1395 function_type size: @12 algn: 8 retn: @117 prms: @1397 @1396 function_decl name: @1394 type: @1395 srcp: :0 chan: @1398 body: undefined link: extern @1397 tree_list valu: @117 chan: @1399 @1398 function_decl name: @1400 mngl: @1401 type: @1402 srcp: :0 chan: @1403 body: undefined link: extern @1399 tree_list valu: @117 chan: @146 @1400 identifier_node strg: __builtin_cpowf lngt: 15 @1401 identifier_node strg: cpowf lngt: 5 @1402 function_type size: @12 algn: 8 retn: @114 prms: @1404 @1403 function_decl name: @1401 type: @1402 srcp: :0 chan: @1405 body: undefined link: extern @1404 tree_list valu: @114 chan: @1406 @1405 function_decl name: @1407 mngl: @1408 type: @1409 srcp: :0 chan: @1410 body: undefined link: extern @1406 tree_list valu: @114 chan: @146 @1407 identifier_node strg: __builtin_cpowl lngt: 15 @1408 identifier_node strg: cpowl lngt: 5 @1409 function_type size: @12 algn: 8 retn: @120 prms: @1411 @1410 function_decl name: @1408 type: @1409 srcp: :0 chan: @1412 body: undefined link: extern @1411 tree_list valu: @120 chan: @1413 @1412 function_decl name: @1414 mngl: @1415 type: @1221 srcp: :0 chan: @1416 body: undefined link: extern @1413 tree_list valu: @120 chan: @146 @1414 identifier_node strg: __builtin_cproj lngt: 15 @1415 identifier_node strg: cproj lngt: 5 @1416 function_decl name: @1415 type: @1221 srcp: :0 chan: @1417 body: undefined link: extern @1417 function_decl name: @1418 mngl: @1419 type: @1227 srcp: :0 chan: @1420 body: undefined link: extern @1418 identifier_node strg: __builtin_cprojf lngt: 16 @1419 identifier_node strg: cprojf lngt: 6 @1420 function_decl name: @1419 type: @1227 srcp: :0 chan: @1421 body: undefined link: extern @1421 function_decl name: @1422 mngl: @1423 type: @1241 srcp: :0 chan: @1424 body: undefined link: extern @1422 identifier_node strg: __builtin_cprojl lngt: 16 @1423 identifier_node strg: cprojl lngt: 6 @1424 function_decl name: @1423 type: @1241 srcp: :0 chan: @1425 body: undefined link: extern @1425 function_decl name: @1426 mngl: @1427 type: @1203 srcp: :0 chan: @1428 body: undefined link: extern @1426 identifier_node strg: __builtin_creal lngt: 15 @1427 identifier_node strg: creal lngt: 5 @1428 function_decl name: @1427 type: @1203 srcp: :0 chan: @1429 body: undefined link: extern @1429 function_decl name: @1430 mngl: @1431 type: @1209 srcp: :0 chan: @1432 body: undefined link: extern @1430 identifier_node strg: __builtin_crealf lngt: 16 @1431 identifier_node strg: crealf lngt: 6 @1432 function_decl name: @1431 type: @1209 srcp: :0 chan: @1433 body: undefined link: extern @1433 function_decl name: @1434 mngl: @1435 type: @1215 srcp: :0 chan: @1436 body: undefined link: extern @1434 identifier_node strg: __builtin_creall lngt: 16 @1435 identifier_node strg: creall lngt: 6 @1436 function_decl name: @1435 type: @1215 srcp: :0 chan: @1437 body: undefined link: extern @1437 function_decl name: @1438 mngl: @1439 type: @1221 srcp: :0 chan: @1440 body: undefined link: extern @1438 identifier_node strg: __builtin_csin lngt: 14 @1439 identifier_node strg: csin lngt: 4 @1440 function_decl name: @1439 type: @1221 srcp: :0 chan: @1441 body: undefined link: extern @1441 function_decl name: @1442 mngl: @1443 type: @1227 srcp: :0 chan: @1444 body: undefined link: extern @1442 identifier_node strg: __builtin_csinf lngt: 15 @1443 identifier_node strg: csinf lngt: 5 @1444 function_decl name: @1443 type: @1227 srcp: :0 chan: @1445 body: undefined link: extern @1445 function_decl name: @1446 mngl: @1447 type: @1221 srcp: :0 chan: @1448 body: undefined link: extern @1446 identifier_node strg: __builtin_csinh lngt: 15 @1447 identifier_node strg: csinh lngt: 5 @1448 function_decl name: @1447 type: @1221 srcp: :0 chan: @1449 body: undefined link: extern @1449 function_decl name: @1450 mngl: @1451 type: @1227 srcp: :0 chan: @1452 body: undefined link: extern @1450 identifier_node strg: __builtin_csinhf lngt: 16 @1451 identifier_node strg: csinhf lngt: 6 @1452 function_decl name: @1451 type: @1227 srcp: :0 chan: @1453 body: undefined link: extern @1453 function_decl name: @1454 mngl: @1455 type: @1241 srcp: :0 chan: @1456 body: undefined link: extern @1454 identifier_node strg: __builtin_csinhl lngt: 16 @1455 identifier_node strg: csinhl lngt: 6 @1456 function_decl name: @1455 type: @1241 srcp: :0 chan: @1457 body: undefined link: extern @1457 function_decl name: @1458 mngl: @1459 type: @1241 srcp: :0 chan: @1460 body: undefined link: extern @1458 identifier_node strg: __builtin_csinl lngt: 15 @1459 identifier_node strg: csinl lngt: 5 @1460 function_decl name: @1459 type: @1241 srcp: :0 chan: @1461 body: undefined link: extern @1461 function_decl name: @1462 mngl: @1463 type: @1221 srcp: :0 chan: @1464 body: undefined link: extern @1462 identifier_node strg: __builtin_csqrt lngt: 15 @1463 identifier_node strg: csqrt lngt: 5 @1464 function_decl name: @1463 type: @1221 srcp: :0 chan: @1465 body: undefined link: extern @1465 function_decl name: @1466 mngl: @1467 type: @1227 srcp: :0 chan: @1468 body: undefined link: extern @1466 identifier_node strg: __builtin_csqrtf lngt: 16 @1467 identifier_node strg: csqrtf lngt: 6 @1468 function_decl name: @1467 type: @1227 srcp: :0 chan: @1469 body: undefined link: extern @1469 function_decl name: @1470 mngl: @1471 type: @1241 srcp: :0 chan: @1472 body: undefined link: extern @1470 identifier_node strg: __builtin_csqrtl lngt: 16 @1471 identifier_node strg: csqrtl lngt: 6 @1472 function_decl name: @1471 type: @1241 srcp: :0 chan: @1473 body: undefined link: extern @1473 function_decl name: @1474 mngl: @1475 type: @1221 srcp: :0 chan: @1476 body: undefined link: extern @1474 identifier_node strg: __builtin_ctan lngt: 14 @1475 identifier_node strg: ctan lngt: 4 @1476 function_decl name: @1475 type: @1221 srcp: :0 chan: @1477 body: undefined link: extern @1477 function_decl name: @1478 mngl: @1479 type: @1227 srcp: :0 chan: @1480 body: undefined link: extern @1478 identifier_node strg: __builtin_ctanf lngt: 15 @1479 identifier_node strg: ctanf lngt: 5 @1480 function_decl name: @1479 type: @1227 srcp: :0 chan: @1481 body: undefined link: extern @1481 function_decl name: @1482 mngl: @1483 type: @1221 srcp: :0 chan: @1484 body: undefined link: extern @1482 identifier_node strg: __builtin_ctanh lngt: 15 @1483 identifier_node strg: ctanh lngt: 5 @1484 function_decl name: @1483 type: @1221 srcp: :0 chan: @1485 body: undefined link: extern @1485 function_decl name: @1486 mngl: @1487 type: @1227 srcp: :0 chan: @1488 body: undefined link: extern @1486 identifier_node strg: __builtin_ctanhf lngt: 16 @1487 identifier_node strg: ctanhf lngt: 6 @1488 function_decl name: @1487 type: @1227 srcp: :0 chan: @1489 body: undefined link: extern @1489 function_decl name: @1490 mngl: @1491 type: @1241 srcp: :0 chan: @1492 body: undefined link: extern @1490 identifier_node strg: __builtin_ctanhl lngt: 16 @1491 identifier_node strg: ctanhl lngt: 6 @1492 function_decl name: @1491 type: @1241 srcp: :0 chan: @1493 body: undefined link: extern @1493 function_decl name: @1494 mngl: @1495 type: @1241 srcp: :0 chan: @1496 body: undefined link: extern @1494 identifier_node strg: __builtin_ctanl lngt: 15 @1495 identifier_node strg: ctanl lngt: 5 @1496 function_decl name: @1495 type: @1241 srcp: :0 chan: @1497 body: undefined link: extern @1497 function_decl name: @1498 mngl: @1499 type: @1500 srcp: :0 chan: @1501 body: undefined link: extern @1498 identifier_node strg: __builtin_bcmp lngt: 14 @1499 identifier_node strg: bcmp lngt: 4 @1500 function_type size: @12 algn: 8 retn: @3 prms: @1502 @1501 function_decl name: @1499 type: @1500 srcp: :0 chan: @1503 body: undefined link: extern @1502 tree_list valu: @1504 chan: @1505 @1503 function_decl name: @1506 mngl: @1507 type: @1508 srcp: :0 chan: @1509 body: undefined link: extern @1504 pointer_type size: @19 algn: 64 ptd : @1510 @1505 tree_list valu: @1504 chan: @1511 @1506 identifier_node strg: __builtin_bcopy lngt: 15 @1507 identifier_node strg: bcopy lngt: 5 @1508 function_type size: @12 algn: 8 retn: @124 prms: @1512 @1509 function_decl name: @1507 type: @1508 srcp: :0 chan: @1513 body: undefined link: extern @1510 void_type qual: c unql: @124 algn: 8 @1511 tree_list valu: @30 chan: @146 @1512 tree_list valu: @1504 chan: @1514 @1513 function_decl name: @1515 mngl: @1516 type: @1517 srcp: :0 chan: @1518 body: undefined link: extern @1514 tree_list valu: @157 chan: @1519 @1515 identifier_node strg: __builtin_bzero lngt: 15 @1516 identifier_node strg: bzero lngt: 5 @1517 function_type size: @12 algn: 8 retn: @124 prms: @1520 @1518 function_decl name: @1516 type: @1517 srcp: :0 chan: @1521 body: undefined link: extern @1519 tree_list valu: @30 chan: @146 @1520 tree_list valu: @157 chan: @1522 @1521 function_decl name: @1523 mngl: @1524 type: @1525 srcp: :0 chan: @1526 body: undefined link: extern @1522 tree_list valu: @30 chan: @146 @1523 identifier_node strg: __builtin_index lngt: 15 @1524 identifier_node strg: index lngt: 5 @1525 function_type size: @12 algn: 8 retn: @1527 prms: @1528 @1526 function_decl name: @1524 type: @1525 srcp: :0 chan: @1529 body: undefined link: extern @1527 pointer_type size: @19 algn: 64 ptd : @9 @1528 tree_list valu: @831 chan: @1530 @1529 function_decl name: @1531 mngl: @1532 type: @1533 srcp: :0 chan: @1534 body: undefined link: extern @1530 tree_list valu: @3 chan: @146 @1531 identifier_node strg: __builtin_memcmp lngt: 16 @1532 identifier_node strg: memcmp lngt: 6 @1533 function_type size: @12 algn: 8 retn: @3 prms: @1502 @1534 function_decl name: @1532 type: @1533 srcp: :0 chan: @1535 body: undefined link: extern @1535 function_decl name: @1536 mngl: @1537 type: @1538 srcp: :0 chan: @1539 body: undefined link: extern @1536 identifier_node strg: __builtin_memcpy lngt: 16 @1537 identifier_node strg: memcpy lngt: 6 @1538 function_type size: @12 algn: 8 retn: @157 prms: @1540 @1539 function_decl name: @1537 type: @1538 srcp: :0 chan: @1541 body: undefined link: extern @1540 tree_list valu: @157 chan: @1542 @1541 function_decl name: @1543 mngl: @1544 type: @1538 srcp: :0 chan: @1545 body: undefined link: extern @1542 tree_list valu: @1504 chan: @1546 @1543 identifier_node strg: __builtin_memmove lngt: 17 @1544 identifier_node strg: memmove lngt: 7 @1545 function_decl name: @1544 type: @1538 srcp: :0 chan: @1547 body: undefined link: extern @1546 tree_list valu: @30 chan: @146 @1547 function_decl name: @1548 mngl: @1549 type: @1538 srcp: :0 chan: @1550 body: undefined link: extern @1548 identifier_node strg: __builtin_mempcpy lngt: 17 @1549 identifier_node strg: mempcpy lngt: 7 @1550 function_decl name: @1549 type: @1538 srcp: :0 chan: @1551 body: undefined link: extern @1551 function_decl name: @1552 mngl: @1553 type: @1554 srcp: :0 chan: @1555 body: undefined link: extern @1552 identifier_node strg: __builtin_memset lngt: 16 @1553 identifier_node strg: memset lngt: 6 @1554 function_type size: @12 algn: 8 retn: @157 prms: @1556 @1555 function_decl name: @1553 type: @1554 srcp: :0 chan: @1557 body: undefined link: extern @1556 tree_list valu: @157 chan: @1558 @1557 function_decl name: @1559 mngl: @1560 type: @1525 srcp: :0 chan: @1561 body: undefined link: extern @1558 tree_list valu: @3 chan: @1562 @1559 identifier_node strg: __builtin_rindex lngt: 16 @1560 identifier_node strg: rindex lngt: 6 @1561 function_decl name: @1560 type: @1525 srcp: :0 chan: @1563 body: undefined link: extern @1562 tree_list valu: @30 chan: @146 @1563 function_decl name: @1564 mngl: @1565 type: @1566 srcp: :0 chan: @1567 body: undefined link: extern @1564 identifier_node strg: __builtin_stpcpy lngt: 16 @1565 identifier_node strg: stpcpy lngt: 6 @1566 function_type size: @12 algn: 8 retn: @1527 prms: @1568 @1567 function_decl name: @1565 type: @1566 srcp: :0 chan: @1569 body: undefined link: extern @1568 tree_list valu: @1527 chan: @1570 @1569 function_decl name: @1571 mngl: @1572 type: @1573 srcp: :0 chan: @1574 body: undefined link: extern @1570 tree_list valu: @831 chan: @146 @1571 identifier_node strg: __builtin_stpncpy lngt: 17 @1572 identifier_node strg: stpncpy lngt: 7 @1573 function_type size: @12 algn: 8 retn: @1527 prms: @1575 @1574 function_decl name: @1572 type: @1573 srcp: :0 chan: @1576 body: undefined link: extern @1575 tree_list valu: @1527 chan: @1577 @1576 function_decl name: @1578 mngl: @1579 type: @1580 srcp: :0 chan: @1581 body: undefined link: extern @1577 tree_list valu: @831 chan: @1582 @1578 identifier_node strg: __builtin_strcasecmp lngt: 20 @1579 identifier_node strg: strcasecmp lngt: 10 @1580 function_type size: @12 algn: 8 retn: @3 prms: @1583 @1581 function_decl name: @1579 type: @1580 srcp: :0 chan: @1584 body: undefined link: extern @1582 tree_list valu: @30 chan: @146 @1583 tree_list valu: @831 chan: @1585 @1584 function_decl name: @1586 mngl: @1587 type: @1566 srcp: :0 chan: @1588 body: undefined link: extern @1585 tree_list valu: @831 chan: @146 @1586 identifier_node strg: __builtin_strcat lngt: 16 @1587 identifier_node strg: strcat lngt: 6 @1588 function_decl name: @1587 type: @1566 srcp: :0 chan: @1589 body: undefined link: extern @1589 function_decl name: @1590 mngl: @1591 type: @1525 srcp: :0 chan: @1592 body: undefined link: extern @1590 identifier_node strg: __builtin_strchr lngt: 16 @1591 identifier_node strg: strchr lngt: 6 @1592 function_decl name: @1591 type: @1525 srcp: :0 chan: @1593 body: undefined link: extern @1593 function_decl name: @1594 mngl: @1595 type: @1580 srcp: :0 chan: @1596 body: undefined link: extern @1594 identifier_node strg: __builtin_strcmp lngt: 16 @1595 identifier_node strg: strcmp lngt: 6 @1596 function_decl name: @1595 type: @1580 srcp: :0 chan: @1597 body: undefined link: extern @1597 function_decl name: @1598 mngl: @1599 type: @1566 srcp: :0 chan: @1600 body: undefined link: extern @1598 identifier_node strg: __builtin_strcpy lngt: 16 @1599 identifier_node strg: strcpy lngt: 6 @1600 function_decl name: @1599 type: @1566 srcp: :0 chan: @1601 body: undefined link: extern @1601 function_decl name: @1602 mngl: @1603 type: @1604 srcp: :0 chan: @1605 body: undefined link: extern @1602 identifier_node strg: __builtin_strcspn lngt: 17 @1603 identifier_node strg: strcspn lngt: 7 @1604 function_type size: @12 algn: 8 retn: @30 prms: @1606 @1605 function_decl name: @1603 type: @1604 srcp: :0 chan: @1607 body: undefined link: extern @1606 tree_list valu: @831 chan: @1608 @1607 function_decl name: @1609 mngl: @1610 type: @1611 srcp: :0 chan: @1612 body: undefined link: extern @1608 tree_list valu: @831 chan: @146 @1609 identifier_node strg: __builtin_strdup lngt: 16 @1610 identifier_node strg: strdup lngt: 6 @1611 function_type size: @12 algn: 8 retn: @1527 prms: @1613 @1612 function_decl name: @1610 type: @1611 srcp: :0 chan: @1614 body: undefined link: extern @1613 tree_list valu: @831 chan: @146 @1614 function_decl name: @1615 mngl: @1616 type: @1617 srcp: :0 chan: @1618 body: undefined link: extern @1615 identifier_node strg: __builtin_strndup lngt: 17 @1616 identifier_node strg: strndup lngt: 7 @1617 function_type size: @12 algn: 8 retn: @1527 prms: @1619 @1618 function_decl name: @1616 type: @1617 srcp: :0 chan: @1620 body: undefined link: extern @1619 tree_list valu: @831 chan: @1621 @1620 function_decl name: @1622 mngl: @1623 type: @1624 srcp: :0 chan: @1625 body: undefined link: extern @1621 tree_list valu: @30 chan: @146 @1622 identifier_node strg: __builtin_strlen lngt: 16 @1623 identifier_node strg: strlen lngt: 6 @1624 function_type size: @12 algn: 8 retn: @30 prms: @1626 @1625 function_decl name: @1623 type: @1624 srcp: :0 chan: @1627 body: undefined link: extern @1626 tree_list valu: @831 chan: @146 @1627 function_decl name: @1628 mngl: @1629 type: @1630 srcp: :0 chan: @1631 body: undefined link: extern @1628 identifier_node strg: __builtin_strncasecmp lngt: 21 @1629 identifier_node strg: strncasecmp lngt: 11 @1630 function_type size: @12 algn: 8 retn: @3 prms: @1632 @1631 function_decl name: @1629 type: @1630 srcp: :0 chan: @1633 body: undefined link: extern @1632 tree_list valu: @831 chan: @1634 @1633 function_decl name: @1635 mngl: @1636 type: @1573 srcp: :0 chan: @1637 body: undefined link: extern @1634 tree_list valu: @831 chan: @1638 @1635 identifier_node strg: __builtin_strncat lngt: 17 @1636 identifier_node strg: strncat lngt: 7 @1637 function_decl name: @1636 type: @1573 srcp: :0 chan: @1639 body: undefined link: extern @1638 tree_list valu: @30 chan: @146 @1639 function_decl name: @1640 mngl: @1641 type: @1630 srcp: :0 chan: @1642 body: undefined link: extern @1640 identifier_node strg: __builtin_strncmp lngt: 17 @1641 identifier_node strg: strncmp lngt: 7 @1642 function_decl name: @1641 type: @1630 srcp: :0 chan: @1643 body: undefined link: extern @1643 function_decl name: @1644 mngl: @1645 type: @1573 srcp: :0 chan: @1646 body: undefined link: extern @1644 identifier_node strg: __builtin_strncpy lngt: 17 @1645 identifier_node strg: strncpy lngt: 7 @1646 function_decl name: @1645 type: @1573 srcp: :0 chan: @1647 body: undefined link: extern @1647 function_decl name: @1648 mngl: @1649 type: @1650 srcp: :0 chan: @1651 body: undefined link: extern @1648 identifier_node strg: __builtin_strpbrk lngt: 17 @1649 identifier_node strg: strpbrk lngt: 7 @1650 function_type size: @12 algn: 8 retn: @1527 prms: @1652 @1651 function_decl name: @1649 type: @1650 srcp: :0 chan: @1653 body: undefined link: extern @1652 tree_list valu: @831 chan: @1654 @1653 function_decl name: @1655 mngl: @1656 type: @1525 srcp: :0 chan: @1657 body: undefined link: extern @1654 tree_list valu: @831 chan: @146 @1655 identifier_node strg: __builtin_strrchr lngt: 17 @1656 identifier_node strg: strrchr lngt: 7 @1657 function_decl name: @1656 type: @1525 srcp: :0 chan: @1658 body: undefined link: extern @1658 function_decl name: @1659 mngl: @1660 type: @1604 srcp: :0 chan: @1661 body: undefined link: extern @1659 identifier_node strg: __builtin_strspn lngt: 16 @1660 identifier_node strg: strspn lngt: 6 @1661 function_decl name: @1660 type: @1604 srcp: :0 chan: @1662 body: undefined link: extern @1662 function_decl name: @1663 mngl: @1664 type: @1650 srcp: :0 chan: @1665 body: undefined link: extern @1663 identifier_node strg: __builtin_strstr lngt: 16 @1664 identifier_node strg: strstr lngt: 6 @1665 function_decl name: @1664 type: @1650 srcp: :0 chan: @1666 body: undefined link: extern @1666 function_decl name: @1667 mngl: @1668 type: @1669 srcp: :0 chan: @1670 body: undefined link: extern @1667 identifier_node strg: __builtin_fprintf lngt: 17 @1668 identifier_node strg: fprintf lngt: 7 @1669 function_type size: @12 algn: 8 retn: @3 prms: @1671 @1670 function_decl name: @1668 type: @1672 srcp: stdio.h:252 chan: @1673 body: undefined link: extern @1671 tree_list valu: @157 chan: @1674 @1672 function_type size: @12 algn: 8 retn: @3 prms: @1675 @1673 function_decl name: @1676 mngl: @1677 type: @1669 srcp: :0 chan: @1678 body: undefined link: extern @1674 tree_list valu: @831 @1675 tree_list valu: @1679 chan: @1680 @1676 identifier_node strg: __builtin_fprintf_unlocked lngt: 26 @1677 identifier_node strg: fprintf_unlocked lngt: 16 @1678 function_decl name: @1677 type: @1669 srcp: :0 chan: @1681 body: undefined link: extern @1679 pointer_type size: @19 algn: 64 ptd : @1682 @1680 tree_list valu: @831 @1681 function_decl name: @1683 mngl: @1684 type: @1685 srcp: :0 chan: @1686 body: undefined link: extern @1682 record_type name: @1687 unql: @1688 size: @1689 algn: 64 tag : struct flds: @1690 @1683 identifier_node strg: __builtin_putc lngt: 14 @1684 identifier_node strg: putc lngt: 4 @1685 function_type size: @12 algn: 8 retn: @3 prms: @1691 @1686 function_decl name: @1684 type: @1692 srcp: stdio.h:268 chan: @1693 body: undefined link: extern @1687 type_decl name: @1694 type: @1682 srcp: stdio.h:161 chan: @1695 @1688 record_type name: @1696 size: @1689 algn: 64 tag : struct flds: @1690 @1689 integer_cst type: @11 low : 1216 @1690 field_decl name: @1697 type: @1698 scpe: @1688 srcp: stdio.h:131 chan: @1699 size: @19 algn: 64 bpos: @20 @1691 tree_list valu: @3 chan: @1700 @1692 function_type size: @12 algn: 8 retn: @3 prms: @1701 @1693 function_decl name: @1702 mngl: @1703 type: @1685 srcp: :0 chan: @1704 body: undefined link: extern @1694 identifier_node strg: FILE lngt: 4 @1695 function_decl name: @1705 type: @1706 srcp: stdio.h:352 chan: @1707 args: @1708 link: static body: @1709 @1696 identifier_node strg: __sFILE lngt: 7 @1697 identifier_node strg: _p lngt: 2 @1698 pointer_type size: @19 algn: 64 ptd : @61 @1699 field_decl name: @1710 type: @3 scpe: @1688 srcp: stdio.h:132 chan: @1711 size: @5 algn: 32 bpos: @19 @1700 tree_list valu: @157 chan: @146 @1701 tree_list valu: @3 chan: @1712 @1702 identifier_node strg: __builtin_putc_unlocked lngt: 23 @1703 identifier_node strg: putc_unlocked lngt: 13 @1704 function_decl name: @1703 type: @1692 srcp: stdio.h:383 chan: @1713 body: undefined link: extern @1705 identifier_node strg: __sputc lngt: 7 @1706 function_type size: @12 algn: 8 retn: @3 prms: @1701 @1707 type_decl type: @1714 srcp: _structs.h:89 chan: @1715 @1708 parm_decl name: @1716 type: @3 scpe: @1695 srcp: stdio.h:352 chan: @1717 argt: @3 size: @5 algn: 32 used: 1 @1709 statement_list 0 : @1718 1 : @1719 2 : @1720 3 : @1721 4 : @1722 @1710 identifier_node strg: _r lngt: 2 @1711 field_decl name: @1723 type: @3 scpe: @1688 srcp: stdio.h:133 chan: @1724 size: @5 algn: 32 bpos: @1725 @1712 tree_list valu: @1679 chan: @146 @1713 function_decl name: @1726 mngl: @1727 type: @1685 srcp: :0 chan: @1728 body: undefined link: extern @1714 record_type name: @1729 size: @72 algn: 64 tag : struct flds: @1730 @1715 type_decl type: @1731 srcp: time.h:90 chan: @1732 @1716 identifier_node strg: _c lngt: 2 @1717 parm_decl name: @1697 type: @1679 scpe: @1695 srcp: stdio.h:352 argt: @1679 size: @19 algn: 64 used: 1 @1718 modify_expr type: @3 op 0: @1733 op 1: @1734 @1719 modify_expr type: @3 op 0: @1735 op 1: @1736 @1720 modify_expr type: @3 op 0: @1737 op 1: @1735 @1721 modify_expr type: @3 op 0: @1738 op 1: @1739 @1722 cond_expr type: @124 op 0: @1740 op 1: @1741 op 2: @1742 @1723 identifier_node strg: _w lngt: 2 @1724 field_decl name: @1743 type: @45 scpe: @1688 srcp: stdio.h:134 chan: @1744 size: @47 algn: 16 bpos: @72 @1725 integer_cst type: @11 low : 96 @1726 identifier_node strg: __builtin_fputc lngt: 15 @1727 identifier_node strg: fputc lngt: 5 @1728 function_decl name: @1727 type: @1692 srcp: stdio.h:253 chan: @1745 body: undefined link: extern @1729 identifier_node strg: timespec lngt: 8 @1730 field_decl name: @1746 type: @1747 scpe: @1714 srcp: _structs.h:90 chan: @1748 size: @19 algn: 64 bpos: @20 @1731 record_type name: @1749 size: @1750 algn: 64 tag : struct flds: @1751 @1732 type_decl type: @1752 srcp: _structs.h:101 chan: @1753 @1733 var_decl type: @3 scpe: @1695 srcp: stdio.h:353 note: artificial chan: @1735 size: @5 algn: 32 used: 1 @1734 component_ref type: @3 op 0: @1754 op 1: @1711 @1735 var_decl type: @3 scpe: @1695 srcp: stdio.h:353 note: artificial chan: @1738 size: @5 algn: 32 used: 1 @1736 minus_expr type: @3 op 0: @1733 op 1: @1755 @1737 component_ref type: @3 op 0: @1756 op 1: @1711 @1738 var_decl type: @3 scpe: @1695 srcp: stdio.h:353 note: artificial chan: @1757 size: @5 algn: 32 used: 1 @1739 component_ref type: @3 op 0: @1758 op 1: @1711 @1740 ge_expr type: @1759 op 0: @1738 op 1: @1760 @1741 goto_expr type: @124 labl: @1761 @1742 goto_expr type: @124 labl: @1762 @1743 identifier_node strg: _flags lngt: 6 @1744 field_decl name: @1763 type: @45 scpe: @1688 srcp: stdio.h:135 chan: @1764 size: @47 algn: 16 bpos: @1765 @1745 function_decl name: @1766 mngl: @1767 type: @1685 srcp: :0 chan: @1768 body: undefined link: extern @1746 identifier_node strg: tv_sec lngt: 6 @1747 integer_type name: @1769 unql: @16 size: @19 algn: 64 prec: 64 sign: signed min : @22 max : @23 @1748 field_decl name: @1770 type: @16 scpe: @1714 srcp: _structs.h:91 size: @19 algn: 64 bpos: @19 @1749 identifier_node strg: tm lngt: 2 @1750 integer_cst type: @11 low : 448 @1751 field_decl name: @1771 type: @3 scpe: @1731 srcp: time.h:91 chan: @1772 size: @5 algn: 32 bpos: @20 @1752 record_type name: @1773 size: @72 algn: 64 tag : struct flds: @1774 @1753 type_decl type: @1775 srcp: time.h:94 chan: @1776 @1754 indirect_ref type: @1682 op 0: @1717 @1755 integer_cst type: @3 low : 1 @1756 indirect_ref type: @1682 op 0: @1717 @1757 var_decl type: @3 scpe: @1695 srcp: stdio.h:353 note: artificial chan: @1777 size: @5 algn: 32 used: 1 @1758 indirect_ref type: @1682 op 0: @1717 @1759 boolean_type name: @1778 size: @12 algn: 8 @1760 integer_cst type: @3 low : 0 @1761 label_decl type: @124 scpe: @1695 srcp: stdio.h:353 note: artificial @1762 label_decl type: @124 scpe: @1695 srcp: stdio.h:357 note: artificial @1763 identifier_node strg: _file lngt: 5 @1764 field_decl name: @1779 type: @1780 scpe: @1688 srcp: stdio.h:136 chan: @1781 size: @72 algn: 64 bpos: @130 @1765 integer_cst type: @11 low : 144 @1766 identifier_node strg: __builtin_fputc_unlocked lngt: 24 @1767 identifier_node strg: fputc_unlocked lngt: 14 @1768 function_decl name: @1767 type: @1685 srcp: :0 chan: @1782 body: undefined link: extern @1769 type_decl name: @1783 type: @1747 srcp: _types.h:118 chan: @1784 @1770 identifier_node strg: tv_nsec lngt: 7 @1771 identifier_node strg: tm_sec lngt: 6 @1772 field_decl name: @1785 type: @3 scpe: @1731 srcp: time.h:92 chan: @1786 size: @5 algn: 32 bpos: @5 @1773 identifier_node strg: timeval lngt: 7 @1774 field_decl name: @1746 type: @1747 scpe: @1752 srcp: _structs.h:102 chan: @1787 size: @19 algn: 64 bpos: @20 @1775 record_type name: @1788 size: @122 algn: 64 tag : struct flds: @1789 @1776 type_decl type: @1790 srcp: time.h:144 chan: @1791 @1777 var_decl type: @3 scpe: @1695 srcp: stdio.h:353 note: artificial chan: @1792 size: @5 algn: 32 used: 1 @1778 type_decl name: @1793 type: @1759 srcp: :0 chan: @1794 @1779 identifier_node strg: _bf lngt: 3 @1780 record_type name: @1795 size: @72 algn: 64 tag : struct flds: @1796 @1781 field_decl name: @1797 type: @3 scpe: @1688 srcp: stdio.h:137 chan: @1798 size: @5 algn: 32 bpos: @1799 @1782 function_decl name: @1800 mngl: @1801 type: @1802 srcp: :0 chan: @1803 body: undefined link: extern @1783 identifier_node strg: __darwin_time_t lngt: 15 @1784 type_decl name: @1804 type: @1805 srcp: types.h:78 chan: @1806 @1785 identifier_node strg: tm_min lngt: 6 @1786 field_decl name: @1807 type: @3 scpe: @1731 srcp: time.h:93 chan: @1808 size: @5 algn: 32 bpos: @19 @1787 field_decl name: @1809 type: @1810 scpe: @1752 srcp: _structs.h:103 size: @5 algn: 32 bpos: @19 @1788 identifier_node strg: itimerval lngt: 9 @1789 field_decl name: @1811 type: @1752 scpe: @1775 srcp: time.h:95 chan: @1812 size: @72 algn: 64 bpos: @20 @1790 record_type name: @1813 size: @19 algn: 32 tag : struct flds: @1814 @1791 type_decl type: @1815 srcp: time.h:187 chan: @1816 @1792 var_decl type: @9 scpe: @1695 srcp: stdio.h:353 note: artificial chan: @1817 size: @12 algn: 8 used: 1 @1793 identifier_node strg: _Bool lngt: 5 @1794 function_decl name: @1818 mngl: @1819 type: @1820 srcp: socket.h:604 chan: @1821 body: undefined link: extern @1795 identifier_node strg: __sbuf lngt: 6 @1796 field_decl name: @1822 type: @1698 scpe: @1780 srcp: stdio.h:97 chan: @1823 size: @19 algn: 64 bpos: @20 @1797 identifier_node strg: _lbfsize lngt: 8 @1798 field_decl name: @1824 type: @157 scpe: @1688 srcp: stdio.h:140 chan: @1825 size: @19 algn: 64 bpos: @1826 @1799 integer_cst type: @11 low : 320 @1800 identifier_node strg: __builtin_fputs lngt: 15 @1801 identifier_node strg: _fputs lngt: 7 @1802 function_type size: @12 algn: 8 retn: @3 prms: @1827 @1803 function_decl name: @1828 mngl: @1801 type: @1829 srcp: stdio.h:254 chan: @1830 body: undefined link: extern @1804 identifier_node strg: int8_t lngt: 6 @1805 integer_type name: @1784 unql: @56 size: @12 algn: 8 prec: 8 sign: signed min : @58 max : @59 @1806 type_decl name: @1831 type: @1832 srcp: types.h:80 chan: @1833 @1807 identifier_node strg: tm_hour lngt: 7 @1808 field_decl name: @1834 type: @3 scpe: @1731 srcp: time.h:94 chan: @1835 size: @5 algn: 32 bpos: @1725 @1809 identifier_node strg: tv_usec lngt: 7 @1810 integer_type name: @1836 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @1811 identifier_node strg: it_interval lngt: 11 @1812 field_decl name: @1837 type: @1752 scpe: @1775 srcp: time.h:96 size: @72 algn: 64 bpos: @72 @1813 identifier_node strg: timezone lngt: 8 @1814 field_decl name: @1838 type: @3 scpe: @1790 srcp: time.h:145 chan: @1839 size: @5 algn: 32 bpos: @20 @1815 record_type name: @1840 size: @1841 algn: 32 tag : struct flds: @1842 @1816 type_decl name: @1843 type: @1844 srcp: curl.h:93 chan: @1845 @1817 var_decl type: @3 scpe: @1695 srcp: stdio.h:354 note: artificial chan: @1846 size: @5 algn: 32 used: 1 @1818 identifier_node strg: accept lngt: 6 @1819 identifier_node strg: _accept lngt: 8 @1820 function_type size: @12 algn: 8 retn: @3 prms: @1847 @1821 function_decl name: @1848 mngl: @1849 type: @1850 srcp: socket.h:605 chan: @1851 body: undefined link: extern @1822 identifier_node strg: _base lngt: 5 @1823 field_decl name: @1852 type: @3 scpe: @1780 srcp: stdio.h:98 size: @5 algn: 32 bpos: @19 @1824 identifier_node strg: _cookie lngt: 7 @1825 field_decl name: @1853 type: @1854 scpe: @1688 srcp: stdio.h:141 chan: @1855 size: @19 algn: 64 bpos: @1750 @1826 integer_cst type: @11 low : 384 @1827 tree_list valu: @831 chan: @1856 @1828 identifier_node strg: fputs lngt: 5 @1829 function_type size: @12 algn: 8 retn: @3 prms: @1857 @1830 function_decl name: @1858 mngl: @1859 type: @1802 srcp: :0 chan: @1860 body: undefined link: extern @1831 identifier_node strg: u_int8_t lngt: 8 @1832 integer_type name: @1806 unql: @61 size: @12 algn: 8 prec: 8 sign: unsigned min : @63 max : @64 @1833 type_decl name: @1861 type: @1862 srcp: types.h:83 chan: @1863 @1834 identifier_node strg: tm_mday lngt: 7 @1835 field_decl name: @1864 type: @3 scpe: @1731 srcp: time.h:95 chan: @1865 size: @5 algn: 32 bpos: @72 @1836 type_decl name: @1866 type: @1810 srcp: _types.h:132 chan: @1867 @1837 identifier_node strg: it_value lngt: 8 @1838 identifier_node strg: tz_minuteswest lngt: 14 @1839 field_decl name: @1868 type: @3 scpe: @1790 srcp: time.h:146 size: @5 algn: 32 bpos: @5 @1840 identifier_node strg: clockinfo lngt: 9 @1841 integer_cst type: @11 low : 160 @1842 field_decl name: @1869 type: @3 scpe: @1815 srcp: time.h:188 chan: @1870 size: @5 algn: 32 bpos: @20 @1843 identifier_node strg: CURL lngt: 4 @1844 void_type name: @1816 unql: @124 algn: 8 @1845 type_decl name: @1871 type: @1872 srcp: curl.h:127 chan: @1873 @1846 var_decl type: @1698 scpe: @1695 srcp: stdio.h:354 note: artificial chan: @1874 size: @19 algn: 64 used: 1 @1847 tree_list valu: @3 chan: @1875 @1848 identifier_node strg: bind lngt: 4 @1849 identifier_node strg: _bind lngt: 6 @1850 function_type size: @12 algn: 8 retn: @3 prms: @1876 @1851 function_decl name: @1877 mngl: @1878 type: @1850 srcp: socket.h:606 chan: @1879 body: undefined link: extern @1852 identifier_node strg: _size lngt: 5 @1853 identifier_node strg: _close lngt: 6 @1854 pointer_type size: @19 algn: 64 ptd : @1880 @1855 field_decl name: @1881 type: @1882 scpe: @1688 srcp: stdio.h:142 chan: @1883 size: @19 algn: 64 bpos: @1884 @1856 tree_list valu: @157 chan: @146 @1857 tree_list valu: @831 chan: @1885 @1858 identifier_node strg: __builtin_fputs_unlocked lngt: 24 @1859 identifier_node strg: fputs_unlocked lngt: 14 @1860 function_decl name: @1859 type: @1802 srcp: :0 chan: @1886 body: undefined link: extern @1861 identifier_node strg: int16_t lngt: 7 @1862 integer_type name: @1833 unql: @45 size: @47 algn: 16 prec: 16 sign: signed min : @48 max : @49 @1863 type_decl name: @1887 type: @1888 srcp: types.h:85 chan: @1889 @1864 identifier_node strg: tm_mon lngt: 6 @1865 field_decl name: @1890 type: @3 scpe: @1731 srcp: time.h:96 chan: @1891 size: @5 algn: 32 bpos: @1841 @1866 identifier_node strg: __darwin_suseconds_t lngt: 20 @1867 type_decl name: @1892 type: @1893 srcp: _types.h:133 chan: @1894 @1868 identifier_node strg: tz_dsttime lngt: 10 @1869 identifier_node strg: hz lngt: 2 @1870 field_decl name: @1895 type: @3 scpe: @1815 srcp: time.h:189 chan: @1896 size: @5 algn: 32 bpos: @5 @1871 identifier_node strg: curl_socket_t lngt: 13 @1872 integer_type name: @1845 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @1873 type_decl type: @1897 srcp: curl.h:133 chan: @1898 @1874 var_decl type: @1698 scpe: @1695 srcp: stdio.h:354 note: artificial chan: @1899 size: @19 algn: 64 used: 1 @1875 tree_list valu: @1900 chan: @1901 @1876 tree_list valu: @3 chan: @1902 @1877 identifier_node strg: connect lngt: 7 @1878 identifier_node strg: _connect lngt: 9 @1879 function_decl name: @1903 mngl: @1904 type: @1820 srcp: socket.h:608 chan: @1905 body: undefined link: extern @1880 function_type size: @12 algn: 8 retn: @3 prms: @1906 @1881 identifier_node strg: _read lngt: 5 @1882 pointer_type size: @19 algn: 64 ptd : @1907 @1883 field_decl name: @1908 type: @1909 scpe: @1688 srcp: stdio.h:143 chan: @1910 size: @19 algn: 64 bpos: @1911 @1884 integer_cst type: @11 low : 512 @1885 tree_list valu: @1679 chan: @146 @1886 function_decl name: @1912 mngl: @1913 type: @1914 srcp: :0 chan: @1915 body: undefined link: extern @1887 identifier_node strg: u_int16_t lngt: 9 @1888 integer_type name: @1863 unql: @51 size: @47 algn: 16 prec: 16 sign: unsigned min : @53 max : @54 @1889 type_decl name: @1916 type: @1917 srcp: types.h:88 chan: @1918 @1890 identifier_node strg: tm_year lngt: 7 @1891 field_decl name: @1919 type: @3 scpe: @1731 srcp: time.h:97 chan: @1920 size: @5 algn: 32 bpos: @130 @1892 identifier_node strg: __darwin_uid_t lngt: 14 @1893 integer_type name: @1867 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @1894 type_decl name: @1921 type: @1922 srcp: _types.h:134 chan: @1923 @1895 identifier_node strg: tick lngt: 4 @1896 field_decl name: @1924 type: @3 scpe: @1815 srcp: time.h:190 chan: @1925 size: @5 algn: 32 bpos: @19 @1897 record_type name: @1926 size: @1927 algn: 64 tag : struct flds: @1928 @1898 type_decl type: @1929 srcp: curl.h:142 chan: @1930 @1899 var_decl type: @61 scpe: @1695 srcp: stdio.h:354 note: artificial chan: @1931 size: @12 algn: 8 used: 1 @1900 pointer_type size: @19 algn: 64 ptd : @1932 @1901 tree_list valu: @1933 chan: @146 @1902 tree_list valu: @1934 chan: @1935 @1903 identifier_node strg: getpeername lngt: 11 @1904 identifier_node strg: _getpeername lngt: 13 @1905 function_decl name: @1936 mngl: @1937 type: @1820 srcp: socket.h:610 chan: @1938 body: undefined link: extern @1906 tree_list valu: @157 chan: @146 @1907 function_type size: @12 algn: 8 retn: @3 prms: @1939 @1908 identifier_node strg: _seek lngt: 5 @1909 pointer_type size: @19 algn: 64 ptd : @1940 @1910 field_decl name: @1941 type: @1942 scpe: @1688 srcp: stdio.h:144 chan: @1943 size: @19 algn: 64 bpos: @1944 @1911 integer_cst type: @11 low : 576 @1912 identifier_node strg: __builtin_fscanf lngt: 16 @1913 identifier_node strg: fscanf lngt: 6 @1914 function_type size: @12 algn: 8 retn: @3 prms: @1671 @1915 function_decl name: @1913 type: @1945 srcp: stdio.h:258 chan: @1946 body: undefined link: extern @1916 identifier_node strg: int32_t lngt: 7 @1917 integer_type name: @1889 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @1918 type_decl name: @1947 type: @1948 srcp: types.h:90 chan: @1949 @1919 identifier_node strg: tm_wday lngt: 7 @1920 field_decl name: @1950 type: @3 scpe: @1731 srcp: time.h:98 chan: @1951 size: @5 algn: 32 bpos: @1952 @1921 identifier_node strg: __darwin_useconds_t lngt: 19 @1922 integer_type name: @1894 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @1923 type_decl name: @1953 type: @1954 srcp: _types.h:135 chan: @1955 @1924 identifier_node strg: tickadj lngt: 7 @1925 field_decl name: @1956 type: @3 scpe: @1815 srcp: time.h:191 chan: @1957 size: @5 algn: 32 bpos: @1725 @1926 identifier_node strg: curl_httppost lngt: 13 @1927 integer_cst type: @11 low : 832 @1928 field_decl name: @1958 type: @1959 scpe: @1897 srcp: curl.h:134 chan: @1960 size: @19 algn: 64 bpos: @20 @1929 record_type name: @1961 size: @72 algn: 64 tag : struct flds: @1962 @1930 type_decl name: @1963 type: @1964 srcp: curl.h:171 chan: @1965 @1931 var_decl type: @61 scpe: @1695 srcp: stdio.h:354 note: artificial chan: @1966 size: @12 algn: 8 used: 1 @1932 record_type name: @1967 size: @72 algn: 8 tag : struct flds: @1968 @1933 pointer_type size: @19 algn: 64 ptd : @1969 @1934 pointer_type size: @19 algn: 64 ptd : @1970 @1935 tree_list valu: @1969 chan: @146 @1936 identifier_node strg: getsockname lngt: 11 @1937 identifier_node strg: _getsockname lngt: 13 @1938 function_decl name: @1971 type: @1972 srcp: socket.h:611 chan: @1973 body: undefined link: extern @1939 tree_list valu: @157 chan: @1974 @1940 function_type size: @12 algn: 8 retn: @1975 prms: @1976 @1941 identifier_node strg: _write lngt: 6 @1942 pointer_type size: @19 algn: 64 ptd : @1977 @1943 field_decl name: @1978 type: @1780 scpe: @1688 srcp: stdio.h:147 chan: @1979 size: @72 algn: 64 bpos: @1980 @1944 integer_cst type: @11 low : 640 @1945 function_type size: @12 algn: 8 retn: @3 prms: @1675 @1946 function_decl name: @1981 mngl: @1982 type: @1983 srcp: :0 chan: @1984 body: undefined link: extern @1947 identifier_node strg: u_int32_t lngt: 9 @1948 integer_type name: @1918 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @1949 type_decl name: @1985 type: @1986 srcp: types.h:93 chan: @1987 @1950 identifier_node strg: tm_yday lngt: 7 @1951 field_decl name: @1988 type: @3 scpe: @1731 srcp: time.h:99 chan: @1989 size: @5 algn: 32 bpos: @122 @1952 integer_cst type: @11 low : 224 @1953 identifier_node strg: __darwin_uuid_t lngt: 15 @1954 array_type name: @1923 unql: @1990 size: @72 algn: 8 elts: @61 domn: @1991 @1955 type_decl name: @1992 type: @1993 srcp: _types.h:136 chan: @1994 @1956 identifier_node strg: stathz lngt: 6 @1957 field_decl name: @1995 type: @3 scpe: @1815 srcp: time.h:192 size: @5 algn: 32 bpos: @72 @1958 identifier_node strg: next lngt: 4 @1959 pointer_type size: @19 algn: 64 ptd : @1897 @1960 field_decl name: @1996 type: @1527 scpe: @1897 srcp: curl.h:135 chan: @1997 size: @19 algn: 64 bpos: @19 @1961 identifier_node strg: curl_slist lngt: 10 @1962 field_decl name: @1998 type: @1527 scpe: @1929 srcp: curl.h:1904 chan: @1999 size: @19 algn: 64 bpos: @20 @1963 identifier_node strg: curl_progress_callback lngt: 22 @1964 pointer_type name: @1930 unql: @2000 size: @19 algn: 64 ptd : @2001 @1965 type_decl name: @2002 type: @2003 srcp: curl.h:197 chan: @2004 @1966 var_decl type: @3 scpe: @1695 srcp: stdio.h:356 note: artificial size: @5 algn: 32 used: 1 @1967 identifier_node strg: sockaddr lngt: 8 @1968 field_decl name: @2005 type: @2006 scpe: @1932 srcp: socket.h:323 chan: @2007 size: @12 algn: 8 bpos: @20 @1969 integer_type name: @2008 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @1970 record_type qual: c name: @1967 unql: @1932 size: @72 algn: 8 tag : struct flds: @1968 @1971 identifier_node strg: getsockopt lngt: 10 @1972 function_type size: @12 algn: 8 retn: @3 prms: @2009 @1973 function_decl name: @2010 mngl: @2011 type: @2012 srcp: socket.h:612 chan: @2013 body: undefined link: extern @1974 tree_list valu: @1527 chan: @2014 @1975 integer_type name: @2015 unql: @35 size: @19 algn: 64 prec: 64 sign: signed min : @37 max : @38 @1976 tree_list valu: @157 chan: @2016 @1977 function_type size: @12 algn: 8 retn: @3 prms: @2017 @1978 identifier_node strg: _ub lngt: 3 @1979 field_decl name: @2018 type: @2019 scpe: @1688 srcp: stdio.h:148 chan: @2020 size: @19 algn: 64 bpos: @1927 @1980 integer_cst type: @11 low : 704 @1981 identifier_node strg: __builtin_fwrite lngt: 16 @1982 identifier_node strg: _fwrite lngt: 8 @1983 function_type size: @12 algn: 8 retn: @30 prms: @2021 @1984 function_decl name: @2022 mngl: @1982 type: @2023 srcp: stdio.h:262 chan: @2024 body: undefined link: extern @1985 identifier_node strg: int64_t lngt: 7 @1986 integer_type name: @1949 unql: @35 size: @19 algn: 64 prec: 64 sign: signed min : @37 max : @38 @1987 type_decl name: @2025 type: @2026 srcp: types.h:95 chan: @2027 @1988 identifier_node strg: tm_isdst lngt: 8 @1989 field_decl name: @2028 type: @16 scpe: @1731 srcp: time.h:100 chan: @2029 size: @19 algn: 64 bpos: @1799 @1990 array_type size: @72 algn: 8 elts: @61 domn: @1991 @1991 integer_type size: @19 algn: 64 prec: 64 sign: signed min : @139 max : @2030 @1992 identifier_node strg: __darwin_uuid_string_t lngt: 22 @1993 array_type name: @1955 unql: @2031 size: @2032 algn: 8 elts: @9 domn: @2033 @1994 function_decl name: @2034 type: @2035 srcp: _OSByteOrder.h:49 chan: @2036 args: @2037 link: static body: @2038 @1995 identifier_node strg: profhz lngt: 6 @1996 identifier_node strg: name lngt: 4 @1997 field_decl name: @2039 type: @16 scpe: @1897 srcp: curl.h:136 chan: @2040 size: @19 algn: 64 bpos: @72 @1998 identifier_node strg: data lngt: 4 @1999 field_decl name: @1958 type: @2041 scpe: @1929 srcp: curl.h:1905 size: @19 algn: 64 bpos: @19 @2000 pointer_type size: @19 algn: 64 ptd : @2001 @2001 function_type size: @12 algn: 8 retn: @3 prms: @2042 @2002 identifier_node strg: curl_write_callback lngt: 19 @2003 pointer_type name: @1965 unql: @2043 size: @19 algn: 64 ptd : @2044 @2004 type_decl type: @2045 srcp: curl.h:202 chan: @2046 @2005 identifier_node strg: sa_len lngt: 6 @2006 integer_type name: @2047 unql: @61 size: @12 algn: 8 prec: 8 sign: unsigned min : @63 max : @64 @2007 field_decl name: @2048 type: @2049 scpe: @1932 srcp: socket.h:324 chan: @2050 size: @12 algn: 8 bpos: @12 @2008 type_decl name: @2051 type: @1969 srcp: socket.h:111 chan: @2052 @2009 tree_list valu: @3 chan: @2053 @2010 identifier_node strg: listen lngt: 6 @2011 identifier_node strg: _listen lngt: 8 @2012 function_type size: @12 algn: 8 retn: @3 prms: @2054 @2013 function_decl name: @2055 mngl: @2056 type: @2057 srcp: socket.h:613 chan: @2058 body: undefined link: extern @2014 tree_list valu: @3 chan: @146 @2015 type_decl name: @2059 type: @1975 srcp: stdio.h:85 chan: @2060 @2016 tree_list valu: @1975 chan: @2061 @2017 tree_list valu: @157 chan: @2062 @2018 identifier_node strg: _extra lngt: 6 @2019 pointer_type size: @19 algn: 64 ptd : @2063 @2020 field_decl name: @2064 type: @3 scpe: @1688 srcp: stdio.h:149 chan: @2065 size: @5 algn: 32 bpos: @2066 @2021 tree_list valu: @1504 chan: @2067 @2022 identifier_node strg: fwrite lngt: 6 @2023 function_type size: @12 algn: 8 retn: @2068 prms: @2069 @2024 function_decl name: @2070 mngl: @2071 type: @1983 srcp: :0 chan: @2072 body: undefined link: extern @2025 identifier_node strg: u_int64_t lngt: 9 @2026 integer_type name: @1987 unql: @40 size: @19 algn: 64 prec: 64 sign: unsigned min : @42 max : @43 @2027 type_decl name: @2073 type: @2074 srcp: types.h:98 chan: @2075 @2028 identifier_node strg: tm_gmtoff lngt: 9 @2029 field_decl name: @2076 type: @1527 scpe: @1731 srcp: time.h:101 size: @19 algn: 64 bpos: @1826 @2030 integer_cst type: @145 low : 15 @2031 array_type size: @2032 algn: 8 elts: @9 domn: @2033 @2032 integer_cst type: @11 low : 296 @2033 integer_type size: @19 algn: 64 prec: 64 sign: signed min : @139 max : @2077 @2034 identifier_node strg: _OSSwapInt16 lngt: 12 @2035 function_type size: @12 algn: 8 retn: @2078 prms: @2079 @2036 function_decl name: @2080 type: @2081 srcp: _OSByteOrder.h:58 chan: @2082 args: @2083 link: static body: @2084 @2037 parm_decl name: @2085 type: @2078 scpe: @1994 srcp: _OSByteOrder.h:48 argt: @3 size: @47 algn: 16 used: 1 @2038 statement_list 0 : @2086 1 : @2087 2 : @2088 3 : @2089 4 : @2090 5 : @2091 6 : @2092 7 : @2093 8 : @2094 @2039 identifier_node strg: namelength lngt: 10 @2040 field_decl name: @2095 type: @1527 scpe: @1897 srcp: curl.h:137 chan: @2096 size: @19 algn: 64 bpos: @130 @2041 pointer_type size: @19 algn: 64 ptd : @1929 @2042 tree_list valu: @157 chan: @2097 @2043 pointer_type size: @19 algn: 64 ptd : @2044 @2044 function_type size: @12 algn: 8 retn: @2068 prms: @2098 @2045 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @2099 @2046 const_decl name: @2100 type: @2045 srcp: curl.h:203 chan: @2101 cnst: @1760 @2047 type_decl name: @2102 type: @2006 srcp: _types.h:41 chan: @2103 @2048 identifier_node strg: sa_family lngt: 9 @2049 integer_type name: @2104 unql: @61 size: @12 algn: 8 prec: 8 sign: unsigned min : @63 max : @64 @2050 field_decl name: @2105 type: @2106 scpe: @1932 srcp: socket.h:325 size: @2107 algn: 8 bpos: @47 @2051 identifier_node strg: socklen_t lngt: 9 @2052 type_decl type: @2108 srcp: socket.h:131 chan: @2109 @2053 tree_list valu: @3 chan: @2110 @2054 tree_list valu: @3 chan: @2111 @2055 identifier_node strg: recv lngt: 4 @2056 identifier_node strg: _recv lngt: 6 @2057 function_type size: @12 algn: 8 retn: @2112 prms: @2113 @2058 function_decl name: @2114 mngl: @2115 type: @2116 srcp: socket.h:615 chan: @2117 body: undefined link: extern @2059 identifier_node strg: fpos_t lngt: 6 @2060 type_decl type: @1780 srcp: stdio.h:96 chan: @2118 @2061 tree_list valu: @3 chan: @146 @2062 tree_list valu: @831 chan: @2119 @2063 record_type name: @2120 algn: 8 tag : struct @2064 identifier_node strg: _ur lngt: 3 @2065 field_decl name: @2121 type: @2122 scpe: @1688 srcp: stdio.h:152 chan: @2123 size: @2124 algn: 8 bpos: @2125 @2066 integer_cst type: @11 low : 896 @2067 tree_list valu: @30 chan: @2126 @2068 integer_type name: @2127 unql: @30 size: @19 algn: 64 prec: 64 sign: unsigned min : @32 max : @33 @2069 tree_list valu: @2128 chan: @2129 @2070 identifier_node strg: __builtin_fwrite_unlocked lngt: 25 @2071 identifier_node strg: fwrite_unlocked lngt: 15 @2072 function_decl name: @2071 type: @1983 srcp: :0 chan: @2130 body: undefined link: extern @2073 identifier_node strg: register_t lngt: 10 @2074 integer_type name: @2027 unql: @35 size: @19 algn: 64 prec: 64 sign: signed min : @37 max : @38 @2075 type_decl name: @2131 type: @2132 srcp: types.h:105 chan: @2133 @2076 identifier_node strg: tm_zone lngt: 7 @2077 integer_cst type: @145 low : 36 @2078 integer_type name: @2134 unql: @51 size: @47 algn: 16 prec: 16 sign: unsigned min : @53 max : @54 @2079 tree_list valu: @2078 chan: @146 @2080 identifier_node strg: _OSSwapInt32 lngt: 12 @2081 function_type size: @12 algn: 8 retn: @2135 prms: @2136 @2082 function_decl name: @2137 type: @2138 srcp: _OSByteOrder.h:73 chan: @2139 args: @2140 link: static body: @2141 @2083 parm_decl name: @2085 type: @2135 scpe: @2036 srcp: _OSByteOrder.h:57 argt: @2135 size: @5 algn: 32 used: 1 @2084 statement_list 0 : @2142 1 : @2143 @2085 identifier_node strg: _data lngt: 5 @2086 modify_expr type: @3 op 0: @2144 op 1: @2145 @2087 modify_expr type: @3 op 0: @2146 op 1: @2147 @2088 modify_expr type: @45 op 0: @2148 op 1: @2149 @2089 modify_expr type: @51 op 0: @2150 op 1: @2151 @2090 modify_expr type: @45 op 0: @2152 op 1: @2153 @2091 modify_expr type: @45 op 0: @2154 op 1: @2155 @2092 modify_expr type: @51 op 0: @2156 op 1: @2157 @2093 modify_expr type: @3 op 0: @2158 op 1: @2159 @2094 return_expr type: @124 expr: @2160 @2095 identifier_node strg: contents lngt: 8 @2096 field_decl name: @2161 type: @16 scpe: @1897 srcp: curl.h:138 chan: @2162 size: @19 algn: 64 bpos: @122 @2097 tree_list valu: @96 chan: @2163 @2098 tree_list valu: @1527 chan: @2164 @2099 tree_list purp: @2100 valu: @1760 chan: @2165 @2100 identifier_node strg: CURLFILETYPE_FILE lngt: 17 @2101 const_decl name: @2166 type: @2045 srcp: curl.h:204 chan: @2167 cnst: @1755 @2102 identifier_node strg: __uint8_t lngt: 9 @2103 type_decl name: @2168 type: @2169 srcp: _types.h:42 chan: @2134 @2104 type_decl name: @2170 type: @2049 srcp: socket.h:106 chan: @2008 @2105 identifier_node strg: sa_data lngt: 7 @2106 array_type size: @2107 algn: 8 elts: @9 domn: @2171 @2107 integer_cst type: @11 low : 112 @2108 record_type name: @2172 size: @72 algn: 64 tag : struct flds: @2173 @2109 type_decl type: @2174 srcp: socket.h:219 chan: @2175 @2110 tree_list valu: @3 chan: @2176 @2111 tree_list valu: @3 chan: @146 @2112 integer_type name: @2177 unql: @16 size: @19 algn: 64 prec: 64 sign: signed min : @22 max : @23 @2113 tree_list valu: @3 chan: @2178 @2114 identifier_node strg: recvfrom lngt: 8 @2115 identifier_node strg: _recvfrom lngt: 10 @2116 function_type size: @12 algn: 8 retn: @2112 prms: @2179 @2117 function_decl name: @2180 mngl: @2181 type: @2182 srcp: socket.h:616 chan: @2183 body: undefined link: extern @2118 type_decl type: @2063 srcp: stdio.h:102 chan: @2184 @2119 tree_list valu: @3 chan: @146 @2120 identifier_node strg: __sFILEX lngt: 8 @2121 identifier_node strg: _ubuf lngt: 5 @2122 array_type size: @2124 algn: 8 elts: @61 domn: @2185 @2123 field_decl name: @2186 type: @2187 scpe: @1688 srcp: stdio.h:153 chan: @2188 size: @12 algn: 8 bpos: @2189 @2124 integer_cst type: @11 low : 24 @2125 integer_cst type: @11 low : 928 @2126 tree_list valu: @30 chan: @2190 @2127 type_decl name: @2191 type: @2068 srcp: types.h:230 chan: @2177 @2128 pointer_type size: @19 algn: 64 ptd : @2192 @2129 tree_list valu: @2068 chan: @2193 @2130 function_decl name: @2194 mngl: @2195 type: @2196 srcp: :0 chan: @2197 body: undefined link: extern @2131 identifier_node strg: intptr_t lngt: 8 @2132 integer_type name: @2075 unql: @16 size: @19 algn: 64 prec: 64 sign: signed min : @22 max : @23 @2133 type_decl name: @2198 type: @2199 srcp: types.h:109 chan: @2200 @2134 type_decl name: @2201 type: @2078 srcp: _types.h:43 chan: @2202 @2135 integer_type name: @2203 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @2136 tree_list valu: @2135 chan: @146 @2137 identifier_node strg: _OSSwapInt64 lngt: 12 @2138 function_type size: @12 algn: 8 retn: @2204 prms: @2205 @2139 type_decl name: @2206 type: @2207 srcp: types.h:84 chan: @2208 @2140 parm_decl name: @2085 type: @2204 scpe: @2082 srcp: _OSByteOrder.h:72 argt: @2204 size: @19 algn: 64 used: 1 @2141 statement_list 0 : @2209 1 : @2210 @2142 modify_expr type: @2135 op 0: @2211 op 1: @2212 @2143 return_expr type: @124 expr: @2213 @2144 var_decl type: @3 scpe: @1994 srcp: _OSByteOrder.h:50 note: artificial chan: @2146 size: @5 algn: 32 used: 1 @2145 nop_expr type: @3 op 0: @2037 @2146 var_decl type: @3 scpe: @1994 srcp: _OSByteOrder.h:50 note: artificial chan: @2148 size: @5 algn: 32 used: 1 @2147 lshift_expr type: @3 op 0: @2144 op 1: @2214 @2148 var_decl type: @45 scpe: @1994 srcp: _OSByteOrder.h:50 note: artificial chan: @2150 size: @47 algn: 16 used: 1 @2149 convert_expr type: @45 op 0: @2146 @2150 var_decl type: @51 scpe: @1994 srcp: _OSByteOrder.h:50 note: artificial chan: @2152 size: @47 algn: 16 used: 1 @2151 rshift_expr type: @2078 op 0: @2037 op 1: @2214 @2152 var_decl type: @45 scpe: @1994 srcp: _OSByteOrder.h:50 note: artificial chan: @2154 size: @47 algn: 16 used: 1 @2153 nop_expr type: @45 op 0: @2150 @2154 var_decl type: @45 scpe: @1994 srcp: _OSByteOrder.h:50 note: artificial chan: @2156 size: @47 algn: 16 used: 1 @2155 bit_ior_expr type: @45 op 0: @2148 op 1: @2152 @2156 var_decl type: @51 scpe: @1994 srcp: _OSByteOrder.h:50 note: artificial size: @47 algn: 16 used: 1 @2157 nop_expr type: @2078 op 0: @2154 @2158 var_decl type: @3 scpe: @1994 srcp: _OSByteOrder.h:50 note: artificial chan: @2144 size: @5 algn: 32 used: 1 @2159 nop_expr type: @3 op 0: @2156 @2160 modify_expr type: @3 op 0: @2215 op 1: @2158 @2161 identifier_node strg: contentslength lngt: 14 @2162 field_decl name: @2216 type: @1527 scpe: @1897 srcp: curl.h:139 chan: @2217 size: @19 algn: 64 bpos: @1799 @2163 tree_list valu: @96 chan: @2218 @2164 tree_list valu: @2068 chan: @2219 @2165 tree_list purp: @2166 valu: @1755 chan: @2220 @2166 identifier_node strg: CURLFILETYPE_DIRECTORY lngt: 22 @2167 const_decl name: @2221 type: @2045 srcp: curl.h:205 chan: @2222 cnst: @2223 @2168 identifier_node strg: __int16_t lngt: 9 @2169 integer_type name: @2103 unql: @45 size: @47 algn: 16 prec: 16 sign: signed min : @48 max : @49 @2170 identifier_node strg: sa_family_t lngt: 11 @2171 integer_type size: @19 algn: 64 prec: 64 sign: signed min : @139 max : @2224 @2172 identifier_node strg: iovec lngt: 5 @2173 field_decl name: @2225 type: @157 scpe: @2108 srcp: socket.h:132 chan: @2226 size: @19 algn: 64 bpos: @20 @2174 record_type name: @2227 size: @19 algn: 32 tag : struct flds: @2228 @2175 type_decl type: @2229 srcp: socket.h:237 chan: @2230 @2176 tree_list valu: @157 chan: @2231 @2177 type_decl name: @2232 type: @2112 srcp: types.h:235 chan: @2233 @2178 tree_list valu: @157 chan: @2234 @2179 tree_list valu: @3 chan: @2235 @2180 identifier_node strg: recvmsg lngt: 7 @2181 identifier_node strg: _recvmsg lngt: 9 @2182 function_type size: @12 algn: 8 retn: @2112 prms: @2236 @2183 function_decl name: @2237 mngl: @2238 type: @2239 srcp: socket.h:617 chan: @2240 body: undefined link: extern @2184 type_decl type: @1688 srcp: stdio.h:130 chan: @1687 @2185 integer_type size: @19 algn: 64 prec: 64 sign: signed min : @139 max : @2241 @2186 identifier_node strg: _nbuf lngt: 5 @2187 array_type size: @12 algn: 8 elts: @61 domn: @132 @2188 field_decl name: @2242 type: @1780 scpe: @1688 srcp: stdio.h:156 chan: @2243 size: @72 algn: 64 bpos: @2244 @2189 integer_cst type: @11 low : 952 @2190 tree_list valu: @157 chan: @146 @2191 identifier_node strg: size_t lngt: 6 @2192 void_type qual: c name: @121 unql: @124 algn: 8 @2193 tree_list valu: @2068 chan: @2245 @2194 identifier_node strg: __builtin_printf lngt: 16 @2195 identifier_node strg: printf lngt: 6 @2196 function_type size: @12 algn: 8 retn: @3 prms: @2246 @2197 function_decl name: @2195 type: @2247 srcp: stdio.h:267 chan: @2248 body: undefined link: extern @2198 identifier_node strg: uintptr_t lngt: 9 @2199 integer_type name: @2133 unql: @30 size: @19 algn: 64 prec: 64 sign: unsigned min : @32 max : @33 @2200 type_decl name: @2249 type: @2250 srcp: types.h:114 chan: @2251 @2201 identifier_node strg: __uint16_t lngt: 10 @2202 type_decl name: @2252 type: @2253 srcp: _types.h:44 chan: @2203 @2203 type_decl name: @2254 type: @2135 srcp: _types.h:45 chan: @2255 @2204 integer_type name: @2256 unql: @40 size: @19 algn: 64 prec: 64 sign: unsigned min : @42 max : @43 @2205 tree_list valu: @2204 chan: @146 @2206 identifier_node strg: u_char lngt: 6 @2207 integer_type name: @2139 unql: @61 size: @12 algn: 8 prec: 8 sign: unsigned min : @63 max : @64 @2208 type_decl name: @2257 type: @2258 srcp: types.h:85 chan: @2259 @2209 modify_expr type: @2204 op 0: @2260 op 1: @2261 @2210 return_expr type: @124 expr: @2262 @2211 var_decl type: @2135 scpe: @2036 srcp: _OSByteOrder.h:60 note: artificial size: @5 algn: 32 used: 1 @2212 call_expr type: @2263 fn : @2264 args: @2265 @2213 modify_expr type: @2135 op 0: @2266 op 1: @2211 @2214 integer_cst type: @3 low : 8 @2215 result_decl type: @3 scpe: @1994 srcp: _OSByteOrder.h:49 note: artificial size: @5 algn: 32 @2216 identifier_node strg: buffer lngt: 6 @2217 field_decl name: @2267 type: @16 scpe: @1897 srcp: curl.h:140 chan: @2268 size: @19 algn: 64 bpos: @1826 @2218 tree_list valu: @96 chan: @2269 @2219 tree_list valu: @2068 chan: @2270 @2220 tree_list purp: @2221 valu: @2223 chan: @2271 @2221 identifier_node strg: CURLFILETYPE_SYMLINK lngt: 20 @2222 const_decl name: @2272 type: @2045 srcp: curl.h:206 chan: @2273 cnst: @2274 @2223 integer_cst type: @3 low : 2 @2224 integer_cst type: @145 low : 13 @2225 identifier_node strg: iov_base lngt: 8 @2226 field_decl name: @2275 type: @2068 scpe: @2108 srcp: socket.h:133 size: @19 algn: 64 bpos: @19 @2227 identifier_node strg: linger lngt: 6 @2228 field_decl name: @2276 type: @3 scpe: @2174 srcp: socket.h:220 chan: @2277 size: @5 algn: 32 bpos: @20 @2229 record_type name: @2278 size: @19 algn: 32 tag : struct flds: @2279 @2230 type_decl type: @1932 srcp: socket.h:322 chan: @2280 @2231 tree_list valu: @1933 chan: @146 @2232 identifier_node strg: ssize_t lngt: 7 @2233 type_decl name: @2281 type: @2282 srcp: types.h:240 chan: @2283 @2234 tree_list valu: @2068 chan: @2284 @2235 tree_list valu: @157 chan: @2285 @2236 tree_list valu: @3 chan: @2286 @2237 identifier_node strg: send lngt: 4 @2238 identifier_node strg: _send lngt: 6 @2239 function_type size: @12 algn: 8 retn: @2112 prms: @2287 @2240 function_decl name: @2288 mngl: @2289 type: @2290 srcp: socket.h:618 chan: @2291 body: undefined link: extern @2241 integer_cst type: @145 low : 2 @2242 identifier_node strg: _lb lngt: 3 @2243 field_decl name: @2292 type: @3 scpe: @1688 srcp: stdio.h:159 chan: @2293 size: @5 algn: 32 bpos: @2294 @2244 integer_cst type: @11 low : 960 @2245 tree_list valu: @1679 chan: @146 @2246 tree_list valu: @831 @2247 function_type size: @12 algn: 8 retn: @3 prms: @2246 @2248 function_decl name: @2295 mngl: @2296 type: @2196 srcp: :0 chan: @2297 body: undefined link: extern @2249 identifier_node strg: user_addr_t lngt: 11 @2250 integer_type name: @2200 unql: @40 size: @19 algn: 64 prec: 64 sign: unsigned min : @42 max : @43 @2251 type_decl name: @2298 type: @2299 srcp: types.h:115 chan: @2300 @2252 identifier_node strg: __int32_t lngt: 9 @2253 integer_type name: @2202 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2254 identifier_node strg: __uint32_t lngt: 10 @2255 type_decl name: @2301 type: @2302 srcp: _types.h:46 chan: @2256 @2256 type_decl name: @2303 type: @2204 srcp: _types.h:47 chan: @2304 @2257 identifier_node strg: u_short lngt: 7 @2258 integer_type name: @2208 unql: @51 size: @47 algn: 16 prec: 16 sign: unsigned min : @53 max : @54 @2259 type_decl name: @2305 type: @2306 srcp: types.h:86 chan: @2307 @2260 var_decl type: @2204 scpe: @2082 srcp: _OSByteOrder.h:74 note: artificial size: @19 algn: 64 used: 1 @2261 call_expr type: @2308 fn : @2309 args: @2310 @2262 modify_expr type: @2204 op 0: @2311 op 1: @2260 @2263 integer_type size: @5 algn: 32 prec: 32 sign: unsigned min : @2312 max : @2313 @2264 addr_expr type: @2314 op 0: @2315 @2265 tree_list valu: @2083 @2266 result_decl type: @2135 scpe: @2036 srcp: _OSByteOrder.h:58 note: artificial size: @5 algn: 32 @2267 identifier_node strg: bufferlength lngt: 12 @2268 field_decl name: @2316 type: @1527 scpe: @1897 srcp: curl.h:141 chan: @2317 size: @19 algn: 64 bpos: @1750 @2269 tree_list valu: @96 chan: @146 @2270 tree_list valu: @157 chan: @146 @2271 tree_list purp: @2272 valu: @2274 chan: @2318 @2272 identifier_node strg: CURLFILETYPE_DEVICE_BLOCK lngt: 25 @2273 const_decl name: @2319 type: @2045 srcp: curl.h:207 chan: @2320 cnst: @2321 @2274 integer_cst type: @3 low : 3 @2275 identifier_node strg: iov_len lngt: 7 @2276 identifier_node strg: l_onoff lngt: 7 @2277 field_decl name: @2322 type: @3 scpe: @2174 srcp: socket.h:221 size: @5 algn: 32 bpos: @5 @2278 identifier_node strg: so_np_extensions lngt: 16 @2279 field_decl name: @2323 type: @1948 scpe: @2229 srcp: socket.h:238 chan: @2324 size: @5 algn: 32 bpos: @20 @2280 type_decl type: @2325 srcp: socket.h:335 chan: @2326 @2281 identifier_node strg: time_t lngt: 6 @2282 integer_type name: @2233 unql: @16 size: @19 algn: 64 prec: 64 sign: signed min : @22 max : @23 @2283 type_decl name: @2327 type: @2328 srcp: types.h:245 chan: @2329 @2284 tree_list valu: @3 chan: @146 @2285 tree_list valu: @2068 chan: @2330 @2286 tree_list valu: @2331 chan: @2332 @2287 tree_list valu: @3 chan: @2333 @2288 identifier_node strg: sendmsg lngt: 7 @2289 identifier_node strg: _sendmsg lngt: 9 @2290 function_type size: @12 algn: 8 retn: @2112 prms: @2334 @2291 function_decl name: @2335 mngl: @2336 type: @2337 srcp: socket.h:620 chan: @2338 body: undefined link: extern @2292 identifier_node strg: _blksize lngt: 8 @2293 field_decl name: @2339 type: @1975 scpe: @1688 srcp: stdio.h:160 size: @19 algn: 64 bpos: @2340 @2294 integer_cst type: @11 low : 1088 @2295 identifier_node strg: __builtin_printf_unlocked lngt: 25 @2296 identifier_node strg: printf_unlocked lngt: 15 @2297 function_decl name: @2296 type: @2196 srcp: :0 chan: @2341 body: undefined link: extern @2298 identifier_node strg: user_size_t lngt: 11 @2299 integer_type name: @2251 unql: @40 size: @19 algn: 64 prec: 64 sign: unsigned min : @42 max : @43 @2300 type_decl name: @2342 type: @2343 srcp: types.h:116 chan: @2344 @2301 identifier_node strg: __int64_t lngt: 9 @2302 integer_type name: @2255 unql: @35 size: @19 algn: 64 prec: 64 sign: signed min : @37 max : @38 @2303 identifier_node strg: __uint64_t lngt: 10 @2304 type_decl name: @2345 type: @2346 srcp: _types.h:49 chan: @2347 @2305 identifier_node strg: u_int lngt: 5 @2306 integer_type name: @2259 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @2307 type_decl name: @2348 type: @2349 srcp: types.h:88 chan: @2350 @2308 integer_type size: @19 algn: 64 prec: 64 sign: unsigned min : @2351 max : @2352 @2309 addr_expr type: @2353 op 0: @2354 @2310 tree_list valu: @2140 @2311 result_decl type: @2204 scpe: @2082 srcp: _OSByteOrder.h:73 note: artificial size: @19 algn: 64 @2312 integer_cst type: @2263 low : 0 @2313 integer_cst type: @2263 low : -1 @2314 pointer_type size: @19 algn: 64 ptd : @2355 @2315 function_decl name: @2356 type: @2357 srcp: :0 chan: @2354 body: undefined link: extern @2316 identifier_node strg: contenttype lngt: 11 @2317 field_decl name: @2358 type: @2041 scpe: @1897 srcp: curl.h:142 chan: @2359 size: @19 algn: 64 bpos: @1884 @2318 tree_list purp: @2319 valu: @2321 chan: @2360 @2319 identifier_node strg: CURLFILETYPE_DEVICE_CHAR lngt: 24 @2320 const_decl name: @2361 type: @2045 srcp: curl.h:208 chan: @2362 cnst: @2363 @2321 integer_cst type: @3 low : 4 @2322 identifier_node strg: l_linger lngt: 8 @2323 identifier_node strg: npx_flags lngt: 9 @2324 field_decl name: @2364 type: @1948 scpe: @2229 srcp: socket.h:239 size: @5 algn: 32 bpos: @5 @2325 record_type name: @2365 size: @5 algn: 16 tag : struct flds: @2366 @2326 type_decl type: @2367 srcp: socket.h:355 chan: @2368 @2327 identifier_node strg: useconds_t lngt: 10 @2328 integer_type name: @2283 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @2329 type_decl name: @2369 type: @2370 srcp: types.h:250 chan: @2371 @2330 tree_list valu: @3 chan: @2372 @2331 pointer_type size: @19 algn: 64 ptd : @2373 @2332 tree_list valu: @3 chan: @146 @2333 tree_list valu: @2128 chan: @2374 @2334 tree_list valu: @3 chan: @2375 @2335 identifier_node strg: sendto lngt: 6 @2336 identifier_node strg: _sendto lngt: 8 @2337 function_type size: @12 algn: 8 retn: @2112 prms: @2376 @2338 function_decl name: @2377 type: @2378 srcp: socket.h:621 chan: @2379 body: undefined link: extern @2339 identifier_node strg: _offset lngt: 7 @2340 integer_cst type: @11 low : 1152 @2341 function_decl name: @2380 mngl: @2381 type: @2382 srcp: :0 chan: @2383 body: undefined link: extern @2342 identifier_node strg: user_ssize_t lngt: 12 @2343 integer_type name: @2300 unql: @35 size: @19 algn: 64 prec: 64 sign: signed min : @37 max : @38 @2344 type_decl name: @2384 type: @2385 srcp: types.h:117 chan: @2386 @2345 identifier_node strg: __darwin_intptr_t lngt: 17 @2346 integer_type name: @2304 unql: @16 size: @19 algn: 64 prec: 64 sign: signed min : @22 max : @23 @2347 type_decl name: @2387 type: @2388 srcp: _types.h:50 chan: @2389 @2348 identifier_node strg: u_long lngt: 6 @2349 integer_type name: @2307 unql: @30 size: @19 algn: 64 prec: 64 sign: unsigned min : @32 max : @33 @2350 type_decl name: @2390 type: @2391 srcp: types.h:91 chan: @2392 @2351 integer_cst type: @2308 low : 0 @2352 integer_cst type: @2308 low : -1 @2353 pointer_type size: @19 algn: 64 ptd : @2393 @2354 function_decl name: @2394 type: @2395 srcp: :0 chan: @2396 body: undefined link: extern @2355 function_type qual: c unql: @2357 size: @12 algn: 8 retn: @2263 prms: @2397 @2356 identifier_node strg: __builtin_bswap32 lngt: 17 @2357 function_type size: @12 algn: 8 retn: @2263 prms: @2397 @2358 identifier_node strg: contentheader lngt: 13 @2359 field_decl name: @2398 type: @1959 scpe: @1897 srcp: curl.h:143 chan: @2399 size: @19 algn: 64 bpos: @1911 @2360 tree_list purp: @2361 valu: @2363 chan: @2400 @2361 identifier_node strg: CURLFILETYPE_NAMEDPIPE lngt: 22 @2362 const_decl name: @2401 type: @2045 srcp: curl.h:209 chan: @2402 cnst: @2403 @2363 integer_cst type: @3 low : 5 @2364 identifier_node strg: npx_mask lngt: 8 @2365 identifier_node strg: sockproto lngt: 9 @2366 field_decl name: @2404 type: @2078 scpe: @2325 srcp: socket.h:336 chan: @2405 size: @47 algn: 16 bpos: @20 @2367 record_type name: @2406 size: @2407 algn: 64 tag : struct flds: @2408 @2368 type_decl type: @2373 srcp: socket.h:462 chan: @2409 @2369 identifier_node strg: suseconds_t lngt: 11 @2370 integer_type name: @2329 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2371 type_decl type: @2410 srcp: _structs.h:184 chan: @2411 @2372 tree_list valu: @1900 chan: @2412 @2373 record_type name: @2413 size: @1826 algn: 64 tag : struct flds: @2414 @2374 tree_list valu: @2068 chan: @2415 @2375 tree_list valu: @2416 chan: @2417 @2376 tree_list valu: @3 chan: @2418 @2377 identifier_node strg: setsockopt lngt: 10 @2378 function_type size: @12 algn: 8 retn: @3 prms: @2419 @2379 function_decl name: @2420 type: @2012 srcp: socket.h:622 chan: @2421 body: undefined link: extern @2380 identifier_node strg: __builtin_putchar lngt: 17 @2381 identifier_node strg: putchar lngt: 7 @2382 function_type size: @12 algn: 8 retn: @3 prms: @2422 @2383 function_decl name: @2381 type: @2382 srcp: stdio.h:269 chan: @2423 body: undefined link: extern @2384 identifier_node strg: user_long_t lngt: 11 @2385 integer_type name: @2344 unql: @35 size: @19 algn: 64 prec: 64 sign: signed min : @37 max : @38 @2386 type_decl name: @2424 type: @2425 srcp: types.h:118 chan: @2426 @2387 identifier_node strg: __darwin_natural_t lngt: 18 @2388 integer_type name: @2347 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @2389 type_decl name: @2427 type: @2428 srcp: _types.h:70 chan: @2429 @2390 identifier_node strg: ushort lngt: 6 @2391 integer_type name: @2350 unql: @51 size: @47 algn: 16 prec: 16 sign: unsigned min : @53 max : @54 @2392 type_decl name: @2430 type: @2431 srcp: types.h:92 chan: @2432 @2393 function_type qual: c unql: @2395 size: @12 algn: 8 retn: @2308 prms: @2433 @2394 identifier_node strg: __builtin_bswap64 lngt: 17 @2395 function_type size: @12 algn: 8 retn: @2308 prms: @2433 @2396 function_decl name: @2434 mngl: @2435 type: @2436 srcp: :0 chan: @2437 body: undefined link: extern @2397 tree_list valu: @2263 chan: @146 @2398 identifier_node strg: more lngt: 4 @2399 field_decl name: @2438 type: @16 scpe: @1897 srcp: curl.h:146 chan: @2439 size: @19 algn: 64 bpos: @1944 @2400 tree_list purp: @2401 valu: @2403 chan: @2440 @2401 identifier_node strg: CURLFILETYPE_SOCKET lngt: 19 @2402 const_decl name: @2441 type: @2045 srcp: curl.h:210 chan: @2442 cnst: @2443 @2403 integer_cst type: @3 low : 6 @2404 identifier_node strg: sp_family lngt: 9 @2405 field_decl name: @2444 type: @2078 scpe: @2325 srcp: socket.h:337 size: @47 algn: 16 bpos: @47 @2406 identifier_node strg: sockaddr_storage lngt: 16 @2407 integer_cst type: @11 low : 1024 @2408 field_decl name: @2445 type: @2006 scpe: @2367 srcp: socket.h:356 chan: @2446 size: @12 algn: 8 bpos: @20 @2409 type_decl type: @2447 srcp: socket.h:502 chan: @2448 @2410 record_type name: @2449 size: @2407 algn: 32 tag : struct flds: @2450 @2411 type_decl name: @2449 type: @2451 srcp: _structs.h:186 chan: @2452 @2412 tree_list valu: @1933 chan: @146 @2413 identifier_node strg: msghdr lngt: 6 @2414 field_decl name: @2453 type: @157 scpe: @2373 srcp: socket.h:463 chan: @2454 size: @19 algn: 64 bpos: @20 @2415 tree_list valu: @3 chan: @146 @2416 pointer_type size: @19 algn: 64 ptd : @2455 @2417 tree_list valu: @3 chan: @146 @2418 tree_list valu: @2128 chan: @2456 @2419 tree_list valu: @3 chan: @2457 @2420 identifier_node strg: shutdown lngt: 8 @2421 function_decl name: @2458 type: @2382 srcp: socket.h:623 chan: @2459 body: undefined link: extern @2422 tree_list valu: @3 chan: @146 @2423 function_decl name: @2460 mngl: @2461 type: @2382 srcp: :0 chan: @2462 body: undefined link: extern @2424 identifier_node strg: user_ulong_t lngt: 12 @2425 integer_type name: @2386 unql: @40 size: @19 algn: 64 prec: 64 sign: unsigned min : @42 max : @43 @2426 type_decl name: @2463 type: @2464 srcp: types.h:119 chan: @2465 @2427 identifier_node strg: __darwin_ct_rune_t lngt: 18 @2428 integer_type name: @2389 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2429 type_decl type: @2466 srcp: _types.h:76 chan: @2467 @2430 identifier_node strg: uint lngt: 4 @2431 integer_type name: @2392 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @2432 type_decl name: @2468 type: @2469 srcp: types.h:95 chan: @2470 @2433 tree_list valu: @2308 chan: @146 @2434 identifier_node strg: __builtin_calloc lngt: 16 @2435 identifier_node strg: calloc lngt: 6 @2436 function_type size: @12 algn: 8 retn: @157 prms: @2471 @2437 function_decl name: @2435 type: @2436 srcp: :0 chan: @2472 body: undefined link: extern @2438 identifier_node strg: flags lngt: 5 @2439 field_decl name: @2473 type: @1527 scpe: @1897 srcp: curl.h:160 chan: @2474 size: @19 algn: 64 bpos: @1980 @2440 tree_list purp: @2441 valu: @2443 chan: @2475 @2441 identifier_node strg: CURLFILETYPE_DOOR lngt: 17 @2442 const_decl name: @2476 type: @2045 srcp: curl.h:213 chan: @2477 cnst: @2214 @2443 integer_cst type: @3 low : 7 @2444 identifier_node strg: sp_protocol lngt: 11 @2445 identifier_node strg: ss_len lngt: 6 @2446 field_decl name: @2478 type: @2049 scpe: @2367 srcp: socket.h:357 chan: @2479 size: @12 algn: 8 bpos: @12 @2447 record_type name: @2480 size: @1725 algn: 32 tag : struct flds: @2481 @2448 type_decl type: @2482 srcp: socket.h:592 chan: @2483 @2449 identifier_node strg: fd_set lngt: 6 @2450 field_decl name: @2484 type: @2485 scpe: @2410 srcp: _structs.h:185 size: @2407 algn: 32 bpos: @20 @2451 record_type name: @2411 unql: @2410 size: @2407 algn: 32 tag : struct flds: @2450 @2452 function_decl name: @2486 type: @2487 srcp: _structs.h:192 chan: @2488 args: @2489 link: static body: @2490 @2453 identifier_node strg: msg_name lngt: 8 @2454 field_decl name: @2491 type: @1969 scpe: @2373 srcp: socket.h:464 chan: @2492 size: @5 algn: 32 bpos: @19 @2455 record_type qual: c name: @2413 unql: @2373 size: @1826 algn: 64 tag : struct flds: @2414 @2456 tree_list valu: @2068 chan: @2493 @2457 tree_list valu: @3 chan: @2494 @2458 identifier_node strg: sockatmark lngt: 10 @2459 function_decl name: @2495 type: @2496 srcp: socket.h:624 chan: @2497 body: undefined link: extern @2460 identifier_node strg: __builtin_putchar_unlocked lngt: 26 @2461 identifier_node strg: putchar_unlocked lngt: 16 @2462 function_decl name: @2461 type: @2382 srcp: stdio.h:384 chan: @2498 body: undefined link: extern @2463 identifier_node strg: user_time_t lngt: 11 @2464 integer_type name: @2426 unql: @35 size: @19 algn: 64 prec: 64 sign: signed min : @37 max : @38 @2465 type_decl name: @2499 type: @2500 srcp: types.h:120 chan: @2501 @2466 union_type size: @2407 algn: 64 tag : union flds: @2502 @2467 type_decl name: @2503 type: @2504 srcp: _types.h:79 chan: @2505 @2468 identifier_node strg: u_quad_t lngt: 8 @2469 integer_type name: @2432 unql: @40 size: @19 algn: 64 prec: 64 sign: unsigned min : @42 max : @43 @2470 type_decl name: @2506 type: @2507 srcp: types.h:96 chan: @2508 @2471 tree_list valu: @30 chan: @2509 @2472 function_decl name: @2510 type: @2511 srcp: :0 chan: @2512 body: undefined link: extern @2473 identifier_node strg: showfilename lngt: 12 @2474 field_decl name: @2513 type: @157 scpe: @1897 srcp: curl.h:163 size: @19 algn: 64 bpos: @2514 @2475 tree_list purp: @2476 valu: @2214 @2476 identifier_node strg: CURLFILETYPE_UNKNOWN lngt: 20 @2477 type_decl name: @2515 type: @2516 srcp: curl.h:213 chan: @2517 @2478 identifier_node strg: ss_family lngt: 9 @2479 field_decl name: @2518 type: @2519 scpe: @2367 srcp: socket.h:358 chan: @2520 size: @2521 algn: 8 bpos: @47 @2480 identifier_node strg: cmsghdr lngt: 7 @2481 field_decl name: @2522 type: @1969 scpe: @2447 srcp: socket.h:503 chan: @2523 size: @5 algn: 32 bpos: @20 @2482 record_type name: @2524 size: @122 algn: 64 tag : struct flds: @2525 @2483 type_decl name: @2526 type: @2527 srcp: curlbuild.h:165 chan: @2528 @2484 identifier_node strg: fds_bits lngt: 8 @2485 array_type size: @2407 algn: 32 elts: @2253 domn: @2529 @2486 identifier_node strg: __darwin_fd_isset lngt: 17 @2487 function_type size: @12 algn: 8 retn: @3 prms: @2530 @2488 type_decl name: @2531 type: @2532 srcp: types.h:265 chan: @2533 @2489 parm_decl name: @2534 type: @3 scpe: @2452 srcp: _structs.h:191 chan: @2535 argt: @3 size: @5 algn: 32 used: 1 @2490 statement_list 0 : @2536 1 : @2537 2 : @2538 3 : @2539 4 : @2540 5 : @2541 6 : @2542 @2491 identifier_node strg: msg_namelen lngt: 11 @2492 field_decl name: @2543 type: @2544 scpe: @2373 srcp: socket.h:465 chan: @2545 size: @19 algn: 64 bpos: @72 @2493 tree_list valu: @3 chan: @2546 @2494 tree_list valu: @3 chan: @2547 @2495 identifier_node strg: socket lngt: 6 @2496 function_type size: @12 algn: 8 retn: @3 prms: @2548 @2497 function_decl name: @2549 mngl: @2550 type: @2551 srcp: socket.h:625 chan: @2552 body: undefined link: extern @2498 function_decl name: @2553 mngl: @2554 type: @2555 srcp: :0 chan: @2556 body: undefined link: extern @2499 identifier_node strg: user_off_t lngt: 10 @2500 integer_type name: @2465 unql: @35 size: @19 algn: 64 prec: 64 sign: signed min : @37 max : @38 @2501 type_decl name: @2557 type: @2558 srcp: types.h:128 chan: @2559 @2502 field_decl name: @2560 type: @2561 scpe: @2466 srcp: _types.h:77 chan: @2562 size: @2407 algn: 8 bpos: @20 @2503 identifier_node strg: __mbstate_t lngt: 11 @2504 union_type name: @2467 unql: @2466 size: @2407 algn: 64 tag : union flds: @2502 @2505 type_decl name: @2563 type: @2564 srcp: _types.h:81 chan: @2565 @2506 identifier_node strg: quad_t lngt: 6 @2507 integer_type name: @2470 unql: @35 size: @19 algn: 64 prec: 64 sign: signed min : @37 max : @38 @2508 type_decl name: @2566 type: @2567 srcp: types.h:97 chan: @2568 @2509 tree_list valu: @30 chan: @146 @2510 identifier_node strg: __builtin_classify_type lngt: 23 @2511 function_type size: @12 algn: 8 retn: @3 @2512 function_decl name: @2569 type: @2570 srcp: :0 chan: @2571 body: undefined link: extern @2513 identifier_node strg: userp lngt: 5 @2514 integer_cst type: @11 low : 768 @2515 identifier_node strg: curlfiletype lngt: 12 @2516 enumeral_type name: @2477 unql: @2045 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @2099 @2517 type_decl type: @2572 srcp: curl.h:228 chan: @2573 @2518 identifier_node strg: __ss_pad1 lngt: 9 @2519 array_type size: @2521 algn: 8 elts: @9 domn: @2574 @2520 field_decl name: @2575 type: @2302 scpe: @2367 srcp: socket.h:359 chan: @2576 size: @19 algn: 64 bpos: @19 @2521 integer_cst type: @11 low : 48 @2522 identifier_node strg: cmsg_len lngt: 8 @2523 field_decl name: @2577 type: @3 scpe: @2447 srcp: socket.h:504 chan: @2578 size: @5 algn: 32 bpos: @5 @2524 identifier_node strg: sf_hdtr lngt: 7 @2525 field_decl name: @2579 type: @2544 scpe: @2482 srcp: socket.h:593 chan: @2580 size: @19 algn: 64 bpos: @20 @2526 identifier_node strg: curl_socklen_t lngt: 14 @2527 integer_type name: @2483 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @2528 type_decl name: @2581 type: @2582 srcp: curlbuild.h:171 chan: @2583 @2529 integer_type size: @19 algn: 64 prec: 64 sign: signed min : @139 max : @2584 @2530 tree_list valu: @3 chan: @2585 @2531 identifier_node strg: fd_mask lngt: 7 @2532 integer_type name: @2488 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2533 type_decl name: @2586 type: @2587 srcp: types.h:318 chan: @2588 @2534 identifier_node strg: _n lngt: 2 @2535 parm_decl name: @1697 type: @2589 scpe: @2452 srcp: _structs.h:191 argt: @2589 size: @19 algn: 64 used: 1 @2536 modify_expr type: @30 op 0: @2590 op 1: @2591 @2537 modify_expr type: @30 op 0: @2592 op 1: @2593 @2538 modify_expr type: @3 op 0: @2594 op 1: @2595 @2539 modify_expr type: @3 op 0: @2596 op 1: @2597 @2540 modify_expr type: @3 op 0: @2598 op 1: @2599 @2541 modify_expr type: @3 op 0: @2600 op 1: @2601 @2542 return_expr type: @124 expr: @2602 @2543 identifier_node strg: msg_iov lngt: 7 @2544 pointer_type size: @19 algn: 64 ptd : @2108 @2545 field_decl name: @2603 type: @3 scpe: @2373 srcp: socket.h:466 chan: @2604 size: @5 algn: 32 bpos: @130 @2546 tree_list valu: @1934 chan: @2605 @2547 tree_list valu: @2128 chan: @2606 @2548 tree_list valu: @3 chan: @2607 @2549 identifier_node strg: socketpair lngt: 10 @2550 identifier_node strg: _socketpair lngt: 12 @2551 function_type size: @12 algn: 8 retn: @3 prms: @2608 @2552 function_decl name: @2609 type: @2610 srcp: socket.h:628 chan: @2611 body: undefined link: extern @2553 identifier_node strg: __builtin_puts lngt: 14 @2554 identifier_node strg: puts lngt: 4 @2555 function_type size: @12 algn: 8 retn: @3 prms: @2612 @2556 function_decl name: @2554 type: @2555 srcp: stdio.h:270 chan: @2613 body: undefined link: extern @2557 identifier_node strg: syscall_arg_t lngt: 13 @2558 integer_type name: @2501 unql: @40 size: @19 algn: 64 prec: 64 sign: unsigned min : @42 max : @43 @2559 type_decl type: @2614 srcp: _types.h:59 chan: @2615 @2560 identifier_node strg: __mbstate8 lngt: 10 @2561 array_type size: @2407 algn: 8 elts: @9 domn: @2616 @2562 field_decl name: @2617 type: @35 scpe: @2466 srcp: _types.h:78 size: @19 algn: 64 bpos: @20 @2563 identifier_node strg: __darwin_mbstate_t lngt: 18 @2564 union_type name: @2505 unql: @2466 size: @2407 algn: 64 tag : union flds: @2502 @2565 type_decl name: @2618 type: @2619 srcp: _types.h:84 chan: @2620 @2566 identifier_node strg: qaddr_t lngt: 7 @2567 pointer_type name: @2508 unql: @2621 size: @19 algn: 64 ptd : @2507 @2568 type_decl name: @2622 type: @2623 srcp: types.h:99 chan: @2624 @2569 identifier_node strg: __builtin_clz lngt: 13 @2570 function_type size: @12 algn: 8 retn: @3 prms: @2625 @2571 function_decl name: @2626 type: @2627 srcp: :0 chan: @2628 body: undefined link: extern @2572 record_type name: @2629 size: @2407 algn: 64 tag : struct flds: @2630 @2573 type_decl type: @2631 srcp: curl.h:238 chan: @2632 @2574 integer_type size: @19 algn: 64 prec: 64 sign: signed min : @139 max : @2633 @2575 identifier_node strg: __ss_align lngt: 10 @2576 field_decl name: @2634 type: @2635 scpe: @2367 srcp: socket.h:360 size: @2066 algn: 8 bpos: @72 @2577 identifier_node strg: cmsg_level lngt: 10 @2578 field_decl name: @2636 type: @3 scpe: @2447 srcp: socket.h:505 size: @5 algn: 32 bpos: @19 @2579 identifier_node strg: headers lngt: 7 @2580 field_decl name: @2637 type: @3 scpe: @2482 srcp: socket.h:594 chan: @2638 size: @5 algn: 32 bpos: @19 @2581 identifier_node strg: curl_off_t lngt: 10 @2582 integer_type name: @2528 unql: @16 size: @19 algn: 64 prec: 64 sign: signed min : @22 max : @23 @2583 type_decl name: @2639 type: @2640 srcp: curlrules.h:143 chan: @2641 @2584 integer_cst type: @145 low : 31 @2585 tree_list valu: @2589 chan: @146 @2586 identifier_node strg: pthread_attr_t lngt: 14 @2587 record_type name: @2533 unql: @2642 size: @1884 algn: 64 tag : struct flds: @2643 @2588 type_decl name: @2644 type: @2645 srcp: types.h:322 chan: @2646 @2589 pointer_type size: @19 algn: 64 ptd : @2647 @2590 var_decl type: @30 scpe: @2452 srcp: _structs.h:193 note: artificial chan: @2592 size: @19 algn: 64 used: 1 @2591 nop_expr type: @30 op 0: @2489 @2592 var_decl type: @30 scpe: @2452 srcp: _structs.h:193 note: artificial chan: @2594 size: @19 algn: 64 used: 1 @2593 trunc_div_expr type: @30 op 0: @2590 op 1: @2648 @2594 var_decl type: @3 scpe: @2452 srcp: _structs.h:193 note: artificial chan: @2596 size: @5 algn: 32 used: 1 @2595 array_ref type: @3 op 0: @2649 op 1: @2592 @2596 var_decl type: @3 scpe: @2452 srcp: _structs.h:193 note: artificial chan: @2598 size: @5 algn: 32 used: 1 @2597 bit_and_expr type: @3 op 0: @2489 op 1: @2650 @2598 var_decl type: @3 scpe: @2452 srcp: _structs.h:193 note: artificial size: @5 algn: 32 used: 1 @2599 lshift_expr type: @3 op 0: @1755 op 1: @2596 @2600 var_decl type: @3 scpe: @2452 srcp: _structs.h:193 note: artificial chan: @2590 size: @5 algn: 32 used: 1 @2601 bit_and_expr type: @3 op 0: @2594 op 1: @2598 @2602 modify_expr type: @3 op 0: @2651 op 1: @2600 @2603 identifier_node strg: msg_iovlen lngt: 10 @2604 field_decl name: @2652 type: @157 scpe: @2373 srcp: socket.h:467 chan: @2653 size: @19 algn: 64 bpos: @122 @2605 tree_list valu: @1969 chan: @146 @2606 tree_list valu: @1969 chan: @146 @2607 tree_list valu: @3 chan: @2654 @2608 tree_list valu: @3 chan: @2655 @2609 identifier_node strg: sendfile lngt: 8 @2610 function_type size: @12 algn: 8 retn: @3 prms: @2656 @2611 function_decl name: @2657 type: @2658 srcp: socket.h:632 chan: @2659 body: undefined link: extern @2612 tree_list valu: @831 chan: @146 @2613 function_decl name: @2660 mngl: @2661 type: @2555 srcp: :0 chan: @2662 body: undefined link: extern @2614 record_type name: @2663 size: @130 algn: 64 tag : struct flds: @2664 @2615 type_decl type: @2642 srcp: _types.h:64 chan: @2665 @2616 integer_type size: @19 algn: 64 prec: 64 sign: signed min : @139 max : @2666 @2617 identifier_node strg: _mbstateL lngt: 9 @2618 identifier_node strg: __darwin_ptrdiff_t lngt: 18 @2619 integer_type name: @2565 unql: @16 size: @19 algn: 64 prec: 64 sign: signed min : @22 max : @23 @2620 type_decl name: @2667 type: @2668 srcp: _types.h:90 chan: @2669 @2621 pointer_type size: @19 algn: 64 ptd : @2507 @2622 identifier_node strg: caddr_t lngt: 7 @2623 pointer_type name: @2568 unql: @1527 size: @19 algn: 64 ptd : @9 @2624 type_decl name: @2670 type: @2671 srcp: types.h:100 chan: @2672 @2625 tree_list valu: @25 chan: @146 @2626 identifier_node strg: __builtin_clzimax lngt: 17 @2627 function_type size: @12 algn: 8 retn: @3 prms: @2673 @2628 function_decl name: @2674 type: @2627 srcp: :0 chan: @2675 body: undefined link: extern @2629 identifier_node strg: curl_fileinfo lngt: 13 @2630 field_decl name: @2676 type: @1527 scpe: @2572 srcp: curl.h:229 chan: @2677 size: @19 algn: 64 bpos: @20 @2631 record_type size: @1799 algn: 64 tag : struct flds: @2678 @2632 type_decl name: @2679 type: @2680 srcp: curl.h:265 chan: @2681 @2633 integer_cst type: @145 low : 5 @2634 identifier_node strg: __ss_pad2 lngt: 9 @2635 array_type size: @2066 algn: 8 elts: @9 domn: @2682 @2636 identifier_node strg: cmsg_type lngt: 9 @2637 identifier_node strg: hdr_cnt lngt: 7 @2638 field_decl name: @2683 type: @2544 scpe: @2482 srcp: socket.h:595 chan: @2684 size: @19 algn: 64 bpos: @72 @2639 identifier_node strg: __curl_rule_01__ lngt: 16 @2640 array_type name: @2583 unql: @2685 size: @12 algn: 8 elts: @9 domn: @132 @2641 type_decl name: @2686 type: @2687 srcp: curlrules.h:153 chan: @2688 @2642 record_type name: @2689 size: @1884 algn: 64 tag : struct flds: @2643 @2643 field_decl name: @2690 type: @16 scpe: @2642 srcp: _types.h:64 chan: @2691 size: @19 algn: 64 bpos: @20 @2644 identifier_node strg: pthread_cond_t lngt: 14 @2645 record_type name: @2588 unql: @2692 size: @1826 algn: 64 tag : struct flds: @2693 @2646 type_decl name: @2694 type: @2695 srcp: types.h:326 chan: @2696 @2647 record_type qual: c name: @2449 unql: @2410 size: @2407 algn: 32 tag : struct flds: @2450 @2648 integer_cst type: @30 low : 32 @2649 component_ref type: @2697 op 0: @2698 op 1: @2450 @2650 integer_cst type: @3 low : 31 @2651 result_decl type: @3 scpe: @2452 srcp: _structs.h:192 note: artificial size: @5 algn: 32 @2652 identifier_node strg: msg_control lngt: 11 @2653 field_decl name: @2699 type: @1969 scpe: @2373 srcp: socket.h:468 chan: @2700 size: @5 algn: 32 bpos: @1799 @2654 tree_list valu: @3 chan: @146 @2655 tree_list valu: @3 chan: @2701 @2656 tree_list valu: @3 chan: @2702 @2657 identifier_node strg: pfctlinput lngt: 10 @2658 function_type size: @12 algn: 8 retn: @124 prms: @2703 @2659 var_decl name: @2704 type: @1679 srcp: stdio.h:164 chan: @2705 size: @19 algn: 64 used: 0 @2660 identifier_node strg: __builtin_puts_unlocked lngt: 23 @2661 identifier_node strg: puts_unlocked lngt: 13 @2662 function_decl name: @2661 type: @2555 srcp: :0 chan: @2706 body: undefined link: extern @2663 identifier_node strg: __darwin_pthread_handler_rec lngt: 28 @2664 field_decl name: @2707 type: @2708 scpe: @2614 srcp: _types.h:60 chan: @2709 size: @19 algn: 64 bpos: @20 @2665 type_decl type: @2692 srcp: _types.h:65 chan: @2710 @2666 integer_cst type: @145 low : 127 @2667 identifier_node strg: __darwin_size_t lngt: 15 @2668 integer_type name: @2620 unql: @30 size: @19 algn: 64 prec: 64 sign: unsigned min : @32 max : @33 @2669 type_decl name: @2711 type: @2712 srcp: _types.h:96 chan: @2713 @2670 identifier_node strg: daddr_t lngt: 7 @2671 integer_type name: @2624 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2672 type_decl name: @2714 type: @2715 srcp: types.h:103 chan: @2716 @2673 tree_list valu: @30 chan: @146 @2674 identifier_node strg: __builtin_clzl lngt: 14 @2675 function_decl name: @2717 type: @2718 srcp: :0 chan: @2719 body: undefined link: extern @2676 identifier_node strg: filename lngt: 8 @2677 field_decl name: @2720 type: @2516 scpe: @2572 srcp: curl.h:230 chan: @2721 size: @5 algn: 32 bpos: @19 @2678 field_decl name: @2722 type: @1527 scpe: @2631 srcp: curl.h:240 chan: @2723 size: @19 algn: 64 bpos: @20 @2679 identifier_node strg: curl_chunk_bgn_callback lngt: 23 @2680 pointer_type name: @2632 unql: @2724 size: @19 algn: 64 ptd : @2725 @2681 type_decl name: @2726 type: @2727 srcp: curl.h:277 chan: @2728 @2682 integer_type size: @19 algn: 64 prec: 64 sign: signed min : @139 max : @2729 @2683 identifier_node strg: trailers lngt: 8 @2684 field_decl name: @2730 type: @3 scpe: @2482 srcp: socket.h:596 size: @5 algn: 32 bpos: @130 @2685 array_type size: @12 algn: 8 elts: @9 domn: @132 @2686 identifier_node strg: __curl_rule_02__ lngt: 16 @2687 array_type name: @2641 unql: @2685 size: @12 algn: 8 elts: @9 domn: @132 @2688 type_decl name: @2731 type: @2732 srcp: curlrules.h:163 chan: @2733 @2689 identifier_node strg: _opaque_pthread_attr_t lngt: 22 @2690 identifier_node strg: __sig lngt: 5 @2691 field_decl name: @2734 type: @2735 scpe: @2642 srcp: _types.h:64 size: @1750 algn: 8 bpos: @19 @2692 record_type name: @2736 size: @1826 algn: 64 tag : struct flds: @2693 @2693 field_decl name: @2690 type: @16 scpe: @2692 srcp: _types.h:65 chan: @2737 size: @19 algn: 64 bpos: @20 @2694 identifier_node strg: pthread_condattr_t lngt: 18 @2695 record_type name: @2646 unql: @2738 size: @72 algn: 64 tag : struct flds: @2739 @2696 type_decl name: @2740 type: @2741 srcp: types.h:330 chan: @2742 @2697 array_type unql: @2485 size: @2407 algn: 32 elts: @2743 domn: @2529 @2698 indirect_ref type: @2647 op 0: @2535 @2699 identifier_node strg: msg_controllen lngt: 14 @2700 field_decl name: @2744 type: @3 scpe: @2373 srcp: socket.h:469 size: @5 algn: 32 bpos: @2745 @2701 tree_list valu: @3 chan: @2746 @2702 tree_list valu: @3 chan: @2747 @2703 tree_list valu: @3 chan: @2748 @2704 identifier_node strg: __stdinp lngt: 8 @2705 var_decl name: @2749 type: @1679 srcp: stdio.h:165 chan: @2750 size: @19 algn: 64 used: 0 @2706 function_decl name: @2751 mngl: @2752 type: @2753 srcp: :0 chan: @2754 body: undefined link: extern @2707 identifier_node strg: __routine lngt: 9 @2708 pointer_type size: @19 algn: 64 ptd : @2755 @2709 field_decl name: @2756 type: @157 scpe: @2614 srcp: _types.h:61 chan: @2757 size: @19 algn: 64 bpos: @19 @2710 type_decl type: @2738 srcp: _types.h:66 chan: @2758 @2711 identifier_node strg: __darwin_va_list lngt: 16 @2712 array_type name: @2669 unql: @129 size: @130 algn: 64 elts: @131 domn: @132 @2713 type_decl name: @2759 type: @2760 srcp: _types.h:102 chan: @2761 @2714 identifier_node strg: dev_t lngt: 5 @2715 integer_type name: @2672 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2716 type_decl name: @2762 type: @2763 srcp: types.h:107 chan: @2764 @2717 identifier_node strg: __builtin_clzll lngt: 15 @2718 function_type size: @12 algn: 8 retn: @3 prms: @2765 @2719 function_decl name: @2766 type: @2511 srcp: :0 chan: @2767 body: undefined link: extern @2720 identifier_node strg: filetype lngt: 8 @2721 field_decl name: @2722 type: @2282 scpe: @2572 srcp: curl.h:231 chan: @2768 size: @19 algn: 64 bpos: @72 @2722 identifier_node strg: time lngt: 4 @2723 field_decl name: @2769 type: @1527 scpe: @2631 srcp: curl.h:241 chan: @2770 size: @19 algn: 64 bpos: @19 @2724 pointer_type size: @19 algn: 64 ptd : @2725 @2725 function_type size: @12 algn: 8 retn: @16 prms: @2771 @2726 identifier_node strg: curl_chunk_end_callback lngt: 23 @2727 pointer_type name: @2681 unql: @2772 size: @19 algn: 64 ptd : @2773 @2728 type_decl name: @2774 type: @2775 srcp: curl.h:288 chan: @2776 @2729 integer_cst type: @145 low : 111 @2730 identifier_node strg: trl_cnt lngt: 7 @2731 identifier_node strg: __curl_rule_03__ lngt: 16 @2732 array_type name: @2688 unql: @2685 size: @12 algn: 8 elts: @9 domn: @132 @2733 type_decl name: @2777 type: @2778 srcp: curlrules.h:173 chan: @2779 @2734 identifier_node strg: __opaque lngt: 8 @2735 array_type size: @1750 algn: 8 elts: @9 domn: @2780 @2736 identifier_node strg: _opaque_pthread_cond_t lngt: 22 @2737 field_decl name: @2734 type: @2781 scpe: @2692 srcp: _types.h:65 size: @1799 algn: 8 bpos: @19 @2738 record_type name: @2782 size: @72 algn: 64 tag : struct flds: @2739 @2739 field_decl name: @2690 type: @16 scpe: @2738 srcp: _types.h:66 chan: @2783 size: @19 algn: 64 bpos: @20 @2740 identifier_node strg: pthread_mutex_t lngt: 15 @2741 record_type name: @2696 unql: @2784 size: @1884 algn: 64 tag : struct flds: @2785 @2742 type_decl name: @2786 type: @2787 srcp: types.h:334 chan: @2788 @2743 integer_type qual: c name: @2202 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2744 identifier_node strg: msg_flags lngt: 9 @2745 integer_cst type: @11 low : 352 @2746 tree_list valu: @501 chan: @146 @2747 tree_list valu: @2789 chan: @2790 @2748 tree_list valu: @1900 chan: @146 @2749 identifier_node strg: __stdoutp lngt: 9 @2750 var_decl name: @2791 type: @1679 srcp: stdio.h:166 chan: @2792 size: @19 algn: 64 used: 0 @2751 identifier_node strg: __builtin_scanf lngt: 15 @2752 identifier_node strg: scanf lngt: 5 @2753 function_type size: @12 algn: 8 retn: @3 prms: @2246 @2754 function_decl name: @2752 type: @2793 srcp: stdio.h:274 chan: @2794 body: undefined link: extern @2755 function_type size: @12 algn: 8 retn: @124 prms: @2795 @2756 identifier_node strg: __arg lngt: 5 @2757 field_decl name: @2796 type: @2797 scpe: @2614 srcp: _types.h:62 size: @19 algn: 64 bpos: @72 @2758 type_decl type: @2784 srcp: _types.h:67 chan: @2798 @2759 identifier_node strg: __darwin_wchar_t lngt: 16 @2760 integer_type name: @2713 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2761 type_decl name: @2799 type: @2800 srcp: _types.h:107 chan: @2801 @2762 identifier_node strg: fixpt_t lngt: 7 @2763 integer_type name: @2716 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @2764 type_decl name: @2802 type: @2803 srcp: types.h:110 chan: @2804 @2765 tree_list valu: @40 chan: @146 @2766 identifier_node strg: __builtin_constant_p lngt: 20 @2767 function_decl name: @2805 type: @2570 srcp: :0 chan: @2806 body: undefined link: extern @2768 field_decl name: @2769 type: @25 scpe: @2572 srcp: curl.h:232 chan: @2807 size: @5 algn: 32 bpos: @130 @2769 identifier_node strg: perm lngt: 4 @2770 field_decl name: @2808 type: @1527 scpe: @2631 srcp: curl.h:242 chan: @2809 size: @19 algn: 64 bpos: @72 @2771 tree_list valu: @2128 chan: @2810 @2772 pointer_type size: @19 algn: 64 ptd : @2773 @2773 function_type size: @12 algn: 8 retn: @16 prms: @2811 @2774 identifier_node strg: curl_fnmatch_callback lngt: 21 @2775 pointer_type name: @2728 unql: @2812 size: @19 algn: 64 ptd : @2813 @2776 type_decl name: @2814 type: @2815 srcp: curl.h:297 chan: @2816 @2777 identifier_node strg: __curl_rule_04__ lngt: 16 @2778 array_type name: @2733 unql: @2685 size: @12 algn: 8 elts: @9 domn: @132 @2779 type_decl name: @2817 type: @2818 srcp: curlrules.h:183 chan: @2819 @2780 integer_type size: @19 algn: 64 prec: 64 sign: signed min : @139 max : @2820 @2781 array_type size: @1799 algn: 8 elts: @9 domn: @2821 @2782 identifier_node strg: _opaque_pthread_condattr_t lngt: 26 @2783 field_decl name: @2734 type: @2822 scpe: @2738 srcp: _types.h:66 size: @19 algn: 8 bpos: @19 @2784 record_type name: @2823 size: @1884 algn: 64 tag : struct flds: @2785 @2785 field_decl name: @2690 type: @16 scpe: @2784 srcp: _types.h:67 chan: @2824 size: @19 algn: 64 bpos: @20 @2786 identifier_node strg: pthread_mutexattr_t lngt: 19 @2787 record_type name: @2742 unql: @2825 size: @72 algn: 64 tag : struct flds: @2826 @2788 type_decl name: @2827 type: @2828 srcp: types.h:338 chan: @2829 @2789 integer_type name: @2830 unql: @35 size: @19 algn: 64 prec: 64 sign: signed min : @37 max : @38 @2790 tree_list valu: @2831 chan: @2832 @2791 identifier_node strg: __stderrp lngt: 9 @2792 function_decl name: @2833 type: @2834 srcp: stdio.h:239 chan: @2835 body: undefined link: extern @2793 function_type size: @12 algn: 8 retn: @3 prms: @2246 @2794 function_decl name: @2836 mngl: @2837 type: @2838 srcp: :0 chan: @2839 body: undefined link: extern @2795 tree_list valu: @157 chan: @146 @2796 identifier_node strg: __next lngt: 6 @2797 pointer_type size: @19 algn: 64 ptd : @2614 @2798 type_decl type: @2825 srcp: _types.h:68 chan: @2840 @2799 identifier_node strg: __darwin_rune_t lngt: 15 @2800 integer_type name: @2761 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2801 type_decl name: @2841 type: @2842 srcp: _types.h:110 chan: @2843 @2802 identifier_node strg: blkcnt_t lngt: 8 @2803 integer_type name: @2764 unql: @35 size: @19 algn: 64 prec: 64 sign: signed min : @37 max : @38 @2804 type_decl name: @2844 type: @2845 srcp: types.h:115 chan: @2846 @2805 identifier_node strg: __builtin_ctz lngt: 13 @2806 function_decl name: @2847 type: @2627 srcp: :0 chan: @2848 body: undefined link: extern @2807 field_decl name: @2849 type: @3 scpe: @2572 srcp: curl.h:233 chan: @2850 size: @5 algn: 32 bpos: @1952 @2808 identifier_node strg: user lngt: 4 @2809 field_decl name: @2851 type: @1527 scpe: @2631 srcp: curl.h:243 chan: @2852 size: @19 algn: 64 bpos: @130 @2810 tree_list valu: @157 chan: @2853 @2811 tree_list valu: @157 chan: @146 @2812 pointer_type size: @19 algn: 64 ptd : @2813 @2813 function_type size: @12 algn: 8 retn: @3 prms: @2854 @2814 identifier_node strg: curl_seek_callback lngt: 18 @2815 pointer_type name: @2776 unql: @2855 size: @19 algn: 64 ptd : @2856 @2816 type_decl name: @2857 type: @2858 srcp: curl.h:309 chan: @2859 @2817 identifier_node strg: __curl_rule_05__ lngt: 16 @2818 array_type name: @2779 unql: @2685 size: @12 algn: 8 elts: @9 domn: @132 @2819 type_decl name: @2860 type: @2861 srcp: _types.h:39 chan: @2862 @2820 integer_cst type: @145 low : 55 @2821 integer_type size: @19 algn: 64 prec: 64 sign: signed min : @139 max : @2863 @2822 array_type size: @19 algn: 8 elts: @9 domn: @2864 @2823 identifier_node strg: _opaque_pthread_mutex_t lngt: 23 @2824 field_decl name: @2734 type: @2735 scpe: @2784 srcp: _types.h:67 size: @1750 algn: 8 bpos: @19 @2825 record_type name: @2865 size: @72 algn: 64 tag : struct flds: @2826 @2826 field_decl name: @2690 type: @16 scpe: @2825 srcp: _types.h:68 chan: @2866 size: @19 algn: 64 bpos: @20 @2827 identifier_node strg: pthread_once_t lngt: 14 @2828 record_type name: @2788 unql: @2867 size: @72 algn: 64 tag : struct flds: @2868 @2829 type_decl name: @2869 type: @2870 srcp: types.h:342 chan: @2871 @2830 type_decl name: @2872 type: @2789 srcp: types.h:172 chan: @2873 @2831 pointer_type size: @19 algn: 64 ptd : @2789 @2832 tree_list valu: @2874 chan: @2875 @2833 identifier_node strg: clearerr lngt: 8 @2834 function_type size: @12 algn: 8 retn: @124 prms: @2876 @2835 function_decl name: @2877 type: @2878 srcp: stdio.h:240 chan: @2879 body: undefined link: extern @2836 identifier_node strg: __builtin_snprintf lngt: 18 @2837 identifier_node strg: snprintf lngt: 8 @2838 function_type size: @12 algn: 8 retn: @3 prms: @2880 @2839 function_decl name: @2837 type: @2881 srcp: stdio.h:425 chan: @2882 body: undefined link: extern @2840 type_decl type: @2867 srcp: _types.h:69 chan: @2883 @2841 identifier_node strg: __darwin_wint_t lngt: 15 @2842 integer_type name: @2801 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2843 type_decl name: @2884 type: @2885 srcp: _types.h:115 chan: @2886 @2844 identifier_node strg: blksize_t lngt: 9 @2845 integer_type name: @2804 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2846 type_decl name: @2887 type: @2888 srcp: types.h:120 chan: @2889 @2847 identifier_node strg: __builtin_ctzimax lngt: 17 @2848 function_decl name: @2890 type: @2627 srcp: :0 chan: @2891 body: undefined link: extern @2849 identifier_node strg: uid lngt: 3 @2850 field_decl name: @2892 type: @3 scpe: @2572 srcp: curl.h:234 chan: @2893 size: @5 algn: 32 bpos: @122 @2851 identifier_node strg: group lngt: 5 @2852 field_decl name: @2894 type: @1527 scpe: @2631 srcp: curl.h:244 size: @19 algn: 64 bpos: @122 @2853 tree_list valu: @3 chan: @146 @2854 tree_list valu: @157 chan: @2895 @2855 pointer_type size: @19 algn: 64 ptd : @2856 @2856 function_type size: @12 algn: 8 retn: @3 prms: @2896 @2857 identifier_node strg: curl_read_callback lngt: 18 @2858 pointer_type name: @2816 unql: @2043 size: @19 algn: 64 ptd : @2044 @2859 type_decl type: @2897 srcp: curl.h:311 chan: @2898 @2860 identifier_node strg: __darwin_nl_item lngt: 16 @2861 integer_type name: @2819 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2862 type_decl name: @2899 type: @2900 srcp: _types.h:40 chan: @2901 @2863 integer_cst type: @145 low : 39 @2864 integer_type size: @19 algn: 64 prec: 64 sign: signed min : @139 max : @2902 @2865 identifier_node strg: _opaque_pthread_mutexattr_t lngt: 27 @2866 field_decl name: @2734 type: @2822 scpe: @2825 srcp: _types.h:68 size: @19 algn: 8 bpos: @19 @2867 record_type name: @2903 size: @72 algn: 64 tag : struct flds: @2868 @2868 field_decl name: @2690 type: @16 scpe: @2867 srcp: _types.h:69 chan: @2904 size: @19 algn: 64 bpos: @20 @2869 identifier_node strg: pthread_rwlock_t lngt: 16 @2870 record_type name: @2829 unql: @2905 size: @2906 algn: 64 tag : struct flds: @2907 @2871 type_decl name: @2908 type: @2909 srcp: types.h:346 chan: @2910 @2872 identifier_node strg: off_t lngt: 5 @2873 type_decl name: @2911 type: @2912 srcp: types.h:176 chan: @2913 @2874 pointer_type size: @19 algn: 64 ptd : @2482 @2875 tree_list valu: @3 chan: @146 @2876 tree_list valu: @1679 chan: @146 @2877 identifier_node strg: fclose lngt: 6 @2878 function_type size: @12 algn: 8 retn: @3 prms: @2914 @2879 function_decl name: @2915 type: @2878 srcp: stdio.h:241 chan: @2916 body: undefined link: extern @2880 tree_list valu: @1527 chan: @2917 @2881 function_type size: @12 algn: 8 retn: @3 prms: @2918 @2882 function_decl name: @2919 mngl: @2920 type: @2921 srcp: :0 chan: @2922 body: undefined link: extern @2883 type_decl type: @2905 srcp: _types.h:70 chan: @2923 @2884 identifier_node strg: __darwin_clock_t lngt: 16 @2885 integer_type name: @2843 unql: @30 size: @19 algn: 64 prec: 64 sign: unsigned min : @32 max : @33 @2886 type_decl name: @2924 type: @2925 srcp: _types.h:116 chan: @2926 @2887 identifier_node strg: gid_t lngt: 5 @2888 integer_type name: @2846 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @2889 type_decl name: @2927 type: @2928 srcp: types.h:126 chan: @2929 @2890 identifier_node strg: __builtin_ctzl lngt: 14 @2891 function_decl name: @2930 type: @2718 srcp: :0 chan: @2931 body: undefined link: extern @2892 identifier_node strg: gid lngt: 3 @2893 field_decl name: @2932 type: @2582 scpe: @2572 srcp: curl.h:235 chan: @2933 size: @19 algn: 64 bpos: @1799 @2894 identifier_node strg: target lngt: 6 @2895 tree_list valu: @831 chan: @2934 @2896 tree_list valu: @157 chan: @2935 @2897 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @2936 @2898 const_decl name: @2937 type: @2897 srcp: curl.h:312 chan: @2938 cnst: @1760 @2899 identifier_node strg: __darwin_wctrans_t lngt: 18 @2900 integer_type name: @2862 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2901 type_decl name: @2939 type: @2940 srcp: _types.h:42 chan: @2941 @2902 integer_cst type: @145 low : 7 @2903 identifier_node strg: _opaque_pthread_once_t lngt: 22 @2904 field_decl name: @2734 type: @2822 scpe: @2867 srcp: _types.h:69 size: @19 algn: 8 bpos: @19 @2905 record_type name: @2942 size: @2906 algn: 64 tag : struct flds: @2907 @2906 integer_cst type: @11 low : 1600 @2907 field_decl name: @2690 type: @16 scpe: @2905 srcp: _types.h:70 chan: @2943 size: @19 algn: 64 bpos: @20 @2908 identifier_node strg: pthread_rwlockattr_t lngt: 20 @2909 record_type name: @2871 unql: @2944 size: @130 algn: 64 tag : struct flds: @2945 @2910 type_decl name: @2946 type: @2947 srcp: types.h:350 chan: @2948 @2911 identifier_node strg: segsz_t lngt: 7 @2912 integer_type name: @2873 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2913 type_decl name: @2949 type: @2950 srcp: types.h:177 chan: @2951 @2914 tree_list valu: @1679 chan: @146 @2915 identifier_node strg: feof lngt: 4 @2916 function_decl name: @2952 type: @2878 srcp: stdio.h:242 chan: @2953 body: undefined link: extern @2917 tree_list valu: @30 chan: @2954 @2918 tree_list valu: @1527 chan: @2955 @2919 identifier_node strg: __builtin_sprintf lngt: 17 @2920 identifier_node strg: sprintf lngt: 7 @2921 function_type size: @12 algn: 8 retn: @3 prms: @2956 @2922 function_decl name: @2920 type: @2957 srcp: stdio.h:277 chan: @2958 body: undefined link: extern @2923 type_decl type: @2944 srcp: _types.h:71 chan: @2959 @2924 identifier_node strg: __darwin_socklen_t lngt: 18 @2925 integer_type name: @2886 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @2926 type_decl name: @2960 type: @2961 srcp: _types.h:117 chan: @1769 @2927 identifier_node strg: in_addr_t lngt: 9 @2928 integer_type name: @2889 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @2929 type_decl name: @2962 type: @2963 srcp: types.h:131 chan: @2964 @2930 identifier_node strg: __builtin_ctzll lngt: 15 @2931 function_decl name: @2965 mngl: @2966 type: @2967 srcp: :0 chan: @2968 body: undefined link: extern @2932 identifier_node strg: size lngt: 4 @2933 field_decl name: @2969 type: @16 scpe: @2572 srcp: curl.h:236 chan: @2970 size: @19 algn: 64 bpos: @1826 @2934 tree_list valu: @831 chan: @146 @2935 tree_list valu: @2582 chan: @2971 @2936 tree_list purp: @2937 valu: @1760 chan: @2972 @2937 identifier_node strg: CURLSOCKTYPE_IPCXN lngt: 18 @2938 const_decl name: @2973 type: @2897 srcp: curl.h:314 chan: @2974 cnst: @1755 @2939 identifier_node strg: __darwin_wctype_t lngt: 17 @2940 integer_type name: @2901 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @2941 type_decl name: @2975 type: @2976 srcp: stdio.h:73 chan: @2015 @2942 identifier_node strg: _opaque_pthread_rwlock_t lngt: 24 @2943 field_decl name: @2734 type: @2977 scpe: @2905 srcp: _types.h:70 size: @2978 algn: 8 bpos: @19 @2944 record_type name: @2979 size: @130 algn: 64 tag : struct flds: @2945 @2945 field_decl name: @2690 type: @16 scpe: @2944 srcp: _types.h:71 chan: @2980 size: @19 algn: 64 bpos: @20 @2946 identifier_node strg: pthread_t lngt: 9 @2947 pointer_type name: @2910 unql: @2981 size: @19 algn: 64 ptd : @2982 @2948 type_decl name: @2983 type: @2984 srcp: types.h:357 chan: @2985 @2949 identifier_node strg: swblk_t lngt: 7 @2950 integer_type name: @2913 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @2951 type_decl name: @2986 type: @2987 srcp: types.h:180 chan: @2988 @2952 identifier_node strg: ferror lngt: 6 @2953 function_decl name: @2989 type: @2878 srcp: stdio.h:243 chan: @2990 body: undefined link: extern @2954 tree_list valu: @831 @2955 tree_list valu: @2068 chan: @2991 @2956 tree_list valu: @1527 chan: @2992 @2957 function_type size: @12 algn: 8 retn: @3 prms: @2956 @2958 function_decl name: @2993 mngl: @2994 type: @2995 srcp: :0 chan: @2996 body: undefined link: extern @2959 type_decl type: @2982 srcp: _types.h:72 chan: @2997 @2960 identifier_node strg: __darwin_ssize_t lngt: 16 @2961 integer_type name: @2926 unql: @16 size: @19 algn: 64 prec: 64 sign: signed min : @22 max : @23 @2962 identifier_node strg: in_port_t lngt: 9 @2963 integer_type name: @2929 unql: @51 size: @47 algn: 16 prec: 16 sign: unsigned min : @53 max : @54 @2964 type_decl name: @2998 type: @2999 srcp: types.h:135 chan: @3000 @2965 identifier_node strg: __builtin_dcgettext lngt: 19 @2966 identifier_node strg: dcgettext lngt: 9 @2967 function_type size: @12 algn: 8 retn: @1527 prms: @3001 @2968 function_decl name: @2966 type: @2967 srcp: :0 chan: @3002 body: undefined link: extern @2969 identifier_node strg: hardlinks lngt: 9 @2970 field_decl name: @3003 type: @2631 scpe: @2572 srcp: curl.h:245 chan: @3004 size: @1799 algn: 64 bpos: @1750 @2971 tree_list valu: @3 chan: @146 @2972 tree_list purp: @2973 valu: @1755 @2973 identifier_node strg: CURLSOCKTYPE_LAST lngt: 17 @2974 type_decl name: @3005 type: @3006 srcp: curl.h:314 chan: @3007 @2975 identifier_node strg: va_list lngt: 7 @2976 array_type name: @2941 unql: @129 size: @130 algn: 64 elts: @131 domn: @132 @2977 array_type size: @2978 algn: 8 elts: @9 domn: @3008 @2978 integer_cst type: @11 low : 1536 @2979 identifier_node strg: _opaque_pthread_rwlockattr_t lngt: 28 @2980 field_decl name: @2734 type: @3009 scpe: @2944 srcp: _types.h:71 size: @72 algn: 8 bpos: @19 @2981 pointer_type size: @19 algn: 64 ptd : @2982 @2982 record_type name: @3010 size: @3011 algn: 64 tag : struct flds: @3012 @2983 identifier_node strg: pthread_key_t lngt: 13 @2984 integer_type name: @2948 unql: @30 size: @19 algn: 64 prec: 64 sign: unsigned min : @32 max : @33 @2985 type_decl name: @3013 type: @3014 srcp: types.h:363 chan: @3015 @2986 identifier_node strg: uid_t lngt: 5 @2987 integer_type name: @2951 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @2988 type_decl name: @3016 type: @3017 srcp: types.h:223 chan: @2127 @2989 identifier_node strg: fflush lngt: 6 @2990 function_decl name: @3018 type: @2878 srcp: stdio.h:244 chan: @3019 body: undefined link: extern @2991 tree_list valu: @831 @2992 tree_list valu: @831 @2993 identifier_node strg: __builtin_sscanf lngt: 16 @2994 identifier_node strg: sscanf lngt: 6 @2995 function_type size: @12 algn: 8 retn: @3 prms: @3020 @2996 function_decl name: @2994 type: @3021 srcp: stdio.h:278 chan: @3022 body: undefined link: extern @2997 type_decl name: @3023 type: @3024 srcp: _types.h:94 chan: @3025 @2998 identifier_node strg: ino_t lngt: 5 @2999 integer_type name: @2964 unql: @40 size: @19 algn: 64 prec: 64 sign: unsigned min : @42 max : @43 @3000 type_decl name: @3026 type: @3027 srcp: types.h:141 chan: @3028 @3001 tree_list valu: @831 chan: @3029 @3002 function_decl name: @3030 mngl: @3031 type: @3032 srcp: :0 chan: @3033 body: undefined link: extern @3003 identifier_node strg: strings lngt: 7 @3004 field_decl name: @2438 type: @25 scpe: @2572 srcp: curl.h:247 chan: @3034 size: @5 algn: 32 bpos: @2514 @3005 identifier_node strg: curlsocktype lngt: 12 @3006 enumeral_type name: @2974 unql: @2897 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @2936 @3007 type_decl name: @3035 type: @3036 srcp: curl.h:325 chan: @3037 @3008 integer_type size: @19 algn: 64 prec: 64 sign: signed min : @139 max : @3038 @3009 array_type size: @72 algn: 8 elts: @9 domn: @1991 @3010 identifier_node strg: _opaque_pthread_t lngt: 17 @3011 integer_cst type: @11 low : 9472 @3012 field_decl name: @2690 type: @16 scpe: @2982 srcp: _types.h:72 chan: @3039 size: @19 algn: 64 bpos: @20 @3013 identifier_node strg: fsblkcnt_t lngt: 10 @3014 integer_type name: @2985 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @3015 type_decl name: @3040 type: @3041 srcp: types.h:368 chan: @2104 @3016 identifier_node strg: clock_t lngt: 7 @3017 integer_type name: @2988 unql: @30 size: @19 algn: 64 prec: 64 sign: unsigned min : @32 max : @33 @3018 identifier_node strg: fgetc lngt: 5 @3019 function_decl name: @3042 type: @3043 srcp: stdio.h:245 chan: @3044 body: undefined link: extern @3020 tree_list valu: @831 chan: @3045 @3021 function_type size: @12 algn: 8 retn: @3 prms: @3020 @3022 function_decl name: @3046 mngl: @3047 type: @3048 srcp: :0 chan: @3049 body: undefined link: extern @3023 identifier_node strg: __darwin_blkcnt_t lngt: 17 @3024 integer_type name: @2997 unql: @35 size: @19 algn: 64 prec: 64 sign: signed min : @37 max : @38 @3025 type_decl name: @3050 type: @3051 srcp: _types.h:95 chan: @3052 @3026 identifier_node strg: ino64_t lngt: 7 @3027 integer_type name: @3000 unql: @40 size: @19 algn: 64 prec: 64 sign: unsigned min : @42 max : @43 @3028 type_decl name: @3053 type: @3054 srcp: types.h:148 chan: @3055 @3029 tree_list valu: @831 chan: @3056 @3030 identifier_node strg: __builtin_dgettext lngt: 18 @3031 identifier_node strg: dgettext lngt: 8 @3032 function_type size: @12 algn: 8 retn: @1527 prms: @1652 @3033 function_decl name: @3031 type: @3032 srcp: :0 chan: @3057 body: undefined link: extern @3034 field_decl name: @3058 type: @1527 scpe: @2572 srcp: curl.h:250 chan: @3059 size: @19 algn: 64 bpos: @1927 @3035 identifier_node strg: curl_sockopt_callback lngt: 21 @3036 pointer_type name: @3007 unql: @3060 size: @19 algn: 64 ptd : @3061 @3037 type_decl type: @3062 srcp: curl.h:327 chan: @3063 @3038 integer_cst type: @145 low : 191 @3039 field_decl name: @3064 type: @2797 scpe: @2982 srcp: _types.h:72 chan: @3065 size: @19 algn: 64 bpos: @19 @3040 identifier_node strg: fsfilcnt_t lngt: 10 @3041 integer_type name: @3015 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @3042 identifier_node strg: fgetpos lngt: 7 @3043 function_type size: @12 algn: 8 retn: @3 prms: @3066 @3044 function_decl name: @3067 type: @3068 srcp: stdio.h:246 chan: @3069 body: undefined link: extern @3045 tree_list valu: @831 @3046 identifier_node strg: __builtin_vfprintf lngt: 18 @3047 identifier_node strg: vfprintf lngt: 8 @3048 function_type size: @12 algn: 8 retn: @3 prms: @3070 @3049 function_decl name: @3047 type: @3071 srcp: stdio.h:282 chan: @3072 body: undefined link: extern @3050 identifier_node strg: __darwin_blksize_t lngt: 18 @3051 integer_type name: @3025 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @3052 type_decl name: @3073 type: @3074 srcp: _types.h:96 chan: @3075 @3053 identifier_node strg: key_t lngt: 5 @3054 integer_type name: @3028 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @3055 type_decl name: @3076 type: @3077 srcp: types.h:152 chan: @3078 @3056 tree_list valu: @3 chan: @146 @3057 function_decl name: @3079 type: @3080 srcp: :0 chan: @3081 body: undefined link: extern @3058 identifier_node strg: b_data lngt: 6 @3059 field_decl name: @3082 type: @2068 scpe: @2572 srcp: curl.h:251 chan: @3083 size: @19 algn: 64 bpos: @2066 @3060 pointer_type size: @19 algn: 64 ptd : @3061 @3061 function_type size: @12 algn: 8 retn: @3 prms: @3084 @3062 record_type name: @3085 size: @122 algn: 32 tag : struct flds: @3086 @3063 type_decl name: @3087 type: @3088 srcp: curl.h:340 chan: @3089 @3064 identifier_node strg: __cleanup_stack lngt: 15 @3065 field_decl name: @2734 type: @3090 scpe: @2982 srcp: _types.h:72 size: @3091 algn: 8 bpos: @72 @3066 tree_list valu: @1679 chan: @3092 @3067 identifier_node strg: fgets lngt: 5 @3068 function_type size: @12 algn: 8 retn: @1527 prms: @3093 @3069 function_decl name: @3094 mngl: @3095 type: @3096 srcp: stdio.h:250 chan: @3097 body: undefined link: extern @3070 tree_list valu: @157 chan: @3098 @3071 function_type size: @12 algn: 8 retn: @3 prms: @3099 @3072 function_decl name: @3100 mngl: @3101 type: @3102 srcp: :0 chan: @3103 body: undefined link: extern @3073 identifier_node strg: __darwin_dev_t lngt: 14 @3074 integer_type name: @3052 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @3075 type_decl name: @3104 type: @3105 srcp: _types.h:97 chan: @3106 @3076 identifier_node strg: mode_t lngt: 6 @3077 integer_type name: @3055 unql: @51 size: @47 algn: 16 prec: 16 sign: unsigned min : @53 max : @54 @3078 type_decl name: @3107 type: @3108 srcp: types.h:157 chan: @3109 @3079 identifier_node strg: __builtin_dwarf_cfa lngt: 19 @3080 function_type size: @12 algn: 8 retn: @157 prms: @146 @3081 function_decl name: @3110 type: @3111 srcp: :0 chan: @3112 body: undefined link: extern @3082 identifier_node strg: b_size lngt: 6 @3083 field_decl name: @3113 type: @2068 scpe: @2572 srcp: curl.h:252 size: @19 algn: 64 bpos: @2244 @3084 tree_list valu: @157 chan: @3114 @3085 identifier_node strg: curl_sockaddr lngt: 13 @3086 field_decl name: @3115 type: @3 scpe: @3062 srcp: curl.h:328 chan: @3116 size: @5 algn: 32 bpos: @20 @3087 identifier_node strg: curl_opensocket_callback lngt: 24 @3088 pointer_type name: @3063 unql: @3117 size: @19 algn: 64 ptd : @3118 @3089 type_decl name: @3119 type: @3120 srcp: curl.h:343 chan: @3121 @3090 array_type size: @3091 algn: 8 elts: @9 domn: @3122 @3091 integer_cst type: @11 low : 9344 @3092 tree_list valu: @3123 chan: @146 @3093 tree_list valu: @1527 chan: @3124 @3094 identifier_node strg: fopen lngt: 5 @3095 identifier_node strg: _fopen lngt: 7 @3096 function_type size: @12 algn: 8 retn: @1679 prms: @3125 @3097 function_decl name: @3126 type: @3127 srcp: stdio.h:255 chan: @3128 body: undefined link: extern @3098 tree_list valu: @831 chan: @3129 @3099 tree_list valu: @1679 chan: @3130 @3100 identifier_node strg: __builtin_vfscanf lngt: 17 @3101 identifier_node strg: vfscanf lngt: 7 @3102 function_type size: @12 algn: 8 retn: @3 prms: @3070 @3103 function_decl name: @3101 type: @3131 srcp: stdio.h:426 chan: @3132 body: undefined link: extern @3104 identifier_node strg: __darwin_fsblkcnt_t lngt: 19 @3105 integer_type name: @3075 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @3106 type_decl name: @3133 type: @3134 srcp: _types.h:98 chan: @3135 @3107 identifier_node strg: nlink_t lngt: 7 @3108 integer_type name: @3078 unql: @51 size: @47 algn: 16 prec: 16 sign: unsigned min : @53 max : @54 @3109 type_decl name: @3136 type: @3137 srcp: types.h:163 chan: @3138 @3110 identifier_node strg: __builtin_dwarf_sp_column lngt: 25 @3111 function_type size: @12 algn: 8 retn: @25 prms: @146 @3112 function_decl name: @3139 type: @3140 srcp: :0 chan: @3141 body: undefined link: extern @3113 identifier_node strg: b_used lngt: 6 @3114 tree_list valu: @1872 chan: @3142 @3115 identifier_node strg: family lngt: 6 @3116 field_decl name: @3143 type: @3 scpe: @3062 srcp: curl.h:329 chan: @3144 size: @5 algn: 32 bpos: @5 @3117 pointer_type size: @19 algn: 64 ptd : @3118 @3118 function_type size: @12 algn: 8 retn: @1872 prms: @3145 @3119 identifier_node strg: curl_closesocket_callback lngt: 25 @3120 pointer_type name: @3089 unql: @3146 size: @19 algn: 64 ptd : @3147 @3121 type_decl type: @3148 srcp: curl.h:345 chan: @3149 @3122 integer_type size: @19 algn: 64 prec: 64 sign: signed min : @139 max : @3150 @3123 pointer_type size: @19 algn: 64 ptd : @1975 @3124 tree_list valu: @3 chan: @3151 @3125 tree_list valu: @831 chan: @3152 @3126 identifier_node strg: fread lngt: 5 @3127 function_type size: @12 algn: 8 retn: @2068 prms: @3153 @3128 function_decl name: @3154 mngl: @3155 type: @3156 srcp: stdio.h:257 chan: @3157 body: undefined link: extern @3129 tree_list valu: @3158 chan: @146 @3130 tree_list valu: @831 chan: @3159 @3131 function_type size: @12 algn: 8 retn: @3 prms: @3099 @3132 function_decl name: @3160 mngl: @3161 type: @3162 srcp: :0 chan: @3163 body: undefined link: extern @3133 identifier_node strg: __darwin_fsfilcnt_t lngt: 19 @3134 integer_type name: @3106 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @3135 type_decl name: @3164 type: @3165 srcp: _types.h:99 chan: @3166 @3136 identifier_node strg: id_t lngt: 4 @3137 integer_type name: @3109 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @3138 type_decl name: @3167 type: @3168 srcp: types.h:167 chan: @2830 @3139 identifier_node strg: __builtin_eh_return lngt: 19 @3140 function_type size: @12 algn: 8 retn: @124 prms: @3169 @3141 function_decl name: @3170 type: @2382 srcp: :0 chan: @3171 body: undefined link: extern @3142 tree_list valu: @3006 chan: @146 @3143 identifier_node strg: socktype lngt: 8 @3144 field_decl name: @3172 type: @3 scpe: @3062 srcp: curl.h:330 chan: @3173 size: @5 algn: 32 bpos: @19 @3145 tree_list valu: @157 chan: @3174 @3146 pointer_type size: @19 algn: 64 ptd : @3147 @3147 function_type size: @12 algn: 8 retn: @3 prms: @3175 @3148 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @3176 @3149 const_decl name: @3177 type: @3148 srcp: curl.h:346 chan: @3178 cnst: @1760 @3150 integer_cst type: @145 low : 1167 @3151 tree_list valu: @1679 chan: @146 @3152 tree_list valu: @831 chan: @146 @3153 tree_list valu: @157 chan: @3179 @3154 identifier_node strg: freopen lngt: 7 @3155 identifier_node strg: _freopen lngt: 9 @3156 function_type size: @12 algn: 8 retn: @1679 prms: @3180 @3157 function_decl name: @3181 type: @3182 srcp: stdio.h:259 chan: @3183 body: undefined link: extern @3158 pointer_type size: @19 algn: 64 ptd : @131 @3159 tree_list valu: @3158 chan: @146 @3160 identifier_node strg: __builtin_vprintf lngt: 17 @3161 identifier_node strg: vprintf lngt: 7 @3162 function_type size: @12 algn: 8 retn: @3 prms: @3184 @3163 function_decl name: @3161 type: @3185 srcp: stdio.h:283 chan: @3186 body: undefined link: extern @3164 identifier_node strg: __darwin_gid_t lngt: 14 @3165 integer_type name: @3135 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @3166 type_decl name: @3187 type: @3188 srcp: _types.h:100 chan: @3189 @3167 identifier_node strg: pid_t lngt: 5 @3168 integer_type name: @3138 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @3169 tree_list valu: @16 chan: @3190 @3170 identifier_node strg: __builtin_eh_return_data_regno lngt: 30 @3171 function_decl name: @3191 mngl: @3192 type: @3193 srcp: :0 chan: @3194 body: undefined link: extern @3172 identifier_node strg: protocol lngt: 8 @3173 field_decl name: @3195 type: @25 scpe: @3062 srcp: curl.h:331 chan: @3196 size: @5 algn: 32 bpos: @1725 @3174 tree_list valu: @3006 chan: @3197 @3175 tree_list valu: @157 chan: @3198 @3176 tree_list purp: @3177 valu: @1760 chan: @3199 @3177 identifier_node strg: CURLIOE_OK lngt: 10 @3178 const_decl name: @3200 type: @3148 srcp: curl.h:347 chan: @3201 cnst: @1755 @3179 tree_list valu: @2068 chan: @3202 @3180 tree_list valu: @831 chan: @3203 @3181 identifier_node strg: fseek lngt: 5 @3182 function_type size: @12 algn: 8 retn: @3 prms: @3204 @3183 function_decl name: @3205 type: @3206 srcp: stdio.h:260 chan: @3207 body: undefined link: extern @3184 tree_list valu: @831 chan: @3208 @3185 function_type size: @12 algn: 8 retn: @3 prms: @3184 @3186 function_decl name: @3209 mngl: @3210 type: @3211 srcp: :0 chan: @3212 body: undefined link: extern @3187 identifier_node strg: __darwin_id_t lngt: 13 @3188 integer_type name: @3166 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @3189 type_decl name: @3213 type: @3214 srcp: _types.h:101 chan: @3215 @3190 tree_list valu: @157 chan: @146 @3191 identifier_node strg: __builtin_execl lngt: 15 @3192 identifier_node strg: execl lngt: 5 @3193 function_type size: @12 algn: 8 retn: @3 prms: @3020 @3194 function_decl name: @3192 type: @3193 srcp: :0 chan: @3216 body: undefined link: extern @3195 identifier_node strg: addrlen lngt: 7 @3196 field_decl name: @3217 type: @1932 scpe: @3062 srcp: curl.h:334 size: @72 algn: 8 bpos: @72 @3197 tree_list valu: @3218 chan: @146 @3198 tree_list valu: @1872 chan: @146 @3199 tree_list purp: @3200 valu: @1755 chan: @3219 @3200 identifier_node strg: CURLIOE_UNKNOWNCMD lngt: 18 @3201 const_decl name: @3220 type: @3148 srcp: curl.h:348 chan: @3221 cnst: @2223 @3202 tree_list valu: @2068 chan: @3222 @3203 tree_list valu: @831 chan: @3223 @3204 tree_list valu: @1679 chan: @3224 @3205 identifier_node strg: fsetpos lngt: 7 @3206 function_type size: @12 algn: 8 retn: @3 prms: @3225 @3207 function_decl name: @3226 type: @3227 srcp: stdio.h:261 chan: @3228 body: undefined link: extern @3208 tree_list valu: @3158 chan: @146 @3209 identifier_node strg: __builtin_vscanf lngt: 16 @3210 identifier_node strg: vscanf lngt: 6 @3211 function_type size: @12 algn: 8 retn: @3 prms: @3184 @3212 function_decl name: @3210 type: @3229 srcp: stdio.h:427 chan: @3230 body: undefined link: extern @3213 identifier_node strg: __darwin_ino64_t lngt: 16 @3214 integer_type name: @3189 unql: @40 size: @19 algn: 64 prec: 64 sign: unsigned min : @42 max : @43 @3215 type_decl name: @3231 type: @3232 srcp: _types.h:103 chan: @3233 @3216 function_decl name: @3234 mngl: @3235 type: @3193 srcp: :0 chan: @3236 body: undefined link: extern @3217 identifier_node strg: addr lngt: 4 @3218 pointer_type size: @19 algn: 64 ptd : @3062 @3219 tree_list purp: @3220 valu: @2223 chan: @3237 @3220 identifier_node strg: CURLIOE_FAILRESTART lngt: 19 @3221 const_decl name: @3238 type: @3148 srcp: curl.h:350 chan: @3239 cnst: @2274 @3222 tree_list valu: @1679 chan: @146 @3223 tree_list valu: @1679 chan: @146 @3224 tree_list valu: @16 chan: @3240 @3225 tree_list valu: @1679 chan: @3241 @3226 identifier_node strg: ftell lngt: 5 @3227 function_type size: @12 algn: 8 retn: @16 prms: @3242 @3228 function_decl name: @3243 type: @2878 srcp: stdio.h:263 chan: @3244 body: undefined link: extern @3229 function_type size: @12 algn: 8 retn: @3 prms: @3184 @3230 function_decl name: @3245 mngl: @3246 type: @3247 srcp: :0 chan: @3248 body: undefined link: extern @3231 identifier_node strg: __darwin_ino_t lngt: 14 @3232 integer_type name: @3215 unql: @40 size: @19 algn: 64 prec: 64 sign: unsigned min : @42 max : @43 @3233 type_decl name: @3249 type: @3250 srcp: _types.h:107 chan: @3251 @3234 identifier_node strg: __builtin_execlp lngt: 16 @3235 identifier_node strg: execlp lngt: 6 @3236 function_decl name: @3235 type: @3193 srcp: :0 chan: @3252 body: undefined link: extern @3237 tree_list purp: @3238 valu: @2274 @3238 identifier_node strg: CURLIOE_LAST lngt: 12 @3239 type_decl name: @3253 type: @3254 srcp: curl.h:350 chan: @3255 @3240 tree_list valu: @3 chan: @146 @3241 tree_list valu: @3256 chan: @146 @3242 tree_list valu: @1679 chan: @146 @3243 identifier_node strg: getc lngt: 4 @3244 function_decl name: @3257 type: @428 srcp: stdio.h:264 chan: @3258 body: undefined link: extern @3245 identifier_node strg: __builtin_vsnprintf lngt: 19 @3246 identifier_node strg: vsnprintf lngt: 9 @3247 function_type size: @12 algn: 8 retn: @3 prms: @3259 @3248 function_decl name: @3246 type: @3260 srcp: stdio.h:428 chan: @3261 body: undefined link: extern @3249 identifier_node strg: __darwin_mach_port_name_t lngt: 25 @3250 integer_type name: @3233 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @3251 type_decl name: @3262 type: @3263 srcp: _types.h:108 chan: @3264 @3252 function_decl name: @3265 mngl: @3266 type: @3267 srcp: :0 chan: @3268 body: undefined link: extern @3253 identifier_node strg: curlioerr lngt: 9 @3254 enumeral_type name: @3239 unql: @3148 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @3176 @3255 type_decl type: @3269 srcp: curl.h:352 chan: @3270 @3256 pointer_type size: @19 algn: 64 ptd : @3271 @3257 identifier_node strg: getchar lngt: 7 @3258 function_decl name: @3272 type: @3273 srcp: stdio.h:265 chan: @3274 body: undefined link: extern @3259 tree_list valu: @1527 chan: @3275 @3260 function_type size: @12 algn: 8 retn: @3 prms: @3276 @3261 function_decl name: @3277 mngl: @3278 type: @3279 srcp: :0 chan: @3280 body: undefined link: extern @3262 identifier_node strg: __darwin_mach_port_t lngt: 20 @3263 integer_type name: @3251 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @3264 type_decl name: @3281 type: @3282 srcp: _types.h:109 chan: @3283 @3265 identifier_node strg: __builtin_execle lngt: 16 @3266 identifier_node strg: execle lngt: 6 @3267 function_type size: @12 algn: 8 retn: @3 prms: @3020 @3268 function_decl name: @3266 type: @3267 srcp: :0 chan: @3284 body: undefined link: extern @3269 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @3285 @3270 const_decl name: @3286 type: @3269 srcp: curl.h:353 chan: @3287 cnst: @1760 @3271 integer_type qual: c name: @2015 unql: @35 size: @19 algn: 64 prec: 64 sign: signed min : @37 max : @38 @3272 identifier_node strg: gets lngt: 4 @3273 function_type size: @12 algn: 8 retn: @1527 prms: @3288 @3274 function_decl name: @3289 type: @3290 srcp: stdio.h:266 chan: @3291 body: undefined link: extern @3275 tree_list valu: @30 chan: @3292 @3276 tree_list valu: @1527 chan: @3293 @3277 identifier_node strg: __builtin_vsprintf lngt: 18 @3278 identifier_node strg: vsprintf lngt: 8 @3279 function_type size: @12 algn: 8 retn: @3 prms: @3294 @3280 function_decl name: @3278 type: @3295 srcp: stdio.h:284 chan: @3296 body: undefined link: extern @3281 identifier_node strg: __darwin_mode_t lngt: 15 @3282 integer_type name: @3264 unql: @51 size: @47 algn: 16 prec: 16 sign: unsigned min : @53 max : @54 @3283 type_decl name: @3297 type: @3298 srcp: _types.h:110 chan: @3299 @3284 function_decl name: @3300 mngl: @3301 type: @3302 srcp: :0 chan: @3303 body: undefined link: extern @3285 tree_list purp: @3286 valu: @1760 chan: @3304 @3286 identifier_node strg: CURLIOCMD_NOP lngt: 13 @3287 const_decl name: @3305 type: @3269 srcp: curl.h:354 chan: @3306 cnst: @1755 @3288 tree_list valu: @1527 chan: @146 @3289 identifier_node strg: perror lngt: 6 @3290 function_type size: @12 algn: 8 retn: @124 prms: @3307 @3291 function_decl name: @3308 type: @2555 srcp: stdio.h:271 chan: @3309 body: undefined link: extern @3292 tree_list valu: @831 chan: @3310 @3293 tree_list valu: @2068 chan: @3311 @3294 tree_list valu: @1527 chan: @3312 @3295 function_type size: @12 algn: 8 retn: @3 prms: @3294 @3296 function_decl name: @3313 mngl: @3314 type: @3315 srcp: :0 chan: @3316 body: undefined link: extern @3297 identifier_node strg: __darwin_off_t lngt: 14 @3298 integer_type name: @3283 unql: @35 size: @19 algn: 64 prec: 64 sign: signed min : @37 max : @38 @3299 type_decl name: @3317 type: @3318 srcp: _types.h:111 chan: @3319 @3300 identifier_node strg: __builtin_execv lngt: 15 @3301 identifier_node strg: execv lngt: 5 @3302 function_type size: @12 algn: 8 retn: @3 prms: @3320 @3303 function_decl name: @3301 type: @3302 srcp: :0 chan: @3321 body: undefined link: extern @3304 tree_list purp: @3305 valu: @1755 chan: @3322 @3305 identifier_node strg: CURLIOCMD_RESTARTREAD lngt: 21 @3306 const_decl name: @3323 type: @3269 srcp: curl.h:356 chan: @3324 cnst: @2223 @3307 tree_list valu: @831 chan: @146 @3308 identifier_node strg: remove lngt: 6 @3309 function_decl name: @3325 type: @3326 srcp: stdio.h:272 chan: @3327 body: undefined link: extern @3310 tree_list valu: @3158 chan: @146 @3311 tree_list valu: @831 chan: @3328 @3312 tree_list valu: @831 chan: @3329 @3313 identifier_node strg: __builtin_vsscanf lngt: 17 @3314 identifier_node strg: vsscanf lngt: 7 @3315 function_type size: @12 algn: 8 retn: @3 prms: @3330 @3316 function_decl name: @3314 type: @3331 srcp: stdio.h:429 chan: @3332 body: undefined link: extern @3317 identifier_node strg: __darwin_pid_t lngt: 14 @3318 integer_type name: @3299 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @3319 type_decl name: @3333 type: @3334 srcp: _types.h:113 chan: @3335 @3320 tree_list valu: @831 chan: @3336 @3321 function_decl name: @3337 mngl: @3338 type: @3302 srcp: :0 chan: @3339 body: undefined link: extern @3322 tree_list purp: @3323 valu: @2223 @3323 identifier_node strg: CURLIOCMD_LAST lngt: 14 @3324 type_decl name: @3340 type: @3341 srcp: curl.h:356 chan: @3342 @3325 identifier_node strg: rename lngt: 6 @3326 function_type size: @12 algn: 8 retn: @3 prms: @1583 @3327 function_decl name: @3343 type: @2834 srcp: stdio.h:273 chan: @3344 body: undefined link: extern @3328 tree_list valu: @3158 chan: @146 @3329 tree_list valu: @3158 chan: @146 @3330 tree_list valu: @831 chan: @3345 @3331 function_type size: @12 algn: 8 retn: @3 prms: @3330 @3332 function_decl name: @3346 mngl: @3347 type: @2382 srcp: :0 chan: @3348 body: undefined link: extern @3333 identifier_node strg: __darwin_pthread_attr_t lngt: 23 @3334 record_type name: @3319 unql: @2642 size: @1884 algn: 64 tag : struct flds: @2643 @3335 type_decl name: @3349 type: @3350 srcp: _types.h:115 chan: @3351 @3336 tree_list valu: @3352 chan: @146 @3337 identifier_node strg: __builtin_execvp lngt: 16 @3338 identifier_node strg: execvp lngt: 6 @3339 function_decl name: @3338 type: @3302 srcp: :0 chan: @3353 body: undefined link: extern @3340 identifier_node strg: curliocmd lngt: 9 @3341 enumeral_type name: @3324 unql: @3269 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @3285 @3342 type_decl name: @3354 type: @3355 srcp: curl.h:360 chan: @3356 @3343 identifier_node strg: rewind lngt: 6 @3344 function_decl name: @3357 type: @3358 srcp: stdio.h:275 chan: @3359 body: undefined link: extern @3345 tree_list valu: @831 chan: @3360 @3346 identifier_node strg: __builtin_isalnum lngt: 17 @3347 identifier_node strg: isalnum lngt: 7 @3348 function_decl name: @3347 type: @2382 srcp: :0 chan: @3361 body: undefined link: extern @3349 identifier_node strg: __darwin_pthread_cond_t lngt: 23 @3350 record_type name: @3335 unql: @2692 size: @1826 algn: 64 tag : struct flds: @2693 @3351 type_decl name: @3362 type: @3363 srcp: _types.h:117 chan: @3364 @3352 pointer_type size: @19 algn: 64 ptd : @831 @3353 function_decl name: @3365 mngl: @3366 type: @3367 srcp: :0 chan: @3368 body: undefined link: extern @3354 identifier_node strg: curl_ioctl_callback lngt: 19 @3355 pointer_type name: @3342 unql: @3369 size: @19 algn: 64 ptd : @3370 @3356 type_decl name: @3371 type: @3372 srcp: curl.h:368 chan: @3373 @3357 identifier_node strg: setbuf lngt: 6 @3358 function_type size: @12 algn: 8 retn: @124 prms: @3374 @3359 function_decl name: @3375 type: @3376 srcp: stdio.h:276 chan: @3377 body: undefined link: extern @3360 tree_list valu: @3158 chan: @146 @3361 function_decl name: @3378 mngl: @3379 type: @2382 srcp: :0 chan: @3380 body: undefined link: extern @3362 identifier_node strg: __darwin_pthread_condattr_t lngt: 27 @3363 record_type name: @3351 unql: @2738 size: @72 algn: 64 tag : struct flds: @2739 @3364 type_decl name: @3381 type: @3382 srcp: _types.h:118 chan: @3383 @3365 identifier_node strg: __builtin_execve lngt: 16 @3366 identifier_node strg: execve lngt: 6 @3367 function_type size: @12 algn: 8 retn: @3 prms: @3384 @3368 function_decl name: @3366 type: @3367 srcp: :0 chan: @3385 body: undefined link: extern @3369 pointer_type size: @19 algn: 64 ptd : @3370 @3370 function_type size: @12 algn: 8 retn: @3254 prms: @3386 @3371 identifier_node strg: curl_malloc_callback lngt: 20 @3372 pointer_type name: @3356 unql: @3387 size: @19 algn: 64 ptd : @3388 @3373 type_decl name: @3389 type: @3390 srcp: curl.h:369 chan: @3391 @3374 tree_list valu: @1679 chan: @3392 @3375 identifier_node strg: setvbuf lngt: 7 @3376 function_type size: @12 algn: 8 retn: @3 prms: @3393 @3377 function_decl name: @3394 type: @3395 srcp: stdio.h:279 chan: @3396 body: undefined link: extern @3378 identifier_node strg: __builtin_isalpha lngt: 17 @3379 identifier_node strg: isalpha lngt: 7 @3380 function_decl name: @3379 type: @2382 srcp: :0 chan: @3397 body: undefined link: extern @3381 identifier_node strg: __darwin_pthread_key_t lngt: 22 @3382 integer_type name: @3364 unql: @30 size: @19 algn: 64 prec: 64 sign: unsigned min : @32 max : @33 @3383 type_decl name: @3398 type: @3399 srcp: _types.h:120 chan: @3400 @3384 tree_list valu: @831 chan: @3401 @3385 function_decl name: @3402 mngl: @3403 type: @3404 srcp: :0 chan: @3405 body: undefined link: extern @3386 tree_list valu: @3406 chan: @3407 @3387 pointer_type size: @19 algn: 64 ptd : @3388 @3388 function_type size: @12 algn: 8 retn: @157 prms: @3408 @3389 identifier_node strg: curl_free_callback lngt: 18 @3390 pointer_type name: @3373 unql: @2708 size: @19 algn: 64 ptd : @2755 @3391 type_decl name: @3409 type: @3410 srcp: curl.h:370 chan: @3411 @3392 tree_list valu: @1527 chan: @146 @3393 tree_list valu: @1679 chan: @3412 @3394 identifier_node strg: tmpfile lngt: 7 @3395 function_type size: @12 algn: 8 retn: @1679 prms: @146 @3396 function_decl name: @3413 type: @3273 srcp: stdio.h:280 chan: @3414 body: undefined link: extern @3397 function_decl name: @3415 mngl: @3416 type: @2382 srcp: :0 chan: @3417 body: undefined link: extern @3398 identifier_node strg: __darwin_pthread_mutex_t lngt: 24 @3399 record_type name: @3383 unql: @2784 size: @1884 algn: 64 tag : struct flds: @2785 @3400 type_decl name: @3418 type: @3419 srcp: _types.h:122 chan: @3420 @3401 tree_list valu: @3352 chan: @3421 @3402 identifier_node strg: __builtin_exit lngt: 14 @3403 identifier_node strg: exit lngt: 4 @3404 function_type size: @12 algn: 8 retn: @124 prms: @3422 @3405 function_decl name: @3403 type: @3404 srcp: :0 chan: @3423 body: undefined link: extern @3406 pointer_type size: @19 algn: 64 ptd : @1844 @3407 tree_list valu: @3 chan: @3424 @3408 tree_list valu: @2068 chan: @146 @3409 identifier_node strg: curl_realloc_callback lngt: 21 @3410 pointer_type name: @3391 unql: @3425 size: @19 algn: 64 ptd : @3426 @3411 type_decl name: @3427 type: @3428 srcp: curl.h:371 chan: @3429 @3412 tree_list valu: @1527 chan: @3430 @3413 identifier_node strg: tmpnam lngt: 6 @3414 function_decl name: @3431 type: @1706 srcp: stdio.h:281 chan: @3432 body: undefined link: extern @3415 identifier_node strg: __builtin_isascii lngt: 17 @3416 identifier_node strg: isascii lngt: 7 @3417 function_decl name: @3416 type: @2382 srcp: :0 chan: @3433 body: undefined link: extern @3418 identifier_node strg: __darwin_pthread_mutexattr_t lngt: 28 @3419 record_type name: @3400 unql: @2825 size: @72 algn: 64 tag : struct flds: @2826 @3420 type_decl name: @3434 type: @3435 srcp: _types.h:124 chan: @3436 @3421 tree_list valu: @3352 chan: @146 @3422 tree_list valu: @3 chan: @146 @3423 function_decl name: @3437 type: @3438 srcp: :0 chan: @3439 body: undefined link: extern @3424 tree_list valu: @157 chan: @146 @3425 pointer_type size: @19 algn: 64 ptd : @3426 @3426 function_type size: @12 algn: 8 retn: @157 prms: @3440 @3427 identifier_node strg: curl_strdup_callback lngt: 20 @3428 pointer_type name: @3411 unql: @3441 size: @19 algn: 64 ptd : @3442 @3429 type_decl name: @3443 type: @3444 srcp: curl.h:372 chan: @3445 @3430 tree_list valu: @3 chan: @3446 @3431 identifier_node strg: ungetc lngt: 6 @3432 function_decl name: @3447 type: @3273 srcp: stdio.h:300 chan: @3448 body: undefined link: extern @3433 function_decl name: @3449 mngl: @3450 type: @2382 srcp: :0 chan: @3451 body: undefined link: extern @3434 identifier_node strg: __darwin_pthread_once_t lngt: 23 @3435 record_type name: @3420 unql: @2867 size: @72 algn: 64 tag : struct flds: @2868 @3436 type_decl name: @3452 type: @3453 srcp: _types.h:126 chan: @3454 @3437 identifier_node strg: __builtin_expect lngt: 16 @3438 function_type size: @12 algn: 8 retn: @16 prms: @3455 @3439 function_decl name: @3456 type: @2773 srcp: :0 chan: @3457 body: undefined link: extern @3440 tree_list valu: @157 chan: @3458 @3441 pointer_type size: @19 algn: 64 ptd : @3442 @3442 function_type size: @12 algn: 8 retn: @1527 prms: @1613 @3443 identifier_node strg: curl_calloc_callback lngt: 20 @3444 pointer_type name: @3429 unql: @3459 size: @19 algn: 64 ptd : @3460 @3445 type_decl type: @3461 srcp: curl.h:375 chan: @3462 @3446 tree_list valu: @2068 chan: @146 @3447 identifier_node strg: ctermid lngt: 7 @3448 function_decl name: @3463 mngl: @3464 type: @3465 srcp: stdio.h:306 chan: @3466 body: undefined link: extern @3449 identifier_node strg: __builtin_isblank lngt: 17 @3450 identifier_node strg: isblank lngt: 7 @3451 function_decl name: @3450 type: @2382 srcp: :0 chan: @3467 body: undefined link: extern @3452 identifier_node strg: __darwin_pthread_rwlock_t lngt: 25 @3453 record_type name: @3436 unql: @2905 size: @2906 algn: 64 tag : struct flds: @2907 @3454 type_decl name: @3468 type: @3469 srcp: _types.h:128 chan: @3470 @3455 tree_list valu: @16 chan: @3471 @3456 identifier_node strg: __builtin_extend_pointer lngt: 24 @3457 function_decl name: @3472 type: @3473 srcp: :0 chan: @3474 body: undefined link: extern @3458 tree_list valu: @2068 chan: @146 @3459 pointer_type size: @19 algn: 64 ptd : @3460 @3460 function_type size: @12 algn: 8 retn: @157 prms: @3475 @3461 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @3476 @3462 const_decl name: @3477 type: @3461 srcp: curl.h:376 chan: @3478 cnst: @1760 @3463 identifier_node strg: fdopen lngt: 6 @3464 identifier_node strg: _fdopen lngt: 8 @3465 function_type size: @12 algn: 8 retn: @1679 prms: @3479 @3466 function_decl name: @3480 type: @2878 srcp: stdio.h:308 chan: @3481 body: undefined link: extern @3467 function_decl name: @3482 mngl: @3483 type: @2382 srcp: :0 chan: @3484 body: undefined link: extern @3468 identifier_node strg: __darwin_pthread_rwlockattr_t lngt: 29 @3469 record_type name: @3454 unql: @2944 size: @130 algn: 64 tag : struct flds: @2945 @3470 type_decl name: @3485 type: @3486 srcp: _types.h:130 chan: @3487 @3471 tree_list valu: @16 chan: @146 @3472 identifier_node strg: __builtin_extract_return_addr lngt: 29 @3473 function_type size: @12 algn: 8 retn: @157 prms: @3488 @3474 function_decl name: @3489 mngl: @3490 type: @2382 srcp: :0 chan: @3491 body: undefined link: extern @3475 tree_list valu: @2068 chan: @3492 @3476 tree_list purp: @3477 valu: @1760 chan: @3493 @3477 identifier_node strg: CURLINFO_TEXT lngt: 13 @3478 const_decl name: @3494 type: @3461 srcp: curl.h:377 chan: @3495 cnst: @1755 @3479 tree_list valu: @3 chan: @3496 @3480 identifier_node strg: fileno lngt: 6 @3481 function_decl name: @3497 type: @2878 srcp: stdio.h:319 chan: @3498 body: undefined link: extern @3482 identifier_node strg: __builtin_iscntrl lngt: 17 @3483 identifier_node strg: iscntrl lngt: 7 @3484 function_decl name: @3483 type: @2382 srcp: :0 chan: @3499 body: undefined link: extern @3485 identifier_node strg: __darwin_pthread_t lngt: 18 @3486 pointer_type name: @3470 unql: @2981 size: @19 algn: 64 ptd : @2982 @3487 type_decl name: @3500 type: @3501 srcp: _types.h:131 chan: @1836 @3488 tree_list valu: @157 chan: @146 @3489 identifier_node strg: __builtin_ffs lngt: 13 @3490 identifier_node strg: ffs lngt: 3 @3491 function_decl name: @3490 type: @2382 srcp: :0 chan: @3502 body: undefined link: extern @3492 tree_list valu: @2068 chan: @146 @3493 tree_list purp: @3494 valu: @1755 chan: @3503 @3494 identifier_node strg: CURLINFO_HEADER_IN lngt: 18 @3495 const_decl name: @3504 type: @3461 srcp: curl.h:378 chan: @3505 cnst: @2223 @3496 tree_list valu: @831 chan: @146 @3497 identifier_node strg: pclose lngt: 6 @3498 function_decl name: @3506 mngl: @3507 type: @3096 srcp: stdio.h:323 chan: @3508 body: undefined link: extern @3499 function_decl name: @3509 mngl: @3510 type: @2382 srcp: :0 chan: @3511 body: undefined link: extern @3500 identifier_node strg: __darwin_sigset_t lngt: 17 @3501 integer_type name: @3487 unql: @25 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 @3502 function_decl name: @3512 mngl: @3513 type: @3514 srcp: :0 chan: @3515 body: undefined link: extern @3503 tree_list purp: @3504 valu: @2223 chan: @3516 @3504 identifier_node strg: CURLINFO_HEADER_OUT lngt: 19 @3505 const_decl name: @3517 type: @3461 srcp: curl.h:379 chan: @3518 cnst: @2274 @3506 identifier_node strg: popen lngt: 5 @3507 identifier_node strg: _popen lngt: 7 @3508 function_decl name: @3519 type: @2878 srcp: stdio.h:341 chan: @3520 body: undefined link: extern @3509 identifier_node strg: __builtin_isdigit lngt: 17 @3510 identifier_node strg: isdigit lngt: 7 @3511 function_decl name: @3510 type: @2382 srcp: :0 chan: @3521 body: undefined link: extern @3512 identifier_node strg: __builtin_ffsimax lngt: 17 @3513 identifier_node strg: ffsimax lngt: 7 @3514 function_type size: @12 algn: 8 retn: @3 prms: @3522 @3515 function_decl name: @3513 type: @3514 srcp: :0 chan: @3523 body: undefined link: extern @3516 tree_list purp: @3517 valu: @2274 chan: @3524 @3517 identifier_node strg: CURLINFO_DATA_IN lngt: 16 @3518 const_decl name: @3525 type: @3461 srcp: curl.h:380 chan: @3526 cnst: @2321 @3519 identifier_node strg: __srget lngt: 7 @3520 function_decl name: @3527 type: @3528 srcp: stdio.h:342 chan: @3529 body: undefined link: extern @3521 function_decl name: @3530 mngl: @3531 type: @2382 srcp: :0 chan: @3532 body: undefined link: extern @3522 tree_list valu: @16 chan: @146 @3523 function_decl name: @3533 mngl: @3534 type: @3514 srcp: :0 chan: @3535 body: undefined link: extern @3524 tree_list purp: @3525 valu: @2321 chan: @3536 @3525 identifier_node strg: CURLINFO_DATA_OUT lngt: 17 @3526 const_decl name: @3537 type: @3461 srcp: curl.h:381 chan: @3538 cnst: @2363 @3527 identifier_node strg: __svfscanf lngt: 10 @3528 function_type size: @12 algn: 8 retn: @3 prms: @3099 @3529 function_decl name: @3539 type: @1706 srcp: stdio.h:343 chan: @3540 body: undefined link: extern @3530 identifier_node strg: __builtin_isgraph lngt: 17 @3531 identifier_node strg: isgraph lngt: 7 @3532 function_decl name: @3531 type: @2382 srcp: :0 chan: @3541 body: undefined link: extern @3533 identifier_node strg: __builtin_ffsl lngt: 14 @3534 identifier_node strg: ffsl lngt: 4 @3535 function_decl name: @3534 type: @3514 srcp: :0 chan: @3542 body: undefined link: extern @3536 tree_list purp: @3537 valu: @2363 chan: @3543 @3537 identifier_node strg: CURLINFO_SSL_DATA_IN lngt: 20 @3538 const_decl name: @3544 type: @3461 srcp: curl.h:382 chan: @3545 cnst: @2403 @3539 identifier_node strg: __swbuf lngt: 7 @3540 function_decl name: @3546 type: @2834 srcp: stdio.h:378 chan: @3547 body: undefined link: extern @3541 function_decl name: @3548 mngl: @3549 type: @2382 srcp: :0 chan: @3550 body: undefined link: extern @3542 function_decl name: @3551 mngl: @3552 type: @3553 srcp: :0 chan: @3554 body: undefined link: extern @3543 tree_list purp: @3544 valu: @2403 chan: @3555 @3544 identifier_node strg: CURLINFO_SSL_DATA_OUT lngt: 21 @3545 const_decl name: @3556 type: @3461 srcp: curl.h:384 chan: @3557 cnst: @2443 @3546 identifier_node strg: flockfile lngt: 9 @3547 function_decl name: @3558 type: @2878 srcp: stdio.h:379 chan: @3559 body: undefined link: extern @3548 identifier_node strg: __builtin_islower lngt: 17 @3549 identifier_node strg: islower lngt: 7 @3550 function_decl name: @3549 type: @2382 srcp: :0 chan: @3560 body: undefined link: extern @3551 identifier_node strg: __builtin_ffsll lngt: 15 @3552 identifier_node strg: ffsll lngt: 5 @3553 function_type size: @12 algn: 8 retn: @3 prms: @3561 @3554 function_decl name: @3552 type: @3553 srcp: :0 chan: @3562 body: undefined link: extern @3555 tree_list purp: @3556 valu: @2443 @3556 identifier_node strg: CURLINFO_END lngt: 12 @3557 type_decl name: @3563 type: @3564 srcp: curl.h:384 chan: @3565 @3558 identifier_node strg: ftrylockfile lngt: 12 @3559 function_decl name: @3566 type: @2834 srcp: stdio.h:380 chan: @3567 body: undefined link: extern @3560 function_decl name: @3568 mngl: @3569 type: @2382 srcp: :0 chan: @3570 body: undefined link: extern @3561 tree_list valu: @35 chan: @146 @3562 function_decl name: @3571 mngl: @3572 type: @428 srcp: :0 chan: @3573 body: undefined link: extern @3563 identifier_node strg: curl_infotype lngt: 13 @3564 enumeral_type name: @3557 unql: @3461 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @3476 @3565 type_decl name: @3574 type: @3575 srcp: curl.h:391 chan: @3576 @3566 identifier_node strg: funlockfile lngt: 11 @3567 function_decl name: @3577 type: @2878 srcp: stdio.h:381 chan: @3578 body: undefined link: extern @3568 identifier_node strg: __builtin_isprint lngt: 17 @3569 identifier_node strg: isprint lngt: 7 @3570 function_decl name: @3569 type: @2382 srcp: :0 chan: @3579 body: undefined link: extern @3571 identifier_node strg: __builtin_fork lngt: 14 @3572 identifier_node strg: fork lngt: 4 @3573 function_decl name: @3572 type: @428 srcp: :0 chan: @3580 body: undefined link: extern @3574 identifier_node strg: curl_debug_callback lngt: 19 @3575 pointer_type name: @3565 unql: @3581 size: @19 algn: 64 ptd : @3582 @3576 type_decl type: @3583 srcp: curl.h:400 chan: @3584 @3577 identifier_node strg: getc_unlocked lngt: 13 @3578 function_decl name: @3585 type: @428 srcp: stdio.h:382 chan: @3586 body: undefined link: extern @3579 function_decl name: @3587 mngl: @3588 type: @2382 srcp: :0 chan: @3589 body: undefined link: extern @3580 function_decl name: @3590 type: @3591 srcp: :0 chan: @3592 body: undefined link: extern @3581 pointer_type size: @19 algn: 64 ptd : @3582 @3582 function_type size: @12 algn: 8 retn: @3 prms: @3593 @3583 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @3594 @3584 const_decl name: @3595 type: @3583 srcp: curl.h:401 chan: @3596 cnst: @1760 @3585 identifier_node strg: getchar_unlocked lngt: 16 @3586 function_decl name: @3597 type: @2878 srcp: stdio.h:388 chan: @3598 body: undefined link: extern @3587 identifier_node strg: __builtin_ispunct lngt: 17 @3588 identifier_node strg: ispunct lngt: 7 @3589 function_decl name: @3588 type: @2382 srcp: :0 chan: @3599 body: undefined link: extern @3590 identifier_node strg: __builtin_frame_address lngt: 23 @3591 function_type size: @12 algn: 8 retn: @157 prms: @3600 @3592 function_decl name: @3601 type: @3473 srcp: :0 chan: @3602 body: undefined link: extern @3593 tree_list valu: @3406 chan: @3603 @3594 tree_list purp: @3595 valu: @1760 chan: @3604 @3595 identifier_node strg: CURLE_OK lngt: 8 @3596 const_decl name: @3605 type: @3583 srcp: curl.h:402 chan: @3606 cnst: @1755 @3597 identifier_node strg: getw lngt: 4 @3598 function_decl name: @3607 type: @1706 srcp: stdio.h:389 chan: @3608 body: undefined link: extern @3599 function_decl name: @3609 mngl: @3610 type: @2382 srcp: :0 chan: @3611 body: undefined link: extern @3600 tree_list valu: @25 chan: @146 @3601 identifier_node strg: __builtin_frob_return_addr lngt: 26 @3602 function_decl name: @3612 mngl: @3613 type: @3614 srcp: :0 chan: @3615 body: undefined link: extern @3603 tree_list valu: @3564 chan: @3616 @3604 tree_list purp: @3605 valu: @1755 chan: @3617 @3605 identifier_node strg: CURLE_UNSUPPORTED_PROTOCOL lngt: 26 @3606 const_decl name: @3618 type: @3583 srcp: curl.h:403 chan: @3619 cnst: @2223 @3607 identifier_node strg: putw lngt: 4 @3608 function_decl name: @3620 mngl: @3621 type: @3622 srcp: stdio.h:392 chan: @3623 body: undefined link: extern @3609 identifier_node strg: __builtin_isspace lngt: 17 @3610 identifier_node strg: isspace lngt: 7 @3611 function_decl name: @3610 type: @2382 srcp: :0 chan: @3624 body: undefined link: extern @3612 identifier_node strg: __builtin_gettext lngt: 17 @3613 identifier_node strg: gettext lngt: 7 @3614 function_type size: @12 algn: 8 retn: @1527 prms: @1613 @3615 function_decl name: @3613 type: @3614 srcp: :0 chan: @3625 body: undefined link: extern @3616 tree_list valu: @1527 chan: @3626 @3617 tree_list purp: @3618 valu: @2223 chan: @3627 @3618 identifier_node strg: CURLE_FAILED_INIT lngt: 17 @3619 const_decl name: @3628 type: @3583 srcp: curl.h:404 chan: @3629 cnst: @2274 @3620 identifier_node strg: tempnam lngt: 7 @3621 identifier_node strg: _tempnam lngt: 9 @3622 function_type size: @12 algn: 8 retn: @1527 prms: @1652 @3623 function_decl name: @3630 type: @3631 srcp: stdio.h:418 chan: @3632 body: undefined link: extern @3624 function_decl name: @3633 mngl: @3634 type: @2382 srcp: :0 chan: @3635 body: undefined link: extern @3625 function_decl name: @3636 mngl: @3637 type: @3638 srcp: :0 chan: @3639 body: undefined link: extern @3626 tree_list valu: @2068 chan: @3640 @3627 tree_list purp: @3628 valu: @2274 chan: @3641 @3628 identifier_node strg: CURLE_URL_MALFORMAT lngt: 19 @3629 const_decl name: @3642 type: @3583 srcp: curl.h:405 chan: @3643 cnst: @2321 @3630 identifier_node strg: fseeko lngt: 6 @3631 function_type size: @12 algn: 8 retn: @3 prms: @3644 @3632 function_decl name: @3645 type: @3646 srcp: stdio.h:419 chan: @3647 body: undefined link: extern @3633 identifier_node strg: __builtin_isupper lngt: 17 @3634 identifier_node strg: isupper lngt: 7 @3635 function_decl name: @3634 type: @2382 srcp: :0 chan: @3648 body: undefined link: extern @3636 identifier_node strg: __builtin_imaxabs lngt: 17 @3637 identifier_node strg: imaxabs lngt: 7 @3638 function_type size: @12 algn: 8 retn: @16 prms: @3649 @3639 function_decl name: @3637 type: @3638 srcp: :0 chan: @3650 body: undefined link: extern @3640 tree_list valu: @157 chan: @146 @3641 tree_list purp: @3642 valu: @2321 chan: @3651 @3642 identifier_node strg: CURLE_NOT_BUILT_IN lngt: 18 @3643 const_decl name: @3652 type: @3583 srcp: curl.h:407 chan: @3653 cnst: @2363 @3644 tree_list valu: @1679 chan: @3654 @3645 identifier_node strg: ftello lngt: 6 @3646 function_type size: @12 algn: 8 retn: @2789 prms: @3655 @3647 function_decl name: @3656 type: @3657 srcp: stdio.h:446 chan: @3658 body: undefined link: extern @3648 function_decl name: @3659 mngl: @3660 type: @2382 srcp: :0 chan: @3661 body: undefined link: extern @3649 tree_list valu: @16 chan: @146 @3650 function_decl name: @3662 type: @2755 srcp: :0 chan: @3663 body: undefined link: extern @3651 tree_list purp: @3652 valu: @2363 chan: @3664 @3652 identifier_node strg: CURLE_COULDNT_RESOLVE_PROXY lngt: 27 @3653 const_decl name: @3665 type: @3583 srcp: curl.h:408 chan: @3666 cnst: @2403 @3654 tree_list valu: @2789 chan: @3667 @3655 tree_list valu: @1679 chan: @146 @3656 identifier_node strg: dprintf lngt: 7 @3657 function_type size: @12 algn: 8 retn: @3 prms: @3668 @3658 function_decl name: @3669 type: @3670 srcp: stdio.h:447 chan: @3671 body: undefined link: extern @3659 identifier_node strg: __builtin_isxdigit lngt: 18 @3660 identifier_node strg: isxdigit lngt: 8 @3661 function_decl name: @3660 type: @2382 srcp: :0 chan: @3672 body: undefined link: extern @3662 identifier_node strg: __builtin_init_dwarf_reg_size_table lngt: 35 @3663 function_decl name: @3673 mngl: @3674 type: @547 srcp: :0 chan: @3675 body: undefined link: extern @3664 tree_list purp: @3665 valu: @2403 chan: @3676 @3665 identifier_node strg: CURLE_COULDNT_RESOLVE_HOST lngt: 26 @3666 const_decl name: @3677 type: @3583 srcp: curl.h:409 chan: @3678 cnst: @2443 @3667 tree_list valu: @3 chan: @146 @3668 tree_list valu: @3 chan: @3679 @3669 identifier_node strg: vdprintf lngt: 8 @3670 function_type size: @12 algn: 8 retn: @3 prms: @3680 @3671 function_decl name: @3681 type: @3682 srcp: stdio.h:448 chan: @3683 body: undefined link: extern @3672 function_decl name: @3684 mngl: @3685 type: @2382 srcp: :0 chan: @3686 body: undefined link: extern @3673 identifier_node strg: __builtin_finite lngt: 16 @3674 identifier_node strg: finite lngt: 6 @3675 function_decl name: @3674 type: @547 srcp: :0 chan: @3687 body: undefined link: extern @3676 tree_list purp: @3677 valu: @2443 chan: @3688 @3677 identifier_node strg: CURLE_COULDNT_CONNECT lngt: 21 @3678 const_decl name: @3689 type: @3583 srcp: curl.h:410 chan: @3690 cnst: @2214 @3679 tree_list valu: @831 @3680 tree_list valu: @3 chan: @3691 @3681 identifier_node strg: getdelim lngt: 8 @3682 function_type size: @12 algn: 8 retn: @2112 prms: @3692 @3683 function_decl name: @3693 type: @3694 srcp: stdio.h:449 chan: @3695 body: undefined link: extern @3684 identifier_node strg: __builtin_toascii lngt: 17 @3685 identifier_node strg: toascii lngt: 7 @3686 function_decl name: @3685 type: @2382 srcp: :0 chan: @3696 body: undefined link: extern @3687 function_decl name: @3697 mngl: @3698 type: @553 srcp: :0 chan: @3699 body: undefined link: extern @3688 tree_list purp: @3689 valu: @2214 chan: @3700 @3689 identifier_node strg: CURLE_FTP_WEIRD_SERVER_REPLY lngt: 28 @3690 const_decl name: @3701 type: @3583 srcp: curl.h:411 chan: @3702 cnst: @3703 @3691 tree_list valu: @831 chan: @3704 @3692 tree_list valu: @3705 chan: @3706 @3693 identifier_node strg: getline lngt: 7 @3694 function_type size: @12 algn: 8 retn: @2112 prms: @3707 @3695 var_decl name: @3708 type: @3709 srcp: stdio.h:459 chan: @3710 size: @5 algn: 32 used: 0 @3696 function_decl name: @3711 mngl: @3712 type: @2382 srcp: :0 chan: @3713 body: undefined link: extern @3697 identifier_node strg: __builtin_finitef lngt: 17 @3698 identifier_node strg: finitef lngt: 7 @3699 function_decl name: @3698 type: @553 srcp: :0 chan: @3714 body: undefined link: extern @3700 tree_list purp: @3701 valu: @3703 chan: @3715 @3701 identifier_node strg: CURLE_REMOTE_ACCESS_DENIED lngt: 26 @3702 const_decl name: @3716 type: @3583 srcp: curl.h:414 chan: @3717 cnst: @3718 @3703 integer_cst type: @3 low : 9 @3704 tree_list valu: @3158 chan: @146 @3705 pointer_type size: @19 algn: 64 ptd : @1527 @3706 tree_list valu: @3719 chan: @3720 @3707 tree_list valu: @3705 chan: @3721 @3708 identifier_node strg: sys_nerr lngt: 8 @3709 integer_type qual: c name: @1 unql: @3 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 @3710 var_decl name: @3722 type: @3723 srcp: stdio.h:460 chan: @3724 algn: 64 used: 0 @3711 identifier_node strg: __builtin_tolower lngt: 17 @3712 identifier_node strg: tolower lngt: 7 @3713 function_decl name: @3712 type: @2382 srcp: :0 chan: @3725 body: undefined link: extern @3714 function_decl name: @3726 mngl: @3727 type: @559 srcp: :0 chan: @3728 body: undefined link: extern @3715 tree_list purp: @3716 valu: @3718 chan: @3729 @3716 identifier_node strg: CURLE_FTP_ACCEPT_FAILED lngt: 23 @3717 const_decl name: @3730 type: @3583 srcp: curl.h:416 chan: @3731 cnst: @3732 @3718 integer_cst type: @3 low : 10 @3719 pointer_type size: @19 algn: 64 ptd : @2068 @3720 tree_list valu: @3 chan: @3733 @3721 tree_list valu: @3719 chan: @3734 @3722 identifier_node strg: sys_errlist lngt: 11 @3723 array_type unql: @3735 algn: 64 elts: @3736 @3724 function_decl name: @3737 type: @3738 srcp: stdio.h:462 chan: @3739 body: undefined link: extern @3725 function_decl name: @3740 mngl: @3741 type: @2382 srcp: :0 chan: @3742 body: undefined link: extern @3726 identifier_node strg: __builtin_finitel lngt: 17 @3727 identifier_node strg: finitel lngt: 7 @3728 function_decl name: @3727 type: @559 srcp: :0 chan: @3743 body: undefined link: extern @3729 tree_list purp: @3730 valu: @3732 chan: @3744 @3730 identifier_node strg: CURLE_FTP_WEIRD_PASS_REPLY lngt: 26 @3731 const_decl name: @3745 type: @3583 srcp: curl.h:417 chan: @3746 cnst: @3747 @3732 integer_cst type: @3 low : 11 @3733 tree_list valu: @1679 chan: @146 @3734 tree_list valu: @1679 chan: @146 @3735 array_type algn: 64 elts: @831 @3736 pointer_type qual: c unql: @831 size: @19 algn: 64 ptd : @836 @3737 identifier_node strg: asprintf lngt: 8 @3738 function_type size: @12 algn: 8 retn: @3 prms: @3748 @3739 function_decl name: @3749 type: @3273 srcp: stdio.h:463 chan: @3750 body: undefined link: extern @3740 identifier_node strg: __builtin_toupper lngt: 17 @3741 identifier_node strg: toupper lngt: 7 @3742 function_decl name: @3741 type: @2382 srcp: :0 chan: @3751 body: undefined link: extern @3743 function_decl name: @3752 mngl: @3753 type: @3754 srcp: :0 chan: @3755 body: undefined link: extern @3744 tree_list purp: @3745 valu: @3747 chan: @3756 @3745 identifier_node strg: CURLE_FTP_ACCEPT_TIMEOUT lngt: 24 @3746 const_decl name: @3757 type: @3583 srcp: curl.h:420 chan: @3758 cnst: @3759 @3747 integer_cst type: @3 low : 12 @3748 tree_list valu: @3705 chan: @3760 @3749 identifier_node strg: ctermid_r lngt: 9 @3750 function_decl name: @3761 type: @3762 srcp: stdio.h:464 chan: @3763 body: undefined link: extern @3751 function_decl name: @3764 mngl: @3765 type: @2382 srcp: :0 chan: @3766 body: undefined link: extern @3752 identifier_node strg: __builtin_finited32 lngt: 19 @3753 identifier_node strg: finited32 lngt: 9 @3754 function_type size: @12 algn: 8 retn: @3 prms: @3767 @3755 function_decl name: @3753 type: @3754 srcp: :0 chan: @3768 body: undefined link: extern @3756 tree_list purp: @3757 valu: @3759 chan: @3769 @3757 identifier_node strg: CURLE_FTP_WEIRD_PASV_REPLY lngt: 26 @3758 const_decl name: @3770 type: @3583 srcp: curl.h:421 chan: @3771 cnst: @3772 @3759 integer_cst type: @3 low : 13 @3760 tree_list valu: @831 @3761 identifier_node strg: fgetln lngt: 6 @3762 function_type size: @12 algn: 8 retn: @1527 prms: @3773 @3763 function_decl name: @3774 type: @3775 srcp: stdio.h:465 chan: @3776 body: undefined link: extern @3764 identifier_node strg: __builtin_iswalnum lngt: 18 @3765 identifier_node strg: iswalnum lngt: 8 @3766 function_decl name: @3765 type: @2382 srcp: :0 chan: @3777 body: undefined link: extern @3767 tree_list valu: @102 chan: @146 @3768 function_decl name: @3778 mngl: @3779 type: @3780 srcp: :0 chan: @3781 body: undefined link: extern @3769 tree_list purp: @3770 valu: @3772 chan: @3782 @3770 identifier_node strg: CURLE_FTP_WEIRD_227_FORMAT lngt: 26 @3771 const_decl name: @3783 type: @3583 srcp: curl.h:422 chan: @3784 cnst: @3785 @3772 integer_cst type: @3 low : 14 @3773 tree_list valu: @1679 chan: @3786 @3774 identifier_node strg: fmtcheck lngt: 8 @3775 function_type size: @12 algn: 8 retn: @831 prms: @3787 @3776 function_decl name: @3788 type: @2878 srcp: stdio.h:466 chan: @3789 body: undefined link: extern @3777 function_decl name: @3790 mngl: @3791 type: @2382 srcp: :0 chan: @3792 body: undefined link: extern @3778 identifier_node strg: __builtin_finited64 lngt: 19 @3779 identifier_node strg: finited64 lngt: 9 @3780 function_type size: @12 algn: 8 retn: @3 prms: @3793 @3781 function_decl name: @3779 type: @3780 srcp: :0 chan: @3794 body: undefined link: extern @3782 tree_list purp: @3783 valu: @3785 chan: @3795 @3783 identifier_node strg: CURLE_FTP_CANT_GET_HOST lngt: 23 @3784 const_decl name: @3796 type: @3583 srcp: curl.h:423 chan: @3797 cnst: @3798 @3785 integer_cst type: @3 low : 15 @3786 tree_list valu: @3719 chan: @146 @3787 tree_list valu: @831 chan: @3799 @3788 identifier_node strg: fpurge lngt: 6 @3789 function_decl name: @3800 type: @3801 srcp: stdio.h:467 chan: @3802 body: undefined link: extern @3790 identifier_node strg: __builtin_iswalpha lngt: 18 @3791 identifier_node strg: iswalpha lngt: 8 @3792 function_decl name: @3791 type: @2382 srcp: :0 chan: @3803 body: undefined link: extern @3793 tree_list valu: @105 chan: @146 @3794 function_decl name: @3804 mngl: @3805 type: @3806 srcp: :0 chan: @3807 body: undefined link: extern @3795 tree_list purp: @3796 valu: @3798 chan: @3808 @3796 identifier_node strg: CURLE_OBSOLETE16 lngt: 16 @3797 const_decl name: @3809 type: @3583 srcp: curl.h:424 chan: @3810 cnst: @3811 @3798 integer_cst type: @3 low : 16 @3799 tree_list valu: @831 chan: @146 @3800 identifier_node strg: setbuffer lngt: 9 @3801 function_type size: @12 algn: 8 retn: @124 prms: @3812 @3802 function_decl name: @3813 type: @2878 srcp: stdio.h:468 chan: @3814 body: undefined link: extern @3803 function_decl name: @3815 mngl: @3816 type: @2382 srcp: :0 chan: @3817 body: undefined link: extern @3804 identifier_node strg: __builtin_finited128 lngt: 20 @3805 identifier_node strg: finited128 lngt: 10 @3806 function_type size: @12 algn: 8 retn: @3 prms: @3818 @3807 function_decl name: @3805 type: @3806 srcp: :0 chan: @3819 body: undefined link: extern @3808 tree_list purp: @3809 valu: @3811 chan: @3820 @3809 identifier_node strg: CURLE_FTP_COULDNT_SET_TYPE lngt: 26 @3810 const_decl name: @3821 type: @3583 srcp: curl.h:425 chan: @3822 cnst: @3823 @3811 integer_cst type: @3 low : 17 @3812 tree_list valu: @1679 chan: @3824 @3813 identifier_node strg: setlinebuf lngt: 10 @3814 function_decl name: @3825 type: @3826 srcp: stdio.h:469 chan: @3827 body: undefined link: extern @3815 identifier_node strg: __builtin_iswblank lngt: 18 @3816 identifier_node strg: iswblank lngt: 8 @3817 function_decl name: @3816 type: @2382 srcp: :0 chan: @3828 body: undefined link: extern @3818 tree_list valu: @108 chan: @146 @3819 function_decl name: @3829 mngl: @3830 type: @2511 srcp: :0 chan: @3831 body: undefined link: extern @3820 tree_list purp: @3821 valu: @3823 chan: @3832 @3821 identifier_node strg: CURLE_PARTIAL_FILE lngt: 18 @3822 const_decl name: @3833 type: @3583 srcp: curl.h:426 chan: @3834 cnst: @3835 @3823 integer_cst type: @3 low : 18 @3824 tree_list valu: @1527 chan: @3836 @3825 identifier_node strg: vasprintf lngt: 9 @3826 function_type size: @12 algn: 8 retn: @3 prms: @3837 @3827 function_decl name: @3838 type: @3839 srcp: stdio.h:470 chan: @3840 body: undefined link: extern @3828 function_decl name: @3841 mngl: @3842 type: @2382 srcp: :0 chan: @3843 body: undefined link: extern @3829 identifier_node strg: __builtin_isinf lngt: 15 @3830 identifier_node strg: isinf lngt: 5 @3831 function_decl name: @3830 type: @2511 srcp: :0 chan: @3844 body: undefined link: extern @3832 tree_list purp: @3833 valu: @3835 chan: @3845 @3833 identifier_node strg: CURLE_FTP_COULDNT_RETR_FILE lngt: 27 @3834 const_decl name: @3846 type: @3583 srcp: curl.h:427 chan: @3847 cnst: @3848 @3835 integer_cst type: @3 low : 19 @3836 tree_list valu: @3 chan: @146 @3837 tree_list valu: @3705 chan: @3849 @3838 identifier_node strg: zopen lngt: 5 @3839 function_type size: @12 algn: 8 retn: @1679 prms: @3850 @3840 function_decl name: @3851 type: @3852 srcp: stdio.h:480 chan: @3853 body: undefined link: extern @3841 identifier_node strg: __builtin_iswcntrl lngt: 18 @3842 identifier_node strg: iswcntrl lngt: 8 @3843 function_decl name: @3842 type: @2382 srcp: :0 chan: @3854 body: undefined link: extern @3844 function_decl name: @3855 mngl: @3856 type: @553 srcp: :0 chan: @3857 body: undefined link: extern @3845 tree_list purp: @3846 valu: @3848 chan: @3858 @3846 identifier_node strg: CURLE_OBSOLETE20 lngt: 16 @3847 const_decl name: @3859 type: @3583 srcp: curl.h:428 chan: @3860 cnst: @3861 @3848 integer_cst type: @3 low : 20 @3849 tree_list valu: @831 chan: @3862 @3850 tree_list valu: @831 chan: @3863 @3851 identifier_node strg: funopen lngt: 7 @3852 function_type size: @12 algn: 8 retn: @1679 prms: @3864 @3853 var_decl name: @3865 type: @3866 srcp: time.h:113 chan: @3867 algn: 64 used: 0 @3854 function_decl name: @3868 mngl: @3869 type: @2382 srcp: :0 chan: @3870 body: undefined link: extern @3855 identifier_node strg: __builtin_isinff lngt: 16 @3856 identifier_node strg: isinff lngt: 6 @3857 function_decl name: @3856 type: @553 srcp: :0 chan: @3871 body: undefined link: extern @3858 tree_list purp: @3859 valu: @3861 chan: @3872 @3859 identifier_node strg: CURLE_QUOTE_ERROR lngt: 17 @3860 const_decl name: @3873 type: @3583 srcp: curl.h:429 chan: @3874 cnst: @3875 @3861 integer_cst type: @3 low : 21 @3862 tree_list valu: @3158 chan: @146 @3863 tree_list valu: @831 chan: @3876 @3864 tree_list valu: @2128 chan: @3877 @3865 identifier_node strg: tzname lngt: 6 @3866 array_type algn: 64 elts: @1527 @3867 var_decl name: @3878 type: @3 srcp: time.h:116 chan: @3879 size: @5 algn: 32 used: 0 @3868 identifier_node strg: __builtin_iswdigit lngt: 18 @3869 identifier_node strg: iswdigit lngt: 8 @3870 function_decl name: @3869 type: @2382 srcp: :0 chan: @3880 body: undefined link: extern @3871 function_decl name: @3881 mngl: @3882 type: @559 srcp: :0 chan: @3883 body: undefined link: extern @3872 tree_list purp: @3873 valu: @3875 chan: @3884 @3873 identifier_node strg: CURLE_HTTP_RETURNED_ERROR lngt: 25 @3874 const_decl name: @3885 type: @3583 srcp: curl.h:430 chan: @3886 cnst: @3887 @3875 integer_cst type: @3 low : 22 @3876 tree_list valu: @3 chan: @146 @3877 tree_list valu: @1882 chan: @3888 @3878 identifier_node strg: getdate_err lngt: 11 @3879 var_decl name: @1813 mngl: @3889 type: @16 srcp: time.h:118 chan: @3890 size: @19 algn: 64 used: 0 @3880 function_decl name: @3891 mngl: @3892 type: @2382 srcp: :0 chan: @3893 body: undefined link: extern @3881 identifier_node strg: __builtin_isinfl lngt: 16 @3882 identifier_node strg: isinfl lngt: 6 @3883 function_decl name: @3882 type: @559 srcp: :0 chan: @3894 body: undefined link: extern @3884 tree_list purp: @3885 valu: @3887 chan: @3895 @3885 identifier_node strg: CURLE_WRITE_ERROR lngt: 17 @3886 const_decl name: @3896 type: @3583 srcp: curl.h:431 chan: @3897 cnst: @3898 @3887 integer_cst type: @3 low : 23 @3888 tree_list valu: @1942 chan: @3899 @3889 identifier_node strg: _timezone lngt: 10 @3890 var_decl name: @3900 type: @3 srcp: time.h:120 chan: @3901 size: @5 algn: 32 used: 0 @3891 identifier_node strg: __builtin_iswgraph lngt: 18 @3892 identifier_node strg: iswgraph lngt: 8 @3893 function_decl name: @3892 type: @2382 srcp: :0 chan: @3902 body: undefined link: extern @3894 function_decl name: @3903 mngl: @3904 type: @3754 srcp: :0 chan: @3905 body: undefined link: extern @3895 tree_list purp: @3896 valu: @3898 chan: @3906 @3896 identifier_node strg: CURLE_OBSOLETE24 lngt: 16 @3897 const_decl name: @3907 type: @3583 srcp: curl.h:432 chan: @3908 cnst: @3909 @3898 integer_cst type: @3 low : 24 @3899 tree_list valu: @1909 chan: @3910 @3900 identifier_node strg: daylight lngt: 8 @3901 function_decl name: @3911 type: @3912 srcp: time.h:123 chan: @3913 body: undefined link: extern @3902 function_decl name: @3914 mngl: @3915 type: @2382 srcp: :0 chan: @3916 body: undefined link: extern @3903 identifier_node strg: __builtin_isinfd32 lngt: 18 @3904 identifier_node strg: isinfd32 lngt: 8 @3905 function_decl name: @3904 type: @3754 srcp: :0 chan: @3917 body: undefined link: extern @3906 tree_list purp: @3907 valu: @3909 chan: @3918 @3907 identifier_node strg: CURLE_UPLOAD_FAILED lngt: 19 @3908 const_decl name: @3919 type: @3583 srcp: curl.h:433 chan: @3920 cnst: @3921 @3909 integer_cst type: @3 low : 25 @3910 tree_list valu: @1854 chan: @146 @3911 identifier_node strg: asctime lngt: 7 @3912 function_type size: @12 algn: 8 retn: @1527 prms: @3922 @3913 function_decl name: @3923 mngl: @3924 type: @3925 srcp: time.h:124 chan: @3926 body: undefined link: extern @3914 identifier_node strg: __builtin_iswlower lngt: 18 @3915 identifier_node strg: iswlower lngt: 8 @3916 function_decl name: @3915 type: @2382 srcp: :0 chan: @3927 body: undefined link: extern @3917 function_decl name: @3928 mngl: @3929 type: @3780 srcp: :0 chan: @3930 body: undefined link: extern @3918 tree_list purp: @3919 valu: @3921 chan: @3931 @3919 identifier_node strg: CURLE_READ_ERROR lngt: 16 @3920 const_decl name: @3932 type: @3583 srcp: curl.h:434 chan: @3933 cnst: @3934 @3921 integer_cst type: @3 low : 26 @3922 tree_list valu: @3935 chan: @146 @3923 identifier_node strg: clock lngt: 5 @3924 identifier_node strg: _clock lngt: 7 @3925 function_type size: @12 algn: 8 retn: @3017 prms: @146 @3926 function_decl name: @3936 type: @3937 srcp: time.h:125 chan: @3938 body: undefined link: extern @3927 function_decl name: @3939 mngl: @3940 type: @2382 srcp: :0 chan: @3941 body: undefined link: extern @3928 identifier_node strg: __builtin_isinfd64 lngt: 18 @3929 identifier_node strg: isinfd64 lngt: 8 @3930 function_decl name: @3929 type: @3780 srcp: :0 chan: @3942 body: undefined link: extern @3931 tree_list purp: @3932 valu: @3934 chan: @3943 @3932 identifier_node strg: CURLE_OUT_OF_MEMORY lngt: 19 @3933 const_decl name: @3944 type: @3583 srcp: curl.h:439 chan: @3945 cnst: @3946 @3934 integer_cst type: @3 low : 27 @3935 pointer_type size: @19 algn: 64 ptd : @3947 @3936 identifier_node strg: ctime lngt: 5 @3937 function_type size: @12 algn: 8 retn: @1527 prms: @3948 @3938 function_decl name: @3949 type: @3950 srcp: time.h:126 chan: @3951 body: undefined link: extern @3939 identifier_node strg: __builtin_iswprint lngt: 18 @3940 identifier_node strg: iswprint lngt: 8 @3941 function_decl name: @3940 type: @2382 srcp: :0 chan: @3952 body: undefined link: extern @3942 function_decl name: @3953 mngl: @3954 type: @3806 srcp: :0 chan: @3955 body: undefined link: extern @3943 tree_list purp: @3944 valu: @3946 chan: @3956 @3944 identifier_node strg: CURLE_OPERATION_TIMEDOUT lngt: 24 @3945 const_decl name: @3957 type: @3583 srcp: curl.h:440 chan: @3958 cnst: @3959 @3946 integer_cst type: @3 low : 28 @3947 record_type qual: c name: @1749 unql: @1731 size: @1750 algn: 64 tag : struct flds: @1751 @3948 tree_list valu: @3960 chan: @146 @3949 identifier_node strg: difftime lngt: 8 @3950 function_type size: @12 algn: 8 retn: @96 prms: @3961 @3951 function_decl name: @3962 type: @3963 srcp: time.h:127 chan: @3964 body: undefined link: extern @3952 function_decl name: @3965 mngl: @3966 type: @2382 srcp: :0 chan: @3967 body: undefined link: extern @3953 identifier_node strg: __builtin_isinfd128 lngt: 19 @3954 identifier_node strg: isinfd128 lngt: 9 @3955 function_decl name: @3954 type: @3806 srcp: :0 chan: @3968 body: undefined link: extern @3956 tree_list purp: @3957 valu: @3959 chan: @3969 @3957 identifier_node strg: CURLE_OBSOLETE29 lngt: 16 @3958 const_decl name: @3970 type: @3583 srcp: curl.h:441 chan: @3971 cnst: @3972 @3959 integer_cst type: @3 low : 29 @3960 pointer_type size: @19 algn: 64 ptd : @3973 @3961 tree_list valu: @2282 chan: @3974 @3962 identifier_node strg: getdate lngt: 7 @3963 function_type size: @12 algn: 8 retn: @3975 prms: @3976 @3964 function_decl name: @3977 type: @3978 srcp: time.h:128 chan: @3979 body: undefined link: extern @3965 identifier_node strg: __builtin_iswpunct lngt: 18 @3966 identifier_node strg: iswpunct lngt: 8 @3967 function_decl name: @3966 type: @2382 srcp: :0 chan: @3980 body: undefined link: extern @3968 function_decl name: @3981 mngl: @3982 type: @2511 srcp: :0 chan: @3983 body: undefined link: extern @3969 tree_list purp: @3970 valu: @3972 chan: @3984 @3970 identifier_node strg: CURLE_FTP_PORT_FAILED lngt: 21 @3971 const_decl name: @3985 type: @3583 srcp: curl.h:442 chan: @3986 cnst: @2650 @3972 integer_cst type: @3 low : 30 @3973 integer_type qual: c name: @2233 unql: @16 size: @19 algn: 64 prec: 64 sign: signed min : @22 max : @23 @3974 tree_list valu: @2282 chan: @146 @3975 pointer_type size: @19 algn: 64 ptd : @1731 @3976 tree_list valu: @831 chan: @146 @3977 identifier_node strg: gmtime lngt: 6 @3978 function_type size: @12 algn: 8 retn: @3975 prms: @3987 @3979 function_decl name: @3988 type: @3978 srcp: time.h:129 chan: @3989 body: undefined link: extern @3980 function_decl name: @3990 mngl: @3991 type: @2382 srcp: :0 chan: @3992 body: undefined link: extern @3981 identifier_node strg: __builtin_isnan lngt: 15 @3982 identifier_node strg: isnan lngt: 5 @3983 function_decl name: @3982 type: @2511 srcp: :0 chan: @3993 body: undefined link: extern @3984 tree_list purp: @3985 valu: @2650 chan: @3994 @3985 identifier_node strg: CURLE_FTP_COULDNT_USE_REST lngt: 26 @3986 const_decl name: @3995 type: @3583 srcp: curl.h:443 chan: @3996 cnst: @3997 @3987 tree_list valu: @3960 chan: @146 @3988 identifier_node strg: localtime lngt: 9 @3989 function_decl name: @3998 mngl: @3999 type: @4000 srcp: time.h:130 chan: @4001 body: undefined link: extern @3990 identifier_node strg: __builtin_iswspace lngt: 18 @3991 identifier_node strg: iswspace lngt: 8 @3992 function_decl name: @3991 type: @2382 srcp: :0 chan: @4002 body: undefined link: extern @3993 function_decl name: @4003 mngl: @4004 type: @553 srcp: :0 chan: @4005 body: undefined link: extern @3994 tree_list purp: @3995 valu: @3997 chan: @4006 @3995 identifier_node strg: CURLE_OBSOLETE32 lngt: 16 @3996 const_decl name: @4007 type: @3583 srcp: curl.h:444 chan: @4008 cnst: @4009 @3997 integer_cst type: @3 low : 32 @3998 identifier_node strg: mktime lngt: 6 @3999 identifier_node strg: _mktime lngt: 8 @4000 function_type size: @12 algn: 8 retn: @2282 prms: @4010 @4001 function_decl name: @4011 mngl: @4012 type: @4013 srcp: time.h:132 chan: @4014 body: undefined link: extern @4002 function_decl name: @4015 mngl: @4016 type: @2382 srcp: :0 chan: @4017 body: undefined link: extern @4003 identifier_node strg: __builtin_isnanf lngt: 16 @4004 identifier_node strg: isnanf lngt: 6 @4005 function_decl name: @4004 type: @553 srcp: :0 chan: @4018 body: undefined link: extern @4006 tree_list purp: @4007 valu: @4009 chan: @4019 @4007 identifier_node strg: CURLE_RANGE_ERROR lngt: 17 @4008 const_decl name: @4020 type: @3583 srcp: curl.h:445 chan: @4021 cnst: @4022 @4009 integer_cst type: @3 low : 33 @4010 tree_list valu: @3975 chan: @146 @4011 identifier_node strg: strptime lngt: 8 @4012 identifier_node strg: _strptime lngt: 10 @4013 function_type size: @12 algn: 8 retn: @1527 prms: @4023 @4014 function_decl name: @2722 type: @4024 srcp: time.h:133 chan: @4025 body: undefined link: extern @4015 identifier_node strg: __builtin_iswupper lngt: 18 @4016 identifier_node strg: iswupper lngt: 8 @4017 function_decl name: @4016 type: @2382 srcp: :0 chan: @4026 body: undefined link: extern @4018 function_decl name: @4027 mngl: @4028 type: @559 srcp: :0 chan: @4029 body: undefined link: extern @4019 tree_list purp: @4020 valu: @4022 chan: @4030 @4020 identifier_node strg: CURLE_HTTP_POST_ERROR lngt: 21 @4021 const_decl name: @4031 type: @3583 srcp: curl.h:446 chan: @4032 cnst: @4033 @4022 integer_cst type: @3 low : 34 @4023 tree_list valu: @831 chan: @4034 @4024 function_type size: @12 algn: 8 retn: @2282 prms: @4035 @4025 function_decl name: @4036 type: @4037 srcp: time.h:136 chan: @4038 body: undefined link: extern @4026 function_decl name: @4039 mngl: @4040 type: @2382 srcp: :0 chan: @4041 body: undefined link: extern @4027 identifier_node strg: __builtin_isnanl lngt: 16 @4028 identifier_node strg: isnanl lngt: 6 @4029 function_decl name: @4028 type: @559 srcp: :0 chan: @4042 body: undefined link: extern @4030 tree_list purp: @4031 valu: @4033 chan: @4043 @4031 identifier_node strg: CURLE_SSL_CONNECT_ERROR lngt: 23 @4032 const_decl name: @4044 type: @3583 srcp: curl.h:447 chan: @4045 cnst: @4046 @4033 integer_cst type: @3 low : 35 @4034 tree_list valu: @831 chan: @4047 @4035 tree_list valu: @4048 chan: @146 @4036 identifier_node strg: tzset lngt: 5 @4037 function_type size: @12 algn: 8 retn: @124 prms: @146 @4038 function_decl name: @4049 type: @4050 srcp: time.h:140 chan: @4051 body: undefined link: extern @4039 identifier_node strg: __builtin_iswxdigit lngt: 19 @4040 identifier_node strg: iswxdigit lngt: 9 @4041 function_decl name: @4040 type: @2382 srcp: :0 chan: @4052 body: undefined link: extern @4042 function_decl name: @4053 mngl: @4054 type: @3754 srcp: :0 chan: @4055 body: undefined link: extern @4043 tree_list purp: @4044 valu: @4046 chan: @4056 @4044 identifier_node strg: CURLE_BAD_DOWNLOAD_RESUME lngt: 25 @4045 const_decl name: @4057 type: @3583 srcp: curl.h:448 chan: @4058 cnst: @4059 @4046 integer_cst type: @3 low : 36 @4047 tree_list valu: @3975 chan: @146 @4048 pointer_type size: @19 algn: 64 ptd : @2282 @4049 identifier_node strg: asctime_r lngt: 9 @4050 function_type size: @12 algn: 8 retn: @1527 prms: @4060 @4051 function_decl name: @4061 type: @4062 srcp: time.h:141 chan: @4063 body: undefined link: extern @4052 function_decl name: @4064 mngl: @4065 type: @2382 srcp: :0 chan: @4066 body: undefined link: extern @4053 identifier_node strg: __builtin_isnand32 lngt: 18 @4054 identifier_node strg: isnand32 lngt: 8 @4055 function_decl name: @4054 type: @3754 srcp: :0 chan: @4067 body: undefined link: extern @4056 tree_list purp: @4057 valu: @4059 chan: @4068 @4057 identifier_node strg: CURLE_FILE_COULDNT_READ_FILE lngt: 28 @4058 const_decl name: @4069 type: @3583 srcp: curl.h:449 chan: @4070 cnst: @4071 @4059 integer_cst type: @3 low : 37 @4060 tree_list valu: @3935 chan: @4072 @4061 identifier_node strg: ctime_r lngt: 7 @4062 function_type size: @12 algn: 8 retn: @1527 prms: @4073 @4063 function_decl name: @4074 type: @4075 srcp: time.h:142 chan: @4076 body: undefined link: extern @4064 identifier_node strg: __builtin_towlower lngt: 18 @4065 identifier_node strg: towlower lngt: 8 @4066 function_decl name: @4065 type: @2382 srcp: :0 chan: @4077 body: undefined link: extern @4067 function_decl name: @4078 mngl: @4079 type: @3780 srcp: :0 chan: @4080 body: undefined link: extern @4068 tree_list purp: @4069 valu: @4071 chan: @4081 @4069 identifier_node strg: CURLE_LDAP_CANNOT_BIND lngt: 22 @4070 const_decl name: @4082 type: @3583 srcp: curl.h:450 chan: @4083 cnst: @4084 @4071 integer_cst type: @3 low : 38 @4072 tree_list valu: @1527 chan: @146 @4073 tree_list valu: @3960 chan: @4085 @4074 identifier_node strg: gmtime_r lngt: 8 @4075 function_type size: @12 algn: 8 retn: @3975 prms: @4086 @4076 function_decl name: @4087 type: @4075 srcp: time.h:143 chan: @4088 body: undefined link: extern @4077 function_decl name: @4089 mngl: @4090 type: @2382 srcp: :0 chan: @4091 body: undefined link: extern @4078 identifier_node strg: __builtin_isnand64 lngt: 18 @4079 identifier_node strg: isnand64 lngt: 8 @4080 function_decl name: @4079 type: @3780 srcp: :0 chan: @4092 body: undefined link: extern @4081 tree_list purp: @4082 valu: @4084 chan: @4093 @4082 identifier_node strg: CURLE_LDAP_SEARCH_FAILED lngt: 24 @4083 const_decl name: @4094 type: @3583 srcp: curl.h:451 chan: @4095 cnst: @4096 @4084 integer_cst type: @3 low : 39 @4085 tree_list valu: @1527 chan: @146 @4086 tree_list valu: @3960 chan: @4097 @4087 identifier_node strg: localtime_r lngt: 11 @4088 function_decl name: @4098 type: @4099 srcp: time.h:146 chan: @4100 body: undefined link: extern @4089 identifier_node strg: __builtin_towupper lngt: 18 @4090 identifier_node strg: towupper lngt: 8 @4091 function_decl name: @4090 type: @2382 srcp: :0 chan: @4101 body: undefined link: extern @4092 function_decl name: @4102 mngl: @4103 type: @3806 srcp: :0 chan: @4104 body: undefined link: extern @4093 tree_list purp: @4094 valu: @4096 chan: @4105 @4094 identifier_node strg: CURLE_OBSOLETE40 lngt: 16 @4095 const_decl name: @4106 type: @3583 srcp: curl.h:452 chan: @4107 cnst: @4108 @4096 integer_cst type: @3 low : 40 @4097 tree_list valu: @3975 chan: @146 @4098 identifier_node strg: posix2time lngt: 10 @4099 function_type size: @12 algn: 8 retn: @2282 prms: @4109 @4100 function_decl name: @4110 type: @4037 srcp: time.h:150 chan: @4111 body: undefined link: extern @4101 function_decl name: @4112 mngl: @4113 type: @4037 srcp: :0 chan: @4114 body: undefined link: extern @4102 identifier_node strg: __builtin_isnand128 lngt: 19 @4103 identifier_node strg: isnand128 lngt: 9 @4104 function_decl name: @4103 type: @3806 srcp: :0 chan: @4115 body: undefined link: extern @4105 tree_list purp: @4106 valu: @4108 chan: @4116 @4106 identifier_node strg: CURLE_FUNCTION_NOT_FOUND lngt: 24 @4107 const_decl name: @4117 type: @3583 srcp: curl.h:453 chan: @4118 cnst: @4119 @4108 integer_cst type: @3 low : 41 @4109 tree_list valu: @2282 chan: @146 @4110 identifier_node strg: tzsetwall lngt: 9 @4111 function_decl name: @4120 type: @4099 srcp: time.h:151 chan: @4121 body: undefined link: extern @4112 identifier_node strg: __builtin_abort lngt: 15 @4113 identifier_node strg: abort lngt: 5 @4114 function_decl name: @4113 type: @4037 srcp: :0 chan: @4122 body: undefined link: extern @4115 function_decl name: @4123 type: @2511 srcp: :0 chan: @4124 body: undefined link: extern @4116 tree_list purp: @4117 valu: @4119 chan: @4125 @4117 identifier_node strg: CURLE_ABORTED_BY_CALLBACK lngt: 25 @4118 const_decl name: @4126 type: @3583 srcp: curl.h:454 chan: @4127 cnst: @4128 @4119 integer_cst type: @3 low : 42 @4120 identifier_node strg: time2posix lngt: 10 @4121 function_decl name: @4129 type: @4130 srcp: time.h:152 chan: @4131 body: undefined link: extern @4122 function_decl name: @4132 mngl: @4133 type: @2382 srcp: :0 chan: @4134 body: undefined link: extern @4123 identifier_node strg: __builtin_isgreater lngt: 19 @4124 function_decl name: @4135 type: @2511 srcp: :0 chan: @4136 body: undefined link: extern @4125 tree_list purp: @4126 valu: @4128 chan: @4137 @4126 identifier_node strg: CURLE_BAD_FUNCTION_ARGUMENT lngt: 27 @4127 const_decl name: @4138 type: @3583 srcp: curl.h:455 chan: @4139 cnst: @4140 @4128 integer_cst type: @3 low : 43 @4129 identifier_node strg: timelocal lngt: 9 @4130 function_type size: @12 algn: 8 retn: @2282 prms: @4141 @4131 function_decl name: @4142 type: @4130 srcp: time.h:153 chan: @4143 body: undefined link: extern @4132 identifier_node strg: __builtin_abs lngt: 13 @4133 identifier_node strg: abs lngt: 3 @4134 function_decl name: @4133 type: @2382 srcp: :0 chan: @4144 body: undefined link: extern @4135 identifier_node strg: __builtin_isgreaterequal lngt: 24 @4136 function_decl name: @4145 type: @2511 srcp: :0 chan: @4146 body: undefined link: extern @4137 tree_list purp: @4138 valu: @4140 chan: @4147 @4138 identifier_node strg: CURLE_OBSOLETE44 lngt: 16 @4139 const_decl name: @4148 type: @3583 srcp: curl.h:456 chan: @4149 cnst: @4150 @4140 integer_cst type: @3 low : 44 @4141 tree_list valu: @4151 chan: @146 @4142 identifier_node strg: timegm lngt: 6 @4143 function_decl name: @4152 mngl: @4153 type: @4154 srcp: time.h:157 chan: @4155 body: undefined link: extern @4144 function_decl name: @4156 type: @4157 srcp: :0 chan: @4158 body: undefined link: extern @4145 identifier_node strg: __builtin_isless lngt: 16 @4146 function_decl name: @4159 type: @2511 srcp: :0 chan: @4160 body: undefined link: extern @4147 tree_list purp: @4148 valu: @4150 chan: @4161 @4148 identifier_node strg: CURLE_INTERFACE_FAILED lngt: 22 @4149 const_decl name: @4162 type: @3583 srcp: curl.h:457 chan: @4163 cnst: @4164 @4150 integer_cst type: @3 low : 45 @4151 pointer_type qual: c unql: @3975 size: @19 algn: 64 ptd : @1731 @4152 identifier_node strg: nanosleep lngt: 9 @4153 identifier_node strg: _nanosleep lngt: 11 @4154 function_type size: @12 algn: 8 retn: @3 prms: @4165 @4155 function_decl name: @4166 type: @4167 srcp: time.h:204 chan: @4168 body: undefined link: extern @4156 identifier_node strg: __builtin_aggregate_incoming_address lngt: 36 @4157 function_type size: @12 algn: 8 retn: @157 @4158 function_decl name: @4169 mngl: @4170 type: @4171 srcp: :0 chan: @4172 body: undefined link: extern @4159 identifier_node strg: __builtin_islessequal lngt: 21 @4160 function_decl name: @4173 type: @2511 srcp: :0 chan: @4174 body: undefined link: extern @4161 tree_list purp: @4162 valu: @4164 chan: @4175 @4162 identifier_node strg: CURLE_OBSOLETE46 lngt: 16 @4163 const_decl name: @4176 type: @3583 srcp: curl.h:458 chan: @4177 cnst: @4178 @4164 integer_cst type: @3 low : 46 @4165 tree_list valu: @4179 chan: @4180 @4166 identifier_node strg: adjtime lngt: 7 @4167 function_type size: @12 algn: 8 retn: @3 prms: @4181 @4168 function_decl name: @4182 type: @4183 srcp: time.h:205 chan: @4184 body: undefined link: extern @4169 identifier_node strg: __builtin_alloca lngt: 16 @4170 identifier_node strg: alloca lngt: 6 @4171 function_type size: @12 algn: 8 retn: @157 prms: @4185 @4172 function_decl name: @4170 type: @4171 srcp: :0 chan: @4186 body: undefined link: extern @4173 identifier_node strg: __builtin_islessgreater lngt: 23 @4174 function_decl name: @4187 type: @2511 srcp: :0 chan: @4188 body: undefined link: extern @4175 tree_list purp: @4176 valu: @4178 chan: @4189 @4176 identifier_node strg: CURLE_TOO_MANY_REDIRECTS lngt: 24 @4177 const_decl name: @4190 type: @3583 srcp: curl.h:459 chan: @4191 cnst: @4192 @4178 integer_cst type: @3 low : 47 @4179 pointer_type size: @19 algn: 64 ptd : @4193 @4180 tree_list valu: @4194 chan: @146 @4181 tree_list valu: @4195 chan: @4196 @4182 identifier_node strg: futimes lngt: 7 @4183 function_type size: @12 algn: 8 retn: @3 prms: @4197 @4184 function_decl name: @4198 type: @4199 srcp: time.h:206 chan: @4200 body: undefined link: extern @4185 tree_list valu: @30 chan: @146 @4186 function_decl name: @4201 type: @4202 srcp: :0 chan: @4203 body: undefined link: extern @4187 identifier_node strg: __builtin_isunordered lngt: 21 @4188 function_decl name: @4204 mngl: @4205 type: @3638 srcp: :0 chan: @4206 body: undefined link: extern @4189 tree_list purp: @4190 valu: @4192 chan: @4207 @4190 identifier_node strg: CURLE_UNKNOWN_OPTION lngt: 20 @4191 const_decl name: @4208 type: @3583 srcp: curl.h:460 chan: @4209 cnst: @4210 @4192 integer_cst type: @3 low : 48 @4193 record_type qual: c name: @1729 unql: @1714 size: @72 algn: 64 tag : struct flds: @1730 @4194 pointer_type size: @19 algn: 64 ptd : @1714 @4195 pointer_type size: @19 algn: 64 ptd : @4211 @4196 tree_list valu: @4212 chan: @146 @4197 tree_list valu: @3 chan: @4213 @4198 identifier_node strg: lutimes lngt: 7 @4199 function_type size: @12 algn: 8 retn: @3 prms: @4214 @4200 function_decl name: @4215 type: @4216 srcp: time.h:207 chan: @4217 body: undefined link: extern @4201 identifier_node strg: __builtin_apply lngt: 15 @4202 function_type size: @12 algn: 8 retn: @157 prms: @4218 @4203 function_decl name: @4219 type: @4157 srcp: :0 chan: @4220 body: undefined link: extern @4204 identifier_node strg: __builtin_labs lngt: 14 @4205 identifier_node strg: labs lngt: 4 @4206 function_decl name: @4205 type: @3638 srcp: :0 chan: @4221 body: undefined link: extern @4207 tree_list purp: @4208 valu: @4210 chan: @4222 @4208 identifier_node strg: CURLE_TELNET_OPTION_SYNTAX lngt: 26 @4209 const_decl name: @4223 type: @3583 srcp: curl.h:461 chan: @4224 cnst: @4225 @4210 integer_cst type: @3 low : 49 @4211 record_type qual: c name: @1773 unql: @1752 size: @72 algn: 64 tag : struct flds: @1774 @4212 pointer_type size: @19 algn: 64 ptd : @1752 @4213 tree_list valu: @4195 chan: @146 @4214 tree_list valu: @831 chan: @4226 @4215 identifier_node strg: settimeofday lngt: 12 @4216 function_type size: @12 algn: 8 retn: @3 prms: @4227 @4217 function_decl name: @4228 type: @4229 srcp: time.h:210 chan: @4230 body: undefined link: extern @4218 tree_list valu: @4231 chan: @4232 @4219 identifier_node strg: __builtin_apply_args lngt: 20 @4220 function_decl name: @4233 type: @2382 srcp: :0 chan: @2315 body: undefined link: extern @4221 function_decl name: @4234 mngl: @4235 type: @4236 srcp: :0 chan: @4237 body: undefined link: extern @4222 tree_list purp: @4223 valu: @4225 chan: @4238 @4223 identifier_node strg: CURLE_OBSOLETE50 lngt: 16 @4224 const_decl name: @4239 type: @3583 srcp: curl.h:462 chan: @4240 cnst: @4241 @4225 integer_cst type: @3 low : 50 @4226 tree_list valu: @4195 chan: @146 @4227 tree_list valu: @4195 chan: @4242 @4228 identifier_node strg: getitimer lngt: 9 @4229 function_type size: @12 algn: 8 retn: @3 prms: @4243 @4230 function_decl name: @4244 type: @4245 srcp: time.h:211 chan: @4246 body: undefined link: extern @4231 pointer_type size: @19 algn: 64 ptd : @4247 @4232 tree_list valu: @157 chan: @4248 @4233 identifier_node strg: __builtin_args_info lngt: 19 @4234 identifier_node strg: __builtin_llabs lngt: 15 @4235 identifier_node strg: llabs lngt: 5 @4236 function_type size: @12 algn: 8 retn: @35 prms: @4249 @4237 function_decl name: @4235 type: @4236 srcp: :0 chan: @4250 body: undefined link: extern @4238 tree_list purp: @4239 valu: @4241 chan: @4251 @4239 identifier_node strg: CURLE_PEER_FAILED_VERIFICATION lngt: 30 @4240 const_decl name: @4252 type: @3583 srcp: curl.h:464 chan: @4253 cnst: @4254 @4241 integer_cst type: @3 low : 51 @4242 tree_list valu: @4255 chan: @146 @4243 tree_list valu: @3 chan: @4256 @4244 identifier_node strg: gettimeofday lngt: 12 @4245 function_type size: @12 algn: 8 retn: @3 prms: @4257 @4246 function_decl name: @4258 mngl: @4259 type: @4260 srcp: _select.h:50 chan: @4261 body: undefined link: extern @4247 function_type size: @12 algn: 8 retn: @124 @4248 tree_list valu: @30 chan: @146 @4249 tree_list valu: @35 chan: @146 @4250 function_decl name: @4262 type: @4263 srcp: :0 chan: @4264 body: undefined link: extern @4251 tree_list purp: @4252 valu: @4254 chan: @4265 @4252 identifier_node strg: CURLE_GOT_NOTHING lngt: 17 @4253 const_decl name: @4266 type: @3583 srcp: curl.h:465 chan: @4267 cnst: @4268 @4254 integer_cst type: @3 low : 52 @4255 pointer_type size: @19 algn: 64 ptd : @4269 @4256 tree_list valu: @4270 chan: @146 @4257 tree_list valu: @4212 chan: @4271 @4258 identifier_node strg: select lngt: 6 @4259 identifier_node strg: _select$1050 lngt: 13 @4260 function_type size: @12 algn: 8 retn: @3 prms: @4272 @4261 function_decl name: @4273 type: @4274 srcp: time.h:216 chan: @4275 body: undefined link: extern @4262 identifier_node strg: __builtin_longjmp lngt: 17 @4263 function_type size: @12 algn: 8 retn: @124 prms: @4276 @4264 function_decl name: @4277 mngl: @4278 type: @4171 srcp: :0 chan: @4279 body: undefined link: extern @4265 tree_list purp: @4266 valu: @4268 chan: @4280 @4266 identifier_node strg: CURLE_SSL_ENGINE_NOTFOUND lngt: 25 @4267 const_decl name: @4281 type: @3583 srcp: curl.h:466 chan: @4282 cnst: @4283 @4268 integer_cst type: @3 low : 53 @4269 record_type qual: c name: @1813 unql: @1790 size: @19 algn: 32 tag : struct flds: @1814 @4270 pointer_type size: @19 algn: 64 ptd : @1775 @4271 tree_list valu: @157 chan: @146 @4272 tree_list valu: @3 chan: @4284 @4273 identifier_node strg: setitimer lngt: 9 @4274 function_type size: @12 algn: 8 retn: @3 prms: @4285 @4275 function_decl name: @4286 type: @4199 srcp: time.h:217 chan: @4287 body: undefined link: extern @4276 tree_list valu: @157 chan: @4288 @4277 identifier_node strg: __builtin_malloc lngt: 16 @4278 identifier_node strg: malloc lngt: 6 @4279 function_decl name: @4278 type: @4171 srcp: :0 chan: @4289 body: undefined link: extern @4280 tree_list purp: @4281 valu: @4283 chan: @4290 @4281 identifier_node strg: CURLE_SSL_ENGINE_SETFAILED lngt: 26 @4282 const_decl name: @4291 type: @3583 srcp: curl.h:468 chan: @4292 cnst: @4293 @4283 integer_cst type: @3 low : 54 @4284 tree_list valu: @4294 chan: @4295 @4285 tree_list valu: @3 chan: @4296 @4286 identifier_node strg: utimes lngt: 6 @4287 function_decl name: @4297 type: @3326 srcp: curl.h:1665 chan: @4298 body: undefined link: extern @4288 tree_list valu: @3 chan: @146 @4289 function_decl name: @4299 type: @4157 srcp: :0 chan: @4300 body: undefined link: extern @4290 tree_list purp: @4291 valu: @4293 chan: @4301 @4291 identifier_node strg: CURLE_SEND_ERROR lngt: 16 @4292 const_decl name: @4302 type: @3583 srcp: curl.h:469 chan: @4303 cnst: @4304 @4293 integer_cst type: @3 low : 55 @4294 pointer_type size: @19 algn: 64 ptd : @2451 @4295 tree_list valu: @4294 chan: @4305 @4296 tree_list valu: @4306 chan: @4307 @4297 identifier_node strg: curl_strequal lngt: 13 @4298 function_decl name: @4308 type: @4309 srcp: curl.h:1666 chan: @4310 body: undefined link: extern @4299 identifier_node strg: __builtin_next_arg lngt: 18 @4300 function_decl name: @4311 type: @2570 srcp: :0 chan: @4312 body: undefined link: extern @4301 tree_list purp: @4302 valu: @4304 chan: @4313 @4302 identifier_node strg: CURLE_RECV_ERROR lngt: 16 @4303 const_decl name: @4314 type: @3583 srcp: curl.h:470 chan: @4315 cnst: @4316 @4304 integer_cst type: @3 low : 56 @4305 tree_list valu: @4294 chan: @4317 @4306 pointer_type size: @19 algn: 64 ptd : @4318 @4307 tree_list valu: @4270 chan: @146 @4308 identifier_node strg: curl_strnequal lngt: 14 @4309 function_type size: @12 algn: 8 retn: @3 prms: @4319 @4310 function_decl name: @4320 type: @4321 srcp: curl.h:1759 chan: @4322 body: undefined link: extern @4311 identifier_node strg: __builtin_parity lngt: 16 @4312 function_decl name: @4323 type: @2627 srcp: :0 chan: @4324 body: undefined link: extern @4313 tree_list purp: @4314 valu: @4316 chan: @4325 @4314 identifier_node strg: CURLE_OBSOLETE57 lngt: 16 @4315 const_decl name: @4326 type: @3583 srcp: curl.h:471 chan: @4327 cnst: @4328 @4316 integer_cst type: @3 low : 57 @4317 tree_list valu: @4212 chan: @146 @4318 record_type qual: c name: @1788 unql: @1775 size: @122 algn: 64 tag : struct flds: @1789 @4319 tree_list valu: @831 chan: @4329 @4320 identifier_node strg: curl_formadd lngt: 12 @4321 function_type size: @12 algn: 8 retn: @4330 prms: @4331 @4322 function_decl name: @4332 type: @4333 srcp: curl.h:1783 chan: @4334 body: undefined link: extern @4323 identifier_node strg: __builtin_parityimax lngt: 20 @4324 function_decl name: @4335 type: @2627 srcp: :0 chan: @4336 body: undefined link: extern @4325 tree_list purp: @4326 valu: @4328 chan: @4337 @4326 identifier_node strg: CURLE_SSL_CERTPROBLEM lngt: 21 @4327 const_decl name: @4338 type: @3583 srcp: curl.h:472 chan: @4339 cnst: @4340 @4328 integer_cst type: @3 low : 58 @4329 tree_list valu: @831 chan: @4341 @4330 enumeral_type name: @4342 unql: @4343 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @4344 @4331 tree_list valu: @4345 chan: @4346 @4332 identifier_node strg: curl_formget lngt: 12 @4333 function_type size: @12 algn: 8 retn: @3 prms: @4347 @4334 function_decl name: @4348 type: @4349 srcp: curl.h:1791 chan: @4350 body: undefined link: extern @4335 identifier_node strg: __builtin_parityl lngt: 17 @4336 function_decl name: @4351 type: @2718 srcp: :0 chan: @4352 body: undefined link: extern @4337 tree_list purp: @4338 valu: @4340 chan: @4353 @4338 identifier_node strg: CURLE_SSL_CIPHER lngt: 16 @4339 const_decl name: @4354 type: @3583 srcp: curl.h:473 chan: @4355 cnst: @4356 @4340 integer_cst type: @3 low : 59 @4341 tree_list valu: @2068 chan: @146 @4342 type_decl name: @4357 type: @4330 srcp: curl.h:1746 chan: @4358 @4343 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @4344 @4344 tree_list purp: @4359 valu: @1760 chan: @4360 @4345 pointer_type size: @19 algn: 64 ptd : @1959 @4346 tree_list valu: @4345 @4347 tree_list valu: @1959 chan: @4361 @4348 identifier_node strg: curl_formfree lngt: 13 @4349 function_type size: @12 algn: 8 retn: @124 prms: @4362 @4350 function_decl name: @4363 type: @3442 srcp: curl.h:1801 chan: @4364 body: undefined link: extern @4351 identifier_node strg: __builtin_parityll lngt: 18 @4352 function_decl name: @4365 type: @2570 srcp: :0 chan: @4366 body: undefined link: extern @4353 tree_list purp: @4354 valu: @4356 chan: @4367 @4354 identifier_node strg: CURLE_SSL_CACERT lngt: 16 @4355 const_decl name: @4368 type: @3583 srcp: curl.h:474 chan: @4369 cnst: @4370 @4356 integer_cst type: @3 low : 60 @4357 identifier_node strg: CURLFORMcode lngt: 12 @4358 type_decl name: @4371 type: @4372 srcp: curl.h:1770 chan: @4373 @4359 identifier_node strg: CURL_FORMADD_OK lngt: 15 @4360 tree_list purp: @4374 valu: @1755 chan: @4375 @4361 tree_list valu: @157 chan: @4376 @4362 tree_list valu: @1959 chan: @146 @4363 identifier_node strg: curl_getenv lngt: 11 @4364 function_decl name: @4377 type: @4378 srcp: curl.h:1810 chan: @4379 body: undefined link: extern @4365 identifier_node strg: __builtin_popcount lngt: 18 @4366 function_decl name: @4380 type: @2627 srcp: :0 chan: @4381 body: undefined link: extern @4367 tree_list purp: @4368 valu: @4370 chan: @4382 @4368 identifier_node strg: CURLE_BAD_CONTENT_ENCODING lngt: 26 @4369 const_decl name: @4383 type: @3583 srcp: curl.h:475 chan: @4384 cnst: @4385 @4370 integer_cst type: @3 low : 61 @4371 identifier_node strg: curl_formget_callback lngt: 21 @4372 pointer_type name: @4358 unql: @4386 size: @19 algn: 64 ptd : @4387 @4373 type_decl type: @4388 srcp: curl.h:1941 chan: @4389 @4374 identifier_node strg: CURL_FORMADD_MEMORY lngt: 19 @4375 tree_list purp: @4390 valu: @2223 chan: @4391 @4376 tree_list valu: @4372 chan: @146 @4377 identifier_node strg: curl_version lngt: 12 @4378 function_type size: @12 algn: 8 retn: @1527 prms: @146 @4379 function_decl name: @4392 type: @4393 srcp: curl.h:1823 chan: @4394 body: undefined link: extern @4380 identifier_node strg: __builtin_popcountimax lngt: 22 @4381 function_decl name: @4395 type: @2627 srcp: :0 chan: @4396 body: undefined link: extern @4382 tree_list purp: @4383 valu: @4385 chan: @4397 @4383 identifier_node strg: CURLE_LDAP_INVALID_URL lngt: 22 @4384 const_decl name: @4398 type: @3583 srcp: curl.h:476 chan: @4399 cnst: @4400 @4385 integer_cst type: @3 low : 62 @4386 pointer_type size: @19 algn: 64 ptd : @4387 @4387 function_type size: @12 algn: 8 retn: @2068 prms: @4401 @4388 record_type name: @4402 size: @72 algn: 64 tag : struct flds: @4403 @4389 type_decl type: @4404 srcp: curl.h:1955 chan: @4405 @4390 identifier_node strg: CURL_FORMADD_OPTION_TWICE lngt: 25 @4391 tree_list purp: @4406 valu: @2274 chan: @4407 @4392 identifier_node strg: curl_easy_escape lngt: 16 @4393 function_type size: @12 algn: 8 retn: @1527 prms: @4408 @4394 function_decl name: @4409 type: @4410 srcp: curl.h:1827 chan: @4411 body: undefined link: extern @4395 identifier_node strg: __builtin_popcountl lngt: 19 @4396 function_decl name: @4412 type: @2718 srcp: :0 chan: @4413 body: undefined link: extern @4397 tree_list purp: @4398 valu: @4400 chan: @4414 @4398 identifier_node strg: CURLE_FILESIZE_EXCEEDED lngt: 23 @4399 const_decl name: @4415 type: @3583 srcp: curl.h:477 chan: @4416 cnst: @4417 @4400 integer_cst type: @3 low : 63 @4401 tree_list valu: @157 chan: @4418 @4402 identifier_node strg: curl_certinfo lngt: 13 @4403 field_decl name: @4419 type: @3 scpe: @4388 srcp: curl.h:1942 chan: @4420 size: @5 algn: 32 bpos: @20 @4404 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @4421 @4405 const_decl name: @4422 type: @4404 srcp: curl.h:1956 chan: @4423 cnst: @1760 @4406 identifier_node strg: CURL_FORMADD_NULL lngt: 17 @4407 tree_list purp: @4424 valu: @2321 chan: @4425 @4408 tree_list valu: @3406 chan: @4426 @4409 identifier_node strg: curl_escape lngt: 11 @4410 function_type size: @12 algn: 8 retn: @1527 prms: @1528 @4411 function_decl name: @4427 type: @4428 srcp: curl.h:1844 chan: @4429 body: undefined link: extern @4412 identifier_node strg: __builtin_popcountll lngt: 20 @4413 function_decl name: @4430 type: @4431 srcp: :0 chan: @4432 body: undefined link: extern @4414 tree_list purp: @4415 valu: @4417 chan: @4433 @4415 identifier_node strg: CURLE_USE_SSL_FAILED lngt: 20 @4416 const_decl name: @4434 type: @3583 srcp: curl.h:478 chan: @4435 cnst: @4436 @4417 integer_cst type: @3 low : 64 @4418 tree_list valu: @831 chan: @4437 @4419 identifier_node strg: num_of_certs lngt: 12 @4420 field_decl name: @4438 type: @4439 scpe: @4388 srcp: curl.h:1943 size: @19 algn: 64 bpos: @19 @4421 tree_list purp: @4422 valu: @1760 chan: @4440 @4422 identifier_node strg: CURLINFO_NONE lngt: 13 @4423 const_decl name: @4441 type: @4404 srcp: curl.h:1957 chan: @4442 cnst: @4443 @4424 identifier_node strg: CURL_FORMADD_UNKNOWN_OPTION lngt: 27 @4425 tree_list purp: @4444 valu: @2363 chan: @4445 @4426 tree_list valu: @831 chan: @4446 @4427 identifier_node strg: curl_easy_unescape lngt: 18 @4428 function_type size: @12 algn: 8 retn: @1527 prms: @4447 @4429 function_decl name: @4448 type: @4410 srcp: curl.h:1848 chan: @4449 body: undefined link: extern @4430 identifier_node strg: __builtin_prefetch lngt: 18 @4431 function_type size: @12 algn: 8 retn: @124 prms: @4450 @4432 function_decl name: @4451 type: @2755 srcp: :0 chan: @4452 body: undefined link: extern @4433 tree_list purp: @4434 valu: @4436 chan: @4453 @4434 identifier_node strg: CURLE_SEND_FAIL_REWIND lngt: 22 @4435 const_decl name: @4454 type: @3583 srcp: curl.h:480 chan: @4455 cnst: @4456 @4436 integer_cst type: @3 low : 65 @4437 tree_list valu: @2068 chan: @146 @4438 identifier_node strg: certinfo lngt: 8 @4439 pointer_type size: @19 algn: 64 ptd : @2041 @4440 tree_list purp: @4441 valu: @4443 chan: @4457 @4441 identifier_node strg: CURLINFO_EFFECTIVE_URL lngt: 22 @4442 const_decl name: @4458 type: @4404 srcp: curl.h:1958 chan: @4459 cnst: @4460 @4443 integer_cst type: @3 low : 1048577 @4444 identifier_node strg: CURL_FORMADD_INCOMPLETE lngt: 23 @4445 tree_list purp: @4461 valu: @2403 chan: @4462 @4446 tree_list valu: @3 chan: @146 @4447 tree_list valu: @3406 chan: @4463 @4448 identifier_node strg: curl_unescape lngt: 13 @4449 function_decl name: @4464 type: @2755 srcp: curl.h:1858 chan: @4465 body: undefined link: extern @4450 tree_list valu: @1504 @4451 identifier_node strg: __builtin_return lngt: 16 @4452 function_decl name: @4466 type: @3591 srcp: :0 chan: @4467 body: undefined link: extern @4453 tree_list purp: @4454 valu: @4456 chan: @4468 @4454 identifier_node strg: CURLE_SSL_ENGINE_INITFAILED lngt: 27 @4455 const_decl name: @4469 type: @3583 srcp: curl.h:481 chan: @4470 cnst: @4471 @4456 integer_cst type: @3 low : 66 @4457 tree_list purp: @4458 valu: @4460 chan: @4472 @4458 identifier_node strg: CURLINFO_RESPONSE_CODE lngt: 22 @4459 const_decl name: @4473 type: @4404 srcp: curl.h:1959 chan: @4474 cnst: @4475 @4460 integer_cst type: @3 low : 2097154 @4461 identifier_node strg: CURL_FORMADD_ILLEGAL_ARRAY lngt: 26 @4462 tree_list purp: @4476 valu: @2443 chan: @4477 @4463 tree_list valu: @831 chan: @4478 @4464 identifier_node strg: curl_free lngt: 9 @4465 function_decl name: @4479 type: @4480 srcp: curl.h:1870 chan: @4481 body: undefined link: extern @4466 identifier_node strg: __builtin_return_address lngt: 24 @4467 function_decl name: @4482 type: @4157 srcp: :0 chan: @4483 body: undefined link: extern @4468 tree_list purp: @4469 valu: @4471 chan: @4484 @4469 identifier_node strg: CURLE_LOGIN_DENIED lngt: 18 @4470 const_decl name: @4485 type: @3583 srcp: curl.h:483 chan: @4486 cnst: @4487 @4471 integer_cst type: @3 low : 67 @4472 tree_list purp: @4473 valu: @4475 chan: @4488 @4473 identifier_node strg: CURLINFO_TOTAL_TIME lngt: 19 @4474 const_decl name: @4489 type: @4404 srcp: curl.h:1960 chan: @4490 cnst: @4491 @4475 integer_cst type: @3 low : 3145731 @4476 identifier_node strg: CURL_FORMADD_DISABLED lngt: 21 @4477 tree_list purp: @4492 valu: @2214 @4478 tree_list valu: @3 chan: @4493 @4479 identifier_node strg: curl_global_init lngt: 16 @4480 function_type size: @12 algn: 8 retn: @4494 prms: @4495 @4481 function_decl name: @4496 type: @4497 srcp: curl.h:1890 chan: @4498 body: undefined link: extern @4482 identifier_node strg: __builtin_saveregs lngt: 18 @4483 function_decl name: @4499 type: @1880 srcp: :0 chan: @4500 body: undefined link: extern @4484 tree_list purp: @4485 valu: @4487 chan: @4501 @4485 identifier_node strg: CURLE_TFTP_NOTFOUND lngt: 19 @4486 const_decl name: @4502 type: @3583 srcp: curl.h:484 chan: @4503 cnst: @4504 @4487 integer_cst type: @3 low : 68 @4488 tree_list purp: @4489 valu: @4491 chan: @4505 @4489 identifier_node strg: CURLINFO_NAMELOOKUP_TIME lngt: 24 @4490 const_decl name: @4506 type: @4404 srcp: curl.h:1961 chan: @4507 cnst: @4508 @4491 integer_cst type: @3 low : 3145732 @4492 identifier_node strg: CURL_FORMADD_LAST lngt: 17 @4493 tree_list valu: @501 chan: @146 @4494 enumeral_type name: @4509 unql: @3583 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @3594 @4495 tree_list valu: @16 chan: @146 @4496 identifier_node strg: curl_global_init_mem lngt: 20 @4497 function_type size: @12 algn: 8 retn: @4494 prms: @4510 @4498 function_decl name: @4511 type: @4037 srcp: curl.h:1900 chan: @4512 body: undefined link: extern @4499 identifier_node strg: __builtin_setjmp lngt: 16 @4500 function_decl name: @4513 type: @4514 srcp: :0 chan: @4515 body: undefined link: extern @4501 tree_list purp: @4502 valu: @4504 chan: @4516 @4502 identifier_node strg: CURLE_TFTP_PERM lngt: 15 @4503 const_decl name: @4517 type: @3583 srcp: curl.h:485 chan: @4518 cnst: @4519 @4504 integer_cst type: @3 low : 69 @4505 tree_list purp: @4506 valu: @4508 chan: @4520 @4506 identifier_node strg: CURLINFO_CONNECT_TIME lngt: 21 @4507 const_decl name: @4521 type: @4404 srcp: curl.h:1962 chan: @4522 cnst: @4523 @4508 integer_cst type: @3 low : 3145733 @4509 type_decl name: @4524 type: @4494 srcp: curl.h:518 chan: @4525 @4510 tree_list valu: @16 chan: @4526 @4511 identifier_node strg: curl_global_cleanup lngt: 19 @4512 function_decl name: @4527 type: @4528 srcp: curl.h:1917 chan: @4529 body: undefined link: extern @4513 identifier_node strg: __builtin_stdarg_start lngt: 22 @4514 function_type size: @12 algn: 8 retn: @124 prms: @4530 @4515 function_decl name: @4531 mngl: @4532 type: @4533 srcp: :0 chan: @4534 body: undefined link: extern @4516 tree_list purp: @4517 valu: @4519 chan: @4535 @4517 identifier_node strg: CURLE_REMOTE_DISK_FULL lngt: 22 @4518 const_decl name: @4536 type: @3583 srcp: curl.h:486 chan: @4537 cnst: @4538 @4519 integer_cst type: @3 low : 70 @4520 tree_list purp: @4521 valu: @4523 chan: @4539 @4521 identifier_node strg: CURLINFO_PRETRANSFER_TIME lngt: 25 @4522 const_decl name: @4540 type: @4404 srcp: curl.h:1963 chan: @4541 cnst: @4542 @4523 integer_cst type: @3 low : 3145734 @4524 identifier_node strg: CURLcode lngt: 8 @4525 type_decl name: @4543 type: @4544 srcp: curl.h:580 chan: @4545 @4526 tree_list valu: @3372 chan: @4546 @4527 identifier_node strg: curl_slist_append lngt: 17 @4528 function_type size: @12 algn: 8 retn: @2041 prms: @4547 @4529 function_decl name: @4548 type: @4549 srcp: curl.h:1926 chan: @4550 body: undefined link: extern @4530 tree_list valu: @3158 @4531 identifier_node strg: __builtin_strfmon lngt: 17 @4532 identifier_node strg: strfmon lngt: 7 @4533 function_type size: @12 algn: 8 retn: @16 prms: @4551 @4534 function_decl name: @4532 type: @4533 srcp: :0 chan: @4552 body: undefined link: extern @4535 tree_list purp: @4536 valu: @4538 chan: @4553 @4536 identifier_node strg: CURLE_TFTP_ILLEGAL lngt: 18 @4537 const_decl name: @4554 type: @3583 srcp: curl.h:487 chan: @4555 cnst: @4556 @4538 integer_cst type: @3 low : 71 @4539 tree_list purp: @4540 valu: @4542 chan: @4557 @4540 identifier_node strg: CURLINFO_SIZE_UPLOAD lngt: 20 @4541 const_decl name: @4558 type: @4404 srcp: curl.h:1964 chan: @4559 cnst: @4560 @4542 integer_cst type: @3 low : 3145735 @4543 identifier_node strg: curl_conv_callback lngt: 18 @4544 pointer_type name: @4525 unql: @4561 size: @19 algn: 64 ptd : @4562 @4545 type_decl name: @4563 type: @4564 srcp: curl.h:585 chan: @4565 @4546 tree_list valu: @3390 chan: @4566 @4547 tree_list valu: @2041 chan: @4567 @4548 identifier_node strg: curl_slist_free_all lngt: 19 @4549 function_type size: @12 algn: 8 retn: @124 prms: @4568 @4550 function_decl name: @4569 type: @4570 srcp: curl.h:1937 chan: @4571 body: undefined link: extern @4551 tree_list valu: @1527 chan: @4572 @4552 function_decl name: @4573 mngl: @4574 type: @4575 srcp: :0 chan: @4576 body: undefined link: extern @4553 tree_list purp: @4554 valu: @4556 chan: @4577 @4554 identifier_node strg: CURLE_TFTP_UNKNOWNID lngt: 20 @4555 const_decl name: @4578 type: @3583 srcp: curl.h:488 chan: @4579 cnst: @4580 @4556 integer_cst type: @3 low : 72 @4557 tree_list purp: @4558 valu: @4560 chan: @4581 @4558 identifier_node strg: CURLINFO_SIZE_DOWNLOAD lngt: 22 @4559 const_decl name: @4582 type: @4404 srcp: curl.h:1965 chan: @4583 cnst: @4584 @4560 integer_cst type: @3 low : 3145736 @4561 pointer_type size: @19 algn: 64 ptd : @4562 @4562 function_type size: @12 algn: 8 retn: @4494 prms: @4585 @4563 identifier_node strg: curl_ssl_ctx_callback lngt: 21 @4564 pointer_type name: @4545 unql: @4586 size: @19 algn: 64 ptd : @4587 @4565 type_decl type: @4588 srcp: curl.h:587 chan: @4589 @4566 tree_list valu: @3410 chan: @4590 @4567 tree_list valu: @831 chan: @146 @4568 tree_list valu: @2041 chan: @146 @4569 identifier_node strg: curl_getdate lngt: 12 @4570 function_type size: @12 algn: 8 retn: @2282 prms: @4591 @4571 function_decl name: @4592 type: @4593 srcp: curl.h:2085 chan: @4594 body: undefined link: extern @4572 tree_list valu: @30 chan: @4595 @4573 identifier_node strg: __builtin_strftime lngt: 18 @4574 identifier_node strg: _strftime lngt: 10 @4575 function_type size: @12 algn: 8 retn: @30 prms: @4596 @4576 function_decl name: @4597 mngl: @4574 type: @4598 srcp: time.h:131 chan: @4599 body: undefined link: extern @4577 tree_list purp: @4578 valu: @4580 chan: @4600 @4578 identifier_node strg: CURLE_REMOTE_FILE_EXISTS lngt: 24 @4579 const_decl name: @4601 type: @3583 srcp: curl.h:489 chan: @4602 cnst: @4603 @4580 integer_cst type: @3 low : 73 @4581 tree_list purp: @4582 valu: @4584 chan: @4604 @4582 identifier_node strg: CURLINFO_SPEED_DOWNLOAD lngt: 23 @4583 const_decl name: @4605 type: @4404 srcp: curl.h:1966 chan: @4606 cnst: @4607 @4584 integer_cst type: @3 low : 3145737 @4585 tree_list valu: @1527 chan: @4608 @4586 pointer_type size: @19 algn: 64 ptd : @4587 @4587 function_type size: @12 algn: 8 retn: @4494 prms: @4609 @4588 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @4610 @4589 const_decl name: @4611 type: @4588 srcp: curl.h:588 chan: @4612 cnst: @1760 @4590 tree_list valu: @3428 chan: @4613 @4591 tree_list valu: @831 chan: @4614 @4592 identifier_node strg: curl_share_init lngt: 15 @4593 function_type size: @12 algn: 8 retn: @4615 prms: @146 @4594 function_decl name: @4616 type: @4617 srcp: curl.h:2086 chan: @4618 body: undefined link: extern @4595 tree_list valu: @831 @4596 tree_list valu: @1527 chan: @4619 @4597 identifier_node strg: strftime lngt: 8 @4598 function_type size: @12 algn: 8 retn: @2068 prms: @4620 @4599 function_decl name: @4621 type: @4037 srcp: :0 chan: @4622 body: undefined link: extern @4600 tree_list purp: @4601 valu: @4603 chan: @4623 @4601 identifier_node strg: CURLE_TFTP_NOSUCHUSER lngt: 21 @4602 const_decl name: @4624 type: @3583 srcp: curl.h:490 chan: @4625 cnst: @4626 @4603 integer_cst type: @3 low : 74 @4604 tree_list purp: @4605 valu: @4607 chan: @4627 @4605 identifier_node strg: CURLINFO_SPEED_UPLOAD lngt: 21 @4606 const_decl name: @4628 type: @4404 srcp: curl.h:1967 chan: @4629 cnst: @4630 @4607 integer_cst type: @3 low : 3145738 @4608 tree_list valu: @2068 chan: @146 @4609 tree_list valu: @3406 chan: @4631 @4610 tree_list purp: @4611 valu: @1760 chan: @4632 @4611 identifier_node strg: CURLPROXY_HTTP lngt: 14 @4612 const_decl name: @4633 type: @4588 srcp: curl.h:590 chan: @4634 cnst: @1755 @4613 tree_list valu: @3444 chan: @146 @4614 tree_list valu: @3960 chan: @146 @4615 pointer_type size: @19 algn: 64 ptd : @4635 @4616 identifier_node strg: curl_share_setopt lngt: 17 @4617 function_type size: @12 algn: 8 retn: @4636 prms: @4637 @4618 function_decl name: @4638 type: @4639 srcp: curl.h:2087 chan: @4640 body: undefined link: extern @4619 tree_list valu: @30 chan: @4641 @4620 tree_list valu: @1527 chan: @4642 @4621 identifier_node strg: __builtin_trap lngt: 14 @4622 function_decl name: @4643 type: @4037 srcp: :0 chan: @4644 body: undefined link: extern @4623 tree_list purp: @4624 valu: @4626 chan: @4645 @4624 identifier_node strg: CURLE_CONV_FAILED lngt: 17 @4625 const_decl name: @4646 type: @3583 srcp: curl.h:491 chan: @4647 cnst: @4648 @4626 integer_cst type: @3 low : 75 @4627 tree_list purp: @4628 valu: @4630 chan: @4649 @4628 identifier_node strg: CURLINFO_HEADER_SIZE lngt: 20 @4629 const_decl name: @4650 type: @4404 srcp: curl.h:1968 chan: @4651 cnst: @4652 @4630 integer_cst type: @3 low : 2097163 @4631 tree_list valu: @157 chan: @4653 @4632 tree_list purp: @4633 valu: @1755 chan: @4654 @4633 identifier_node strg: CURLPROXY_HTTP_1_0 lngt: 18 @4634 const_decl name: @4655 type: @4588 srcp: curl.h:592 chan: @4656 cnst: @2321 @4635 void_type name: @4657 unql: @124 algn: 8 @4636 enumeral_type name: @4658 unql: @4659 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @4660 @4637 tree_list valu: @4615 chan: @4661 @4638 identifier_node strg: curl_share_cleanup lngt: 18 @4639 function_type size: @12 algn: 8 retn: @4636 prms: @4662 @4640 function_decl name: @4663 type: @4664 srcp: curl.h:2161 chan: @4665 body: undefined link: extern @4641 tree_list valu: @831 chan: @4666 @4642 tree_list valu: @2068 chan: @4667 @4643 identifier_node strg: __builtin_unwind_init lngt: 21 @4644 function_decl name: @4668 type: @4263 srcp: :0 chan: @4669 body: undefined link: extern @4645 tree_list purp: @4646 valu: @4648 chan: @4670 @4646 identifier_node strg: CURLE_CONV_REQD lngt: 15 @4647 const_decl name: @4671 type: @3583 srcp: curl.h:496 chan: @4672 cnst: @4673 @4648 integer_cst type: @3 low : 76 @4649 tree_list purp: @4650 valu: @4652 chan: @4674 @4650 identifier_node strg: CURLINFO_REQUEST_SIZE lngt: 21 @4651 const_decl name: @4675 type: @4404 srcp: curl.h:1969 chan: @4676 cnst: @4677 @4652 integer_cst type: @3 low : 2097164 @4653 tree_list valu: @157 chan: @146 @4654 tree_list purp: @4655 valu: @2321 chan: @4678 @4655 identifier_node strg: CURLPROXY_SOCKS4 lngt: 16 @4656 const_decl name: @4679 type: @4588 srcp: curl.h:594 chan: @4680 cnst: @2363 @4657 type_decl name: @4681 type: @4635 srcp: curl.h:2062 chan: @4682 @4658 type_decl name: @4683 type: @4636 srcp: curl.h:2072 chan: @4684 @4659 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @4660 @4660 tree_list purp: @4685 valu: @1760 chan: @4686 @4661 tree_list valu: @4687 @4662 tree_list valu: @4615 chan: @146 @4663 identifier_node strg: curl_version_info lngt: 17 @4664 function_type size: @12 algn: 8 retn: @4688 prms: @4689 @4665 function_decl name: @4690 type: @4691 srcp: curl.h:2172 chan: @4692 body: undefined link: extern @4666 tree_list valu: @1504 chan: @146 @4667 tree_list valu: @831 chan: @4693 @4668 identifier_node strg: __builtin_update_setjmp_buf lngt: 27 @4669 function_decl name: @4694 type: @4695 srcp: :0 chan: @4696 body: undefined link: extern @4670 tree_list purp: @4671 valu: @4673 chan: @4697 @4671 identifier_node strg: CURLE_SSL_CACERT_BADFILE lngt: 24 @4672 const_decl name: @4698 type: @3583 srcp: curl.h:498 chan: @4699 cnst: @4700 @4673 integer_cst type: @3 low : 77 @4674 tree_list purp: @4675 valu: @4677 chan: @4701 @4675 identifier_node strg: CURLINFO_SSL_VERIFYRESULT lngt: 25 @4676 const_decl name: @4702 type: @4404 srcp: curl.h:1970 chan: @4703 cnst: @4704 @4677 integer_cst type: @3 low : 2097165 @4678 tree_list purp: @4679 valu: @2363 chan: @4705 @4679 identifier_node strg: CURLPROXY_SOCKS5 lngt: 16 @4680 const_decl name: @4706 type: @4588 srcp: curl.h:595 chan: @4707 cnst: @2403 @4681 identifier_node strg: CURLSH lngt: 6 @4682 type_decl type: @4659 srcp: curl.h:2064 chan: @4708 @4683 identifier_node strg: CURLSHcode lngt: 10 @4684 type_decl type: @4709 srcp: curl.h:2074 chan: @4710 @4685 identifier_node strg: CURLSHE_OK lngt: 10 @4686 tree_list purp: @4711 valu: @1755 chan: @4712 @4687 enumeral_type name: @4713 unql: @4709 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @4714 @4688 pointer_type size: @19 algn: 64 ptd : @4715 @4689 tree_list valu: @4716 chan: @146 @4690 identifier_node strg: curl_easy_strerror lngt: 18 @4691 function_type size: @12 algn: 8 retn: @831 prms: @4717 @4692 function_decl name: @4718 type: @4719 srcp: curl.h:2183 chan: @4720 body: undefined link: extern @4693 tree_list valu: @3935 chan: @146 @4694 identifier_node strg: __builtin_va_copy lngt: 17 @4695 function_type size: @12 algn: 8 retn: @124 prms: @4721 @4696 function_decl name: @4722 type: @4723 srcp: :0 chan: @4724 body: undefined link: extern @4697 tree_list purp: @4698 valu: @4700 chan: @4725 @4698 identifier_node strg: CURLE_REMOTE_FILE_NOT_FOUND lngt: 27 @4699 const_decl name: @4726 type: @3583 srcp: curl.h:499 chan: @4727 cnst: @4728 @4700 integer_cst type: @3 low : 78 @4701 tree_list purp: @4702 valu: @4704 chan: @4729 @4702 identifier_node strg: CURLINFO_FILETIME lngt: 17 @4703 const_decl name: @4730 type: @4404 srcp: curl.h:1971 chan: @4731 cnst: @4732 @4704 integer_cst type: @3 low : 2097166 @4705 tree_list purp: @4706 valu: @2403 chan: @4733 @4706 identifier_node strg: CURLPROXY_SOCKS4A lngt: 17 @4707 const_decl name: @4734 type: @4588 srcp: curl.h:599 chan: @4735 cnst: @2443 @4708 const_decl name: @4685 type: @4659 srcp: curl.h:2065 chan: @4736 cnst: @1760 @4709 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @4714 @4710 const_decl name: @4737 type: @4709 srcp: curl.h:2075 chan: @4738 cnst: @1760 @4711 identifier_node strg: CURLSHE_BAD_OPTION lngt: 18 @4712 tree_list purp: @4739 valu: @2223 chan: @4740 @4713 type_decl name: @4741 type: @4687 srcp: curl.h:2083 chan: @4742 @4714 tree_list purp: @4737 valu: @1760 chan: @4743 @4715 record_type name: @4744 unql: @4745 size: @2066 algn: 64 tag : struct flds: @4746 @4716 enumeral_type name: @4747 unql: @4748 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @4749 @4717 tree_list valu: @4494 chan: @146 @4718 identifier_node strg: curl_share_strerror lngt: 19 @4719 function_type size: @12 algn: 8 retn: @831 prms: @4750 @4720 function_decl name: @4751 type: @4752 srcp: curl.h:2194 chan: @4753 body: undefined link: extern @4721 tree_list valu: @3158 chan: @4754 @4722 identifier_node strg: __builtin_va_end lngt: 16 @4723 function_type size: @12 algn: 8 retn: @124 prms: @4755 @4724 function_decl name: @4756 type: @4514 srcp: :0 chan: @4757 body: undefined link: extern @4725 tree_list purp: @4726 valu: @4728 chan: @4758 @4726 identifier_node strg: CURLE_SSH lngt: 9 @4727 const_decl name: @4759 type: @3583 srcp: curl.h:503 chan: @4760 cnst: @4761 @4728 integer_cst type: @3 low : 79 @4729 tree_list purp: @4730 valu: @4732 chan: @4762 @4730 identifier_node strg: CURLINFO_CONTENT_LENGTH_DOWNLOAD lngt: 32 @4731 const_decl name: @4763 type: @4404 srcp: curl.h:1972 chan: @4764 cnst: @4765 @4732 integer_cst type: @3 low : 3145743 @4733 tree_list purp: @4734 valu: @2443 @4734 identifier_node strg: CURLPROXY_SOCKS5_HOSTNAME lngt: 25 @4735 type_decl name: @4766 type: @4767 srcp: curl.h:599 chan: @4768 @4736 const_decl name: @4711 type: @4659 srcp: curl.h:2066 chan: @4769 cnst: @1755 @4737 identifier_node strg: CURLSHOPT_NONE lngt: 14 @4738 const_decl name: @4770 type: @4709 srcp: curl.h:2076 chan: @4771 cnst: @1755 @4739 identifier_node strg: CURLSHE_IN_USE lngt: 14 @4740 tree_list purp: @4772 valu: @2274 chan: @4773 @4741 identifier_node strg: CURLSHoption lngt: 12 @4742 type_decl type: @4748 srcp: curl.h:2093 chan: @4774 @4743 tree_list purp: @4770 valu: @1755 chan: @4775 @4744 type_decl name: @4776 type: @4715 srcp: curl.h:2134 chan: @4777 @4745 record_type size: @2066 algn: 64 tag : struct flds: @4746 @4746 field_decl name: @4778 type: @4716 scpe: @4745 srcp: curl.h:2109 chan: @4779 size: @5 algn: 32 bpos: @20 @4747 type_decl name: @4780 type: @4716 srcp: curl.h:2099 chan: @4781 @4748 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @4749 @4749 tree_list purp: @4782 valu: @1760 chan: @4783 @4750 tree_list valu: @4636 chan: @146 @4751 identifier_node strg: curl_easy_pause lngt: 15 @4752 function_type size: @12 algn: 8 retn: @4494 prms: @4784 @4753 function_decl name: @4785 type: @4786 srcp: easy.h:28 chan: @4787 body: undefined link: extern @4754 tree_list valu: @3158 chan: @146 @4755 tree_list valu: @3158 chan: @146 @4756 identifier_node strg: __builtin_va_start lngt: 18 @4757 function_decl name: @4788 mngl: @4789 type: @3404 srcp: :0 chan: @4790 body: undefined link: extern @4758 tree_list purp: @4759 valu: @4761 chan: @4791 @4759 identifier_node strg: CURLE_SSL_SHUTDOWN_FAILED lngt: 25 @4760 const_decl name: @4792 type: @3583 srcp: curl.h:505 chan: @4793 cnst: @4794 @4761 integer_cst type: @3 low : 80 @4762 tree_list purp: @4763 valu: @4765 chan: @4795 @4763 identifier_node strg: CURLINFO_CONTENT_LENGTH_UPLOAD lngt: 30 @4764 const_decl name: @4796 type: @4404 srcp: curl.h:1973 chan: @4797 cnst: @4798 @4765 integer_cst type: @3 low : 3145744 @4766 identifier_node strg: curl_proxytype lngt: 14 @4767 enumeral_type name: @4735 unql: @4588 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @4610 @4768 type_decl type: @4799 srcp: curl.h:642 chan: @4800 @4769 const_decl name: @4739 type: @4659 srcp: curl.h:2067 chan: @4801 cnst: @2223 @4770 identifier_node strg: CURLSHOPT_SHARE lngt: 15 @4771 const_decl name: @4802 type: @4709 srcp: curl.h:2077 chan: @4803 cnst: @2223 @4772 identifier_node strg: CURLSHE_INVALID lngt: 15 @4773 tree_list purp: @4804 valu: @2321 chan: @4805 @4774 const_decl name: @4782 type: @4748 srcp: curl.h:2094 chan: @4806 cnst: @1760 @4775 tree_list purp: @4802 valu: @2223 chan: @4807 @4776 identifier_node strg: curl_version_info_data lngt: 22 @4777 type_decl name: @4808 type: @4809 srcp: multi.h:55 chan: @4810 @4778 identifier_node strg: age lngt: 3 @4779 field_decl name: @4811 type: @831 scpe: @4745 srcp: curl.h:2110 chan: @4812 size: @19 algn: 64 bpos: @19 @4780 identifier_node strg: CURLversion lngt: 11 @4781 type_decl type: @4745 srcp: curl.h:2108 chan: @4744 @4782 identifier_node strg: CURLVERSION_FIRST lngt: 17 @4783 tree_list purp: @4813 valu: @1755 chan: @4814 @4784 tree_list valu: @3406 chan: @4815 @4785 identifier_node strg: curl_easy_init lngt: 14 @4786 function_type size: @12 algn: 8 retn: @3406 prms: @146 @4787 function_decl name: @4816 type: @4817 srcp: easy.h:29 chan: @4818 body: undefined link: extern @4788 identifier_node strg: __builtin__exit lngt: 15 @4789 identifier_node strg: _exit lngt: 5 @4790 function_decl name: @4789 type: @3404 srcp: :0 chan: @4819 body: undefined link: extern @4791 tree_list purp: @4792 valu: @4794 chan: @4820 @4792 identifier_node strg: CURLE_AGAIN lngt: 11 @4793 const_decl name: @4821 type: @3583 srcp: curl.h:508 chan: @4822 cnst: @4823 @4794 integer_cst type: @3 low : 81 @4795 tree_list purp: @4796 valu: @4798 chan: @4824 @4796 identifier_node strg: CURLINFO_STARTTRANSFER_TIME lngt: 27 @4797 const_decl name: @4825 type: @4404 srcp: curl.h:1974 chan: @4826 cnst: @4827 @4798 integer_cst type: @3 low : 3145745 @4799 record_type name: @4828 size: @130 algn: 64 tag : struct flds: @4829 @4800 type_decl type: @4830 srcp: curl.h:646 chan: @4831 @4801 const_decl name: @4772 type: @4659 srcp: curl.h:2068 chan: @4832 cnst: @2274 @4802 identifier_node strg: CURLSHOPT_UNSHARE lngt: 17 @4803 const_decl name: @4833 type: @4709 srcp: curl.h:2078 chan: @4834 cnst: @2274 @4804 identifier_node strg: CURLSHE_NOMEM lngt: 13 @4805 tree_list purp: @4835 valu: @2363 chan: @4836 @4806 const_decl name: @4813 type: @4748 srcp: curl.h:2095 chan: @4837 cnst: @1755 @4807 tree_list purp: @4833 valu: @2274 chan: @4838 @4808 identifier_node strg: CURLM lngt: 5 @4809 void_type name: @4777 unql: @124 algn: 8 @4810 type_decl type: @4839 srcp: multi.h:57 chan: @4840 @4811 identifier_node strg: version lngt: 7 @4812 field_decl name: @4841 type: @25 scpe: @4745 srcp: curl.h:2111 chan: @4842 size: @5 algn: 32 bpos: @72 @4813 identifier_node strg: CURLVERSION_SECOND lngt: 18 @4814 tree_list purp: @4843 valu: @2223 chan: @4844 @4815 tree_list valu: @3 chan: @146 @4816 identifier_node strg: curl_easy_setopt lngt: 16 @4817 function_type size: @12 algn: 8 retn: @4494 prms: @4845 @4818 function_decl name: @4846 type: @4847 srcp: easy.h:30 chan: @4848 body: undefined link: extern @4819 function_decl name: @4849 mngl: @4850 type: @3404 srcp: :0 chan: @4851 body: undefined link: extern @4820 tree_list purp: @4821 valu: @4823 chan: @4852 @4821 identifier_node strg: CURLE_SSL_CRL_BADFILE lngt: 21 @4822 const_decl name: @4853 type: @3583 srcp: curl.h:510 chan: @4854 cnst: @4855 @4823 integer_cst type: @3 low : 82 @4824 tree_list purp: @4825 valu: @4827 chan: @4856 @4825 identifier_node strg: CURLINFO_CONTENT_TYPE lngt: 21 @4826 const_decl name: @4857 type: @4404 srcp: curl.h:1975 chan: @4858 cnst: @4859 @4827 integer_cst type: @3 low : 1048594 @4828 identifier_node strg: curl_khkey lngt: 10 @4829 field_decl name: @4860 type: @831 scpe: @4799 srcp: curl.h:643 chan: @4861 size: @19 algn: 64 bpos: @20 @4830 enumeral_type name: @4862 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @4863 @4831 const_decl name: @4864 type: @4830 srcp: curl.h:647 chan: @4865 cnst: @1760 @4832 const_decl name: @4804 type: @4659 srcp: curl.h:2069 chan: @4866 cnst: @2321 @4833 identifier_node strg: CURLSHOPT_LOCKFUNC lngt: 18 @4834 const_decl name: @4867 type: @4709 srcp: curl.h:2079 chan: @4868 cnst: @2321 @4835 identifier_node strg: CURLSHE_NOT_BUILT_IN lngt: 20 @4836 tree_list purp: @4869 valu: @2403 @4837 const_decl name: @4843 type: @4748 srcp: curl.h:2096 chan: @4870 cnst: @2223 @4838 tree_list purp: @4867 valu: @2321 chan: @4871 @4839 enumeral_type size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 csts: @4872 @4840 const_decl name: @4873 type: @4839 srcp: multi.h:58 chan: @4874 cnst: @4875 @4841 identifier_node strg: version_num lngt: 11 @4842 field_decl name: @4876 type: @831 scpe: @4745 srcp: curl.h:2112 chan: @4877 size: @19 algn: 64 bpos: @130 @4843 identifier_node strg: CURLVERSION_THIRD lngt: 17 @4844 tree_list purp: @4878 valu: @2274 chan: @4879 @4845 tree_list valu: @3406 chan: @4880 @4846 identifier_node strg: curl_easy_perform lngt: 17 @4847 function_type size: @12 algn: 8 retn: @4494 prms: @4881 @4848 function_decl name: @4882 type: @4883 srcp: easy.h:31 chan: @4884 body: undefined link: extern @4849 identifier_node strg: __builtin__Exit lngt: 15 @4850 identifier_node strg: _Exit lngt: 5 @4851 function_decl name: @4850 type: @3404 srcp: :0 chan: @4885 body: undefined link: extern @4852 tree_list purp: @4853 valu: @4855 chan: @4886 @4853 identifier_node strg: CURLE_SSL_ISSUER_ERROR lngt: 22 @4854 const_decl name: @4887 type: @3583 srcp: curl.h:512 chan: @4888 cnst: @4889 @4855 integer_cst type: @3 low : 83 @4856 tree_list purp: @4857 valu: @4859 chan: @4890 @4857 identifier_node strg: CURLINFO_REDIRECT_TIME lngt: 22 @4858 const_decl name: @4891 type: @4404 srcp: curl.h:1976 chan: @4892 cnst: @4893 @4859 integer_cst type: @3 low : 3145747 @4860 identifier_node strg: key lngt: 3 @4861 field_decl name: @4894 type: @2068 scpe: @4799 srcp: curl.h:645 chan: @4895 size: @19 algn: 64 bpos: @19 @4862 identifier_node strg: type lngt: 4 @4863 tree_list purp: @4864 valu: @1760 chan: @4896 @4864 identifier_node strg: CURLKHTYPE_UNKNOWN lngt: 18 @4865 const_decl name: @4897 type: @4830 srcp: curl.h:648 chan: @4898 cnst: @1755 @4866 const_decl name: @4835 type: @4659 srcp: curl.h:2070 chan: @4899 cnst: @2363 @4867 identifier_node strg: CURLSHOPT_UNLOCKFUNC lngt: 20 @4868 const_decl name: @4900 type: @4709 srcp: curl.h:2080 chan: @4901 cnst: @2363 @4869 identifier_node strg: CURLSHE_LAST lngt: 12 @4870 const_decl name: @4878 type: @4748 srcp: curl.h:2097 chan: @4902 cnst: @2274 @4871 tree_list purp: @4900 valu: @2363 chan: @4903 @4872 tree_list purp: @4873 valu: @4875 chan: @4904 @4873 identifier_node strg: CURLM_CALL_MULTI_PERFORM lngt: 24 @4874 const_decl name: @4905 type: @4839 srcp: multi.h:60 chan: @4906 cnst: @1760 @4875 integer_cst type: @3 high: -1 low : -1 @4876 identifier_node strg: host lngt: 4 @4877 field_decl name: @4907 type: @3 scpe: @4745 srcp: curl.h:2113 chan: @4908 size: @5 algn: 32 bpos: @122 @4878 identifier_node strg: CURLVERSION_FOURTH lngt: 18 @4879 tree_list purp: @4909 valu: @2321 @4880 tree_list valu: @4910 @4881 tree_list valu: @3406 chan: @146 @4882 identifier_node strg: curl_easy_cleanup lngt: 17 @4883 function_type size: @12 algn: 8 retn: @124 prms: @4911 @4884 function_decl name: @4912 type: @4913 srcp: easy.h:46 chan: @4914 body: undefined link: extern @4885 function_decl name: @4915 type: @4916 srcp: :0 chan: @4917 body: undefined link: extern @4886 tree_list purp: @4887 valu: @4889 chan: @4918 @4887 identifier_node strg: CURLE_FTP_PRET_FAILED lngt: 21 @4888 const_decl name: @4919 type: @3583 srcp: curl.h:513 chan: @4920 cnst: @4921 @4889 integer_cst type: @3 low : 84 @4890 tree_list purp: @4891 valu: @4893 chan: @4922 @4891 identifier_node strg: CURLINFO_REDIRECT_COUNT lngt: 23 @4892 const_decl name: @4923 type: @4404 srcp: curl.h:1977 chan: @4924 cnst: @4925 @4893 integer_cst type: @3 low : 2097172 @4894 identifier_node strg: len lngt: 3 @4895 field_decl name: @4926 type: @4830 scpe: @4799 srcp: curl.h:651 size: @5 algn: 32 bpos: @72 @4896 tree_list purp: @4897 valu: @1755 chan: @4927 @4897 identifier_node strg: CURLKHTYPE_RSA1 lngt: 15 @4898 const_decl name: @4928 type: @4830 srcp: curl.h:649 chan: @4929 cnst: @2223 @4899 const_decl name: @4869 type: @4659 srcp: curl.h:2072 chan: @4658 cnst: @2403 @4900 identifier_node strg: CURLSHOPT_USERDATA lngt: 18 @4901 const_decl name: @4930 type: @4709 srcp: curl.h:2083 chan: @4713 cnst: @2403 @4902 const_decl name: @4909 type: @4748 srcp: curl.h:2099 chan: @4747 cnst: @2321 @4903 tree_list purp: @4930 valu: @2403 @4904 tree_list purp: @4905 valu: @1760 chan: @4931 @4905 identifier_node strg: CURLM_OK lngt: 8 @4906 const_decl name: @4932 type: @4839 srcp: multi.h:61 chan: @4933 cnst: @1755 @4907 identifier_node strg: features lngt: 8 @4908 field_decl name: @4934 type: @831 scpe: @4745 srcp: curl.h:2114 chan: @4935 size: @19 algn: 64 bpos: @1799 @4909 identifier_node strg: CURLVERSION_LAST lngt: 16 @4910 enumeral_type name: @4936 unql: @4937 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @4938 @4911 tree_list valu: @3406 chan: @146 @4912 identifier_node strg: curl_easy_getinfo lngt: 17 @4913 function_type size: @12 algn: 8 retn: @4494 prms: @4939 @4914 function_decl name: @4940 type: @4941 srcp: easy.h:61 chan: @4942 body: undefined link: extern @4915 identifier_node strg: __builtin_annotation lngt: 20 @4916 function_type size: @12 algn: 8 retn: @25 prms: @4943 @4917 function_decl name: @4944 type: @4945 srcp: :0 chan: @4946 body: undefined link: extern @4918 tree_list purp: @4919 valu: @4921 chan: @4947 @4919 identifier_node strg: CURLE_RTSP_CSEQ_ERROR lngt: 21 @4920 const_decl name: @4948 type: @3583 srcp: curl.h:514 chan: @4949 cnst: @4950 @4921 integer_cst type: @3 low : 85 @4922 tree_list purp: @4923 valu: @4925 chan: @4951 @4923 identifier_node strg: CURLINFO_PRIVATE lngt: 16 @4924 const_decl name: @4952 type: @4404 srcp: curl.h:1978 chan: @4953 cnst: @4954 @4925 integer_cst type: @3 low : 1048597 @4926 identifier_node strg: keytype lngt: 7 @4927 tree_list purp: @4928 valu: @2223 chan: @4955 @4928 identifier_node strg: CURLKHTYPE_RSA lngt: 14 @4929 const_decl name: @4956 type: @4830 srcp: curl.h:651 chan: @4957 cnst: @2274 @4930 identifier_node strg: CURLSHOPT_LAST lngt: 14 @4931 tree_list purp: @4932 valu: @1755 chan: @4958 @4932 identifier_node strg: CURLM_BAD_HANDLE lngt: 16 @4933 const_decl name: @4959 type: @4839 srcp: multi.h:62 chan: @4960 cnst: @2223 @4934 identifier_node strg: ssl_version lngt: 11 @4935 field_decl name: @4961 type: @16 scpe: @4745 srcp: curl.h:2115 chan: @4962 size: @19 algn: 64 bpos: @1826 @4936 type_decl name: @4963 type: @4910 srcp: curl.h:1539 chan: @4964 @4937 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @4938 @4938 tree_list purp: @4965 valu: @4966 chan: @4967 @4939 tree_list valu: @3406 chan: @4968 @4940 identifier_node strg: curl_easy_duphandle lngt: 19 @4941 function_type size: @12 algn: 8 retn: @3406 prms: @4969 @4942 function_decl name: @4970 type: @4883 srcp: easy.h:74 chan: @4971 body: undefined link: extern @4943 tree_list valu: @25 chan: @4972 @4944 identifier_node strg: __builtin_object_size lngt: 21 @4945 function_type size: @12 algn: 8 retn: @30 prms: @4973 @4946 function_decl name: @4974 mngl: @4975 type: @4976 srcp: :0 chan: @4977 body: undefined link: extern @4947 tree_list purp: @4948 valu: @4950 chan: @4978 @4948 identifier_node strg: CURLE_RTSP_SESSION_ERROR lngt: 24 @4949 const_decl name: @4979 type: @3583 srcp: curl.h:515 chan: @4980 cnst: @4981 @4950 integer_cst type: @3 low : 86 @4951 tree_list purp: @4952 valu: @4954 chan: @4982 @4952 identifier_node strg: CURLINFO_HTTP_CONNECTCODE lngt: 25 @4953 const_decl name: @4983 type: @4404 srcp: curl.h:1979 chan: @4984 cnst: @4985 @4954 integer_cst type: @3 low : 2097174 @4955 tree_list purp: @4956 valu: @2274 @4956 identifier_node strg: CURLKHTYPE_DSS lngt: 14 @4957 type_decl type: @4986 srcp: curl.h:656 chan: @4987 @4958 tree_list purp: @4959 valu: @2223 chan: @4988 @4959 identifier_node strg: CURLM_BAD_EASY_HANDLE lngt: 21 @4960 const_decl name: @4989 type: @4839 srcp: multi.h:63 chan: @4990 cnst: @2274 @4961 identifier_node strg: ssl_version_num lngt: 15 @4962 field_decl name: @4991 type: @831 scpe: @4745 srcp: curl.h:2116 chan: @4992 size: @19 algn: 64 bpos: @1750 @4963 identifier_node strg: CURLoption lngt: 10 @4964 type_decl type: @4993 srcp: curl.h:1584 chan: @4994 @4965 identifier_node strg: CURLOPT_FILE lngt: 12 @4966 integer_cst type: @3 low : 10001 @4967 tree_list purp: @4995 valu: @4996 chan: @4997 @4968 tree_list valu: @4998 @4969 tree_list valu: @3406 chan: @146 @4970 identifier_node strg: curl_easy_reset lngt: 15 @4971 function_decl name: @4999 type: @5000 srcp: easy.h:85 chan: @5001 body: undefined link: extern @4972 tree_list valu: @831 chan: @146 @4973 tree_list valu: @1504 chan: @5002 @4974 identifier_node strg: __builtin___memcpy_chk lngt: 22 @4975 identifier_node strg: __memcpy_chk lngt: 12 @4976 function_type size: @12 algn: 8 retn: @157 prms: @5003 @4977 function_decl name: @4975 type: @4976 srcp: :0 chan: @5004 body: undefined link: extern @4978 tree_list purp: @4979 valu: @4981 chan: @5005 @4979 identifier_node strg: CURLE_FTP_BAD_FILE_LIST lngt: 23 @4980 const_decl name: @5006 type: @3583 srcp: curl.h:516 chan: @5007 cnst: @5008 @4981 integer_cst type: @3 low : 87 @4982 tree_list purp: @4983 valu: @4985 chan: @5009 @4983 identifier_node strg: CURLINFO_HTTPAUTH_AVAIL lngt: 23 @4984 const_decl name: @5010 type: @4404 srcp: curl.h:1980 chan: @5011 cnst: @5012 @4985 integer_cst type: @3 low : 2097175 @4986 enumeral_type name: @5013 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5014 @4987 const_decl name: @5015 type: @4986 srcp: curl.h:657 chan: @5016 cnst: @1760 @4988 tree_list purp: @4989 valu: @2274 chan: @5017 @4989 identifier_node strg: CURLM_OUT_OF_MEMORY lngt: 19 @4990 const_decl name: @5018 type: @4839 srcp: multi.h:64 chan: @5019 cnst: @2321 @4991 identifier_node strg: libz_version lngt: 12 @4992 field_decl name: @5020 type: @5021 scpe: @4745 srcp: curl.h:2118 chan: @5022 size: @19 algn: 64 bpos: @1884 @4993 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5023 @4994 const_decl name: @5024 type: @4993 srcp: curl.h:1585 chan: @5025 cnst: @1760 @4995 identifier_node strg: CURLOPT_URL lngt: 11 @4996 integer_cst type: @3 low : 10002 @4997 tree_list purp: @5026 valu: @2274 chan: @5027 @4998 enumeral_type name: @5028 unql: @4404 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @4421 @4999 identifier_node strg: curl_easy_recv lngt: 14 @5000 function_type size: @12 algn: 8 retn: @4494 prms: @5029 @5001 function_decl name: @5030 type: @5031 srcp: easy.h:96 chan: @5032 body: undefined link: extern @5002 tree_list valu: @3 chan: @146 @5003 tree_list valu: @157 chan: @5033 @5004 function_decl name: @5034 mngl: @5035 type: @4976 srcp: :0 chan: @5036 body: undefined link: extern @5005 tree_list purp: @5006 valu: @5008 chan: @5037 @5006 identifier_node strg: CURLE_CHUNK_FAILED lngt: 18 @5007 const_decl name: @5038 type: @3583 srcp: curl.h:518 chan: @4509 cnst: @5039 @5008 integer_cst type: @3 low : 88 @5009 tree_list purp: @5010 valu: @5012 chan: @5040 @5010 identifier_node strg: CURLINFO_PROXYAUTH_AVAIL lngt: 24 @5011 const_decl name: @5041 type: @4404 srcp: curl.h:1981 chan: @5042 cnst: @5043 @5012 integer_cst type: @3 low : 2097176 @5013 identifier_node strg: curl_khstat lngt: 11 @5014 tree_list purp: @5015 valu: @1760 chan: @5044 @5015 identifier_node strg: CURLKHSTAT_FINE_ADD_TO_FILE lngt: 27 @5016 const_decl name: @5045 type: @4986 srcp: curl.h:658 chan: @5046 cnst: @1755 @5017 tree_list purp: @5018 valu: @2321 chan: @5047 @5018 identifier_node strg: CURLM_INTERNAL_ERROR lngt: 20 @5019 const_decl name: @5048 type: @4839 srcp: multi.h:65 chan: @5049 cnst: @2363 @5020 identifier_node strg: protocols lngt: 9 @5021 pointer_type size: @19 algn: 64 ptd : @3736 @5022 field_decl name: @5050 type: @831 scpe: @4745 srcp: curl.h:2121 chan: @5051 size: @19 algn: 64 bpos: @1911 @5023 tree_list purp: @5024 valu: @1760 chan: @5052 @5024 identifier_node strg: CURL_HTTP_VERSION_NONE lngt: 22 @5025 const_decl name: @5053 type: @4993 srcp: curl.h:1588 chan: @5054 cnst: @1755 @5026 identifier_node strg: CURLOPT_PORT lngt: 12 @5027 tree_list purp: @5055 valu: @5056 chan: @5057 @5028 type_decl name: @5058 type: @4998 srcp: curl.h:2002 chan: @5059 @5029 tree_list valu: @3406 chan: @5060 @5030 identifier_node strg: curl_easy_send lngt: 14 @5031 function_type size: @12 algn: 8 retn: @4494 prms: @5061 @5032 function_decl name: @5062 type: @5063 srcp: multi.h:99 chan: @5064 body: undefined link: extern @5033 tree_list valu: @1504 chan: @5065 @5034 identifier_node strg: __builtin___memmove_chk lngt: 23 @5035 identifier_node strg: __memmove_chk lngt: 13 @5036 function_decl name: @5035 type: @4976 srcp: :0 chan: @5066 body: undefined link: extern @5037 tree_list purp: @5038 valu: @5039 @5038 identifier_node strg: CURL_LAST lngt: 9 @5039 integer_cst type: @3 low : 89 @5040 tree_list purp: @5041 valu: @5043 chan: @5067 @5041 identifier_node strg: CURLINFO_OS_ERRNO lngt: 17 @5042 const_decl name: @5068 type: @4404 srcp: curl.h:1982 chan: @5069 cnst: @5070 @5043 integer_cst type: @3 low : 2097177 @5044 tree_list purp: @5045 valu: @1755 chan: @5071 @5045 identifier_node strg: CURLKHSTAT_FINE lngt: 15 @5046 const_decl name: @5072 type: @4986 srcp: curl.h:659 chan: @5073 cnst: @2223 @5047 tree_list purp: @5048 valu: @2363 chan: @5074 @5048 identifier_node strg: CURLM_BAD_SOCKET lngt: 16 @5049 const_decl name: @5075 type: @4839 srcp: multi.h:66 chan: @5076 cnst: @2403 @5050 identifier_node strg: ares lngt: 4 @5051 field_decl name: @5077 type: @3 scpe: @4745 srcp: curl.h:2122 chan: @5078 size: @5 algn: 32 bpos: @1944 @5052 tree_list purp: @5053 valu: @1755 chan: @5079 @5053 identifier_node strg: CURL_HTTP_VERSION_1_0 lngt: 21 @5054 const_decl name: @5080 type: @4993 srcp: curl.h:1589 chan: @5081 cnst: @2223 @5055 identifier_node strg: CURLOPT_PROXY lngt: 13 @5056 integer_cst type: @3 low : 10004 @5057 tree_list purp: @5082 valu: @5083 chan: @5084 @5058 identifier_node strg: CURLINFO lngt: 8 @5059 type_decl type: @5085 srcp: curl.h:2008 chan: @5086 @5060 tree_list valu: @157 chan: @5087 @5061 tree_list valu: @3406 chan: @5088 @5062 identifier_node strg: curl_multi_init lngt: 15 @5063 function_type size: @12 algn: 8 retn: @5089 prms: @146 @5064 function_decl name: @5090 type: @5091 srcp: multi.h:109 chan: @5092 body: undefined link: extern @5065 tree_list valu: @30 chan: @5093 @5066 function_decl name: @5094 mngl: @5095 type: @4976 srcp: :0 chan: @5096 body: undefined link: extern @5067 tree_list purp: @5068 valu: @5070 chan: @5097 @5068 identifier_node strg: CURLINFO_NUM_CONNECTS lngt: 21 @5069 const_decl name: @5098 type: @4404 srcp: curl.h:1983 chan: @5099 cnst: @5100 @5070 integer_cst type: @3 low : 2097178 @5071 tree_list purp: @5072 valu: @2223 chan: @5101 @5072 identifier_node strg: CURLKHSTAT_REJECT lngt: 17 @5073 const_decl name: @5102 type: @4986 srcp: curl.h:660 chan: @5103 cnst: @2274 @5074 tree_list purp: @5075 valu: @2403 chan: @5104 @5075 identifier_node strg: CURLM_UNKNOWN_OPTION lngt: 20 @5076 const_decl name: @5105 type: @4839 srcp: multi.h:68 chan: @5106 cnst: @2443 @5077 identifier_node strg: ares_num lngt: 8 @5078 field_decl name: @5107 type: @831 scpe: @4745 srcp: curl.h:2125 chan: @5108 size: @19 algn: 64 bpos: @1980 @5079 tree_list purp: @5080 valu: @2223 chan: @5109 @5080 identifier_node strg: CURL_HTTP_VERSION_1_1 lngt: 21 @5081 const_decl name: @5110 type: @4993 srcp: curl.h:1592 chan: @5111 cnst: @2274 @5082 identifier_node strg: CURLOPT_USERPWD lngt: 15 @5083 integer_cst type: @3 low : 10005 @5084 tree_list purp: @5112 valu: @5113 chan: @5114 @5085 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5115 @5086 const_decl name: @5116 type: @5085 srcp: curl.h:2009 chan: @5117 cnst: @1760 @5087 tree_list valu: @2068 chan: @5118 @5088 tree_list valu: @2128 chan: @5119 @5089 pointer_type size: @19 algn: 64 ptd : @4809 @5090 identifier_node strg: curl_multi_add_handle lngt: 21 @5091 function_type size: @12 algn: 8 retn: @5120 prms: @5121 @5092 function_decl name: @5122 type: @5091 srcp: multi.h:119 chan: @5123 body: undefined link: extern @5093 tree_list valu: @30 chan: @146 @5094 identifier_node strg: __builtin___mempcpy_chk lngt: 23 @5095 identifier_node strg: __mempcpy_chk lngt: 13 @5096 function_decl name: @5095 type: @4976 srcp: :0 chan: @5124 body: undefined link: extern @5097 tree_list purp: @5098 valu: @5100 chan: @5125 @5098 identifier_node strg: CURLINFO_SSL_ENGINES lngt: 20 @5099 const_decl name: @5126 type: @4404 srcp: curl.h:1984 chan: @5127 cnst: @5128 @5100 integer_cst type: @3 low : 4194331 @5101 tree_list purp: @5102 valu: @2274 chan: @5129 @5102 identifier_node strg: CURLKHSTAT_DEFER lngt: 16 @5103 const_decl name: @5130 type: @4986 srcp: curl.h:664 chan: @5131 cnst: @2321 @5104 tree_list purp: @5105 valu: @2443 @5105 identifier_node strg: CURLM_LAST lngt: 10 @5106 type_decl name: @5132 type: @5120 srcp: multi.h:68 chan: @5133 @5107 identifier_node strg: libidn lngt: 6 @5108 field_decl name: @5134 type: @3 scpe: @4745 srcp: curl.h:2130 chan: @5135 size: @5 algn: 32 bpos: @2514 @5109 tree_list purp: @5110 valu: @2274 @5110 identifier_node strg: CURL_HTTP_VERSION_LAST lngt: 22 @5111 type_decl type: @5136 srcp: curl.h:1597 chan: @5137 @5112 identifier_node strg: CURLOPT_PROXYUSERPWD lngt: 20 @5113 integer_cst type: @3 low : 10006 @5114 tree_list purp: @5138 valu: @5139 chan: @5140 @5115 tree_list purp: @5116 valu: @1760 chan: @5141 @5116 identifier_node strg: CURLCLOSEPOLICY_NONE lngt: 20 @5117 const_decl name: @5142 type: @5085 srcp: curl.h:2011 chan: @5143 cnst: @1755 @5118 tree_list valu: @3719 chan: @146 @5119 tree_list valu: @2068 chan: @5144 @5120 enumeral_type name: @5106 unql: @4839 size: @5 algn: 32 prec: 32 sign: signed min : @6 max : @7 csts: @4872 @5121 tree_list valu: @5089 chan: @5145 @5122 identifier_node strg: curl_multi_remove_handle lngt: 24 @5123 function_decl name: @5146 type: @5147 srcp: multi.h:134 chan: @5148 body: undefined link: extern @5124 function_decl name: @5149 mngl: @5150 type: @5151 srcp: :0 chan: @5152 body: undefined link: extern @5125 tree_list purp: @5126 valu: @5128 chan: @5153 @5126 identifier_node strg: CURLINFO_COOKIELIST lngt: 19 @5127 const_decl name: @5154 type: @4404 srcp: curl.h:1985 chan: @5155 cnst: @5156 @5128 integer_cst type: @3 low : 4194332 @5129 tree_list purp: @5130 valu: @2321 @5130 identifier_node strg: CURLKHSTAT_LAST lngt: 15 @5131 type_decl type: @5157 srcp: curl.h:667 chan: @5158 @5132 identifier_node strg: CURLMcode lngt: 9 @5133 type_decl type: @5159 srcp: multi.h:75 chan: @5160 @5134 identifier_node strg: iconv_ver_num lngt: 13 @5135 field_decl name: @5161 type: @831 scpe: @4745 srcp: curl.h:2132 size: @19 algn: 64 bpos: @1927 @5136 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5162 @5137 const_decl name: @5163 type: @5136 srcp: curl.h:1598 chan: @5164 cnst: @1760 @5138 identifier_node strg: CURLOPT_RANGE lngt: 13 @5139 integer_cst type: @3 low : 10007 @5140 tree_list purp: @5165 valu: @5166 chan: @5167 @5141 tree_list purp: @5142 valu: @1755 chan: @5168 @5142 identifier_node strg: CURLCLOSEPOLICY_OLDEST lngt: 22 @5143 const_decl name: @5169 type: @5085 srcp: curl.h:2012 chan: @5170 cnst: @2223 @5144 tree_list valu: @3719 chan: @146 @5145 tree_list valu: @3406 chan: @146 @5146 identifier_node strg: curl_multi_fdset lngt: 16 @5147 function_type size: @12 algn: 8 retn: @5120 prms: @5171 @5148 function_decl name: @5172 type: @5173 srcp: multi.h:153 chan: @5174 body: undefined link: extern @5149 identifier_node strg: __builtin___memset_chk lngt: 22 @5150 identifier_node strg: __memset_chk lngt: 12 @5151 function_type size: @12 algn: 8 retn: @157 prms: @5175 @5152 function_decl name: @5150 type: @5151 srcp: :0 chan: @5176 body: undefined link: extern @5153 tree_list purp: @5154 valu: @5156 chan: @5177 @5154 identifier_node strg: CURLINFO_LASTSOCKET lngt: 19 @5155 const_decl name: @5178 type: @4404 srcp: curl.h:1986 chan: @5179 cnst: @5180 @5156 integer_cst type: @3 low : 2097181 @5157 enumeral_type name: @5181 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5182 @5158 const_decl name: @5183 type: @5157 srcp: curl.h:668 chan: @5184 cnst: @1760 @5159 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5185 @5160 const_decl name: @5186 type: @5159 srcp: multi.h:76 chan: @5187 cnst: @1760 @5161 identifier_node strg: libssh_version lngt: 14 @5162 tree_list purp: @5163 valu: @1760 chan: @5188 @5163 identifier_node strg: CURL_RTSPREQ_NONE lngt: 17 @5164 const_decl name: @5189 type: @5136 srcp: curl.h:1599 chan: @5190 cnst: @1755 @5165 identifier_node strg: CURLOPT_INFILE lngt: 14 @5166 integer_cst type: @3 low : 10009 @5167 tree_list purp: @5191 valu: @5192 chan: @5193 @5168 tree_list purp: @5169 valu: @2223 chan: @5194 @5169 identifier_node strg: CURLCLOSEPOLICY_LEAST_RECENTLY_USED lngt: 35 @5170 const_decl name: @5195 type: @5085 srcp: curl.h:2013 chan: @5196 cnst: @2274 @5171 tree_list valu: @5089 chan: @5197 @5172 identifier_node strg: curl_multi_perform lngt: 18 @5173 function_type size: @12 algn: 8 retn: @5120 prms: @5198 @5174 function_decl name: @5199 type: @5200 srcp: multi.h:165 chan: @5201 body: undefined link: extern @5175 tree_list valu: @157 chan: @5202 @5176 function_decl name: @5203 mngl: @5204 type: @1573 srcp: :0 chan: @5205 body: undefined link: extern @5177 tree_list purp: @5178 valu: @5180 chan: @5206 @5178 identifier_node strg: CURLINFO_FTP_ENTRY_PATH lngt: 23 @5179 const_decl name: @5207 type: @4404 srcp: curl.h:1987 chan: @5208 cnst: @5209 @5180 integer_cst type: @3 low : 1048606 @5181 identifier_node strg: curl_khmatch lngt: 12 @5182 tree_list purp: @5183 valu: @1760 chan: @5210 @5183 identifier_node strg: CURLKHMATCH_OK lngt: 14 @5184 const_decl name: @5211 type: @5157 srcp: curl.h:669 chan: @5212 cnst: @1755 @5185 tree_list purp: @5186 valu: @1760 chan: @5213 @5186 identifier_node strg: CURLMSG_NONE lngt: 12 @5187 const_decl name: @5214 type: @5159 srcp: multi.h:77 chan: @5215 cnst: @1755 @5188 tree_list purp: @5189 valu: @1755 chan: @5216 @5189 identifier_node strg: CURL_RTSPREQ_OPTIONS lngt: 20 @5190 const_decl name: @5217 type: @5136 srcp: curl.h:1600 chan: @5218 cnst: @2223 @5191 identifier_node strg: CURLOPT_ERRORBUFFER lngt: 19 @5192 integer_cst type: @3 low : 10010 @5193 tree_list purp: @5219 valu: @5220 chan: @5221 @5194 tree_list purp: @5195 valu: @2274 chan: @5222 @5195 identifier_node strg: CURLCLOSEPOLICY_LEAST_TRAFFIC lngt: 29 @5196 const_decl name: @5223 type: @5085 srcp: curl.h:2014 chan: @5224 cnst: @2321 @5197 tree_list valu: @4294 chan: @5225 @5198 tree_list valu: @5089 chan: @5226 @5199 identifier_node strg: curl_multi_cleanup lngt: 18 @5200 function_type size: @12 algn: 8 retn: @5120 prms: @5227 @5201 function_decl name: @5228 type: @5229 srcp: multi.h:196 chan: @5230 body: undefined link: extern @5202 tree_list valu: @3 chan: @5231 @5203 identifier_node strg: __builtin___stpcpy_chk lngt: 22 @5204 identifier_node strg: __stpcpy_chk lngt: 12 @5205 function_decl name: @5204 type: @1573 srcp: :0 chan: @5232 body: undefined link: extern @5206 tree_list purp: @5207 valu: @5209 chan: @5233 @5207 identifier_node strg: CURLINFO_REDIRECT_URL lngt: 21 @5208 const_decl name: @5234 type: @4404 srcp: curl.h:1988 chan: @5235 cnst: @5236 @5209 integer_cst type: @3 low : 1048607 @5210 tree_list purp: @5211 valu: @1755 chan: @5237 @5211 identifier_node strg: CURLKHMATCH_MISMATCH lngt: 20 @5212 const_decl name: @5238 type: @5157 srcp: curl.h:670 chan: @5239 cnst: @2223 @5213 tree_list purp: @5214 valu: @1755 chan: @5240 @5214 identifier_node strg: CURLMSG_DONE lngt: 12 @5215 const_decl name: @5241 type: @5159 srcp: multi.h:80 chan: @5242 cnst: @2223 @5216 tree_list purp: @5217 valu: @2223 chan: @5243 @5217 identifier_node strg: CURL_RTSPREQ_DESCRIBE lngt: 21 @5218 const_decl name: @5244 type: @5136 srcp: curl.h:1601 chan: @5245 cnst: @2274 @5219 identifier_node strg: CURLOPT_WRITEFUNCTION lngt: 21 @5220 integer_cst type: @3 low : 20011 @5221 tree_list purp: @5246 valu: @5247 chan: @5248 @5222 tree_list purp: @5223 valu: @2321 chan: @5249 @5223 identifier_node strg: CURLCLOSEPOLICY_SLOWEST lngt: 23 @5224 const_decl name: @5250 type: @5085 srcp: curl.h:2015 chan: @5251 cnst: @2363 @5225 tree_list valu: @4294 chan: @5252 @5226 tree_list valu: @501 chan: @146 @5227 tree_list valu: @5089 chan: @146 @5228 identifier_node strg: curl_multi_info_read lngt: 20 @5229 function_type size: @12 algn: 8 retn: @5253 prms: @5254 @5230 function_decl name: @5255 type: @5256 srcp: multi.h:207 chan: @5257 body: undefined link: extern @5231 tree_list valu: @30 chan: @5258 @5232 function_decl name: @5259 mngl: @5260 type: @1573 srcp: :0 chan: @5261 body: undefined link: extern @5233 tree_list purp: @5234 valu: @5236 chan: @5262 @5234 identifier_node strg: CURLINFO_PRIMARY_IP lngt: 19 @5235 const_decl name: @5263 type: @4404 srcp: curl.h:1989 chan: @5264 cnst: @5265 @5236 integer_cst type: @3 low : 1048608 @5237 tree_list purp: @5238 valu: @2223 chan: @5266 @5238 identifier_node strg: CURLKHMATCH_MISSING lngt: 19 @5239 const_decl name: @5267 type: @5157 srcp: curl.h:672 chan: @5268 cnst: @2274 @5240 tree_list purp: @5241 valu: @2223 @5241 identifier_node strg: CURLMSG_LAST lngt: 12 @5242 type_decl name: @5269 type: @5270 srcp: multi.h:80 chan: @5271 @5243 tree_list purp: @5244 valu: @2274 chan: @5272 @5244 identifier_node strg: CURL_RTSPREQ_ANNOUNCE lngt: 21 @5245 const_decl name: @5273 type: @5136 srcp: curl.h:1602 chan: @5274 cnst: @2321 @5246 identifier_node strg: CURLOPT_READFUNCTION lngt: 20 @5247 integer_cst type: @3 low : 20012 @5248 tree_list purp: @5275 valu: @3759 chan: @5276 @5249 tree_list purp: @5250 valu: @2363 chan: @5277 @5250 identifier_node strg: CURLCLOSEPOLICY_CALLBACK lngt: 24 @5251 const_decl name: @5278 type: @5085 srcp: curl.h:2018 chan: @5279 cnst: @2403 @5252 tree_list valu: @4294 chan: @5280 @5253 pointer_type size: @19 algn: 64 ptd : @5281 @5254 tree_list valu: @5089 chan: @5282 @5255 identifier_node strg: curl_multi_strerror lngt: 19 @5256 function_type size: @12 algn: 8 retn: @831 prms: @5283 @5257 function_decl name: @5284 type: @5285 srcp: multi.h:253 chan: @5286 body: undefined link: extern @5258 tree_list valu: @30 chan: @146 @5259 identifier_node strg: __builtin___strcat_chk lngt: 22 @5260 identifier_node strg: __strcat_chk lngt: 12 @5261 function_decl name: @5260 type: @1573 srcp: :0 chan: @5287 body: undefined link: extern @5262 tree_list purp: @5263 valu: @5265 chan: @5288 @5263 identifier_node strg: CURLINFO_APPCONNECT_TIME lngt: 24 @5264 const_decl name: @5289 type: @4404 srcp: curl.h:1990 chan: @5290 cnst: @5291 @5265 integer_cst type: @3 low : 3145761 @5266 tree_list purp: @5267 valu: @2274 @5267 identifier_node strg: CURLKHMATCH_LAST lngt: 16 @5268 type_decl name: @5292 type: @5293 srcp: curl.h:679 chan: @5294 @5269 identifier_node strg: CURLMSG lngt: 7 @5270 enumeral_type name: @5242 unql: @5159 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5185 @5271 type_decl type: @5295 srcp: multi.h:82 chan: @5296 @5272 tree_list purp: @5273 valu: @2321 chan: @5297 @5273 identifier_node strg: CURL_RTSPREQ_SETUP lngt: 18 @5274 const_decl name: @5298 type: @5136 srcp: curl.h:1603 chan: @5299 cnst: @2363 @5275 identifier_node strg: CURLOPT_TIMEOUT lngt: 15 @5276 tree_list purp: @5300 valu: @3772 chan: @5301 @5277 tree_list purp: @5278 valu: @2403 @5278 identifier_node strg: CURLCLOSEPOLICY_LAST lngt: 20 @5279 type_decl name: @5302 type: @5303 srcp: curl.h:2018 chan: @5304 @5280 tree_list valu: @501 chan: @146 @5281 record_type name: @5305 unql: @5295 size: @130 algn: 64 tag : struct flds: @5306 @5282 tree_list valu: @501 chan: @146 @5283 tree_list valu: @5120 chan: @146 @5284 identifier_node strg: curl_multi_socket lngt: 17 @5285 function_type size: @12 algn: 8 retn: @5120 prms: @5307 @5286 function_decl name: @5308 type: @5309 srcp: multi.h:258 chan: @5310 body: undefined link: extern @5287 function_decl name: @5311 mngl: @5312 type: @1573 srcp: :0 chan: @5313 body: undefined link: extern @5288 tree_list purp: @5289 valu: @5291 chan: @5314 @5289 identifier_node strg: CURLINFO_CERTINFO lngt: 17 @5290 const_decl name: @5315 type: @4404 srcp: curl.h:1991 chan: @5316 cnst: @5317 @5291 integer_cst type: @3 low : 4194338 @5292 identifier_node strg: curl_sshkeycallback lngt: 19 @5293 pointer_type name: @5268 unql: @5318 size: @19 algn: 64 ptd : @5319 @5294 type_decl type: @5320 srcp: curl.h:682 chan: @5321 @5295 record_type name: @5322 size: @130 algn: 64 tag : struct flds: @5306 @5296 type_decl type: @5323 srcp: multi.h:85 chan: @5305 @5297 tree_list purp: @5298 valu: @2363 chan: @5324 @5298 identifier_node strg: CURL_RTSPREQ_PLAY lngt: 17 @5299 const_decl name: @5325 type: @5136 srcp: curl.h:1604 chan: @5326 cnst: @2403 @5300 identifier_node strg: CURLOPT_INFILESIZE lngt: 18 @5301 tree_list purp: @5327 valu: @5328 chan: @5329 @5302 identifier_node strg: curl_closepolicy lngt: 16 @5303 enumeral_type name: @5279 unql: @5085 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5115 @5304 type_decl type: @5330 srcp: curl.h:2032 chan: @5331 @5305 type_decl name: @5322 type: @5281 srcp: multi.h:90 chan: @5332 @5306 field_decl name: @5333 type: @5270 scpe: @5295 srcp: multi.h:83 chan: @5334 size: @5 algn: 32 bpos: @20 @5307 tree_list valu: @5089 chan: @5335 @5308 identifier_node strg: curl_multi_socket_action lngt: 24 @5309 function_type size: @12 algn: 8 retn: @5120 prms: @5336 @5310 function_decl name: @5337 type: @5173 srcp: multi.h:261 chan: @5338 body: undefined link: extern @5311 identifier_node strg: __builtin___strcpy_chk lngt: 22 @5312 identifier_node strg: __strcpy_chk lngt: 12 @5313 function_decl name: @5312 type: @1573 srcp: :0 chan: @5339 body: undefined link: extern @5314 tree_list purp: @5315 valu: @5317 chan: @5340 @5315 identifier_node strg: CURLINFO_CONDITION_UNMET lngt: 24 @5316 const_decl name: @5341 type: @4404 srcp: curl.h:1992 chan: @5342 cnst: @5343 @5317 integer_cst type: @3 low : 2097187 @5318 pointer_type size: @19 algn: 64 ptd : @5319 @5319 function_type size: @12 algn: 8 retn: @3 prms: @5344 @5320 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5345 @5321 const_decl name: @5346 type: @5320 srcp: curl.h:683 chan: @5347 cnst: @1760 @5322 identifier_node strg: CURLMsg lngt: 7 @5323 union_type size: @19 algn: 64 tag : union flds: @5348 @5324 tree_list purp: @5325 valu: @2403 chan: @5349 @5325 identifier_node strg: CURL_RTSPREQ_PAUSE lngt: 18 @5326 const_decl name: @5350 type: @5136 srcp: curl.h:1605 chan: @5351 cnst: @2443 @5327 identifier_node strg: CURLOPT_POSTFIELDS lngt: 18 @5328 integer_cst type: @3 low : 10015 @5329 tree_list purp: @5352 valu: @5353 chan: @5354 @5330 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5355 @5331 const_decl name: @5356 type: @5330 srcp: curl.h:2033 chan: @5357 cnst: @1760 @5332 type_decl name: @5358 type: @5359 srcp: multi.h:235 chan: @5360 @5333 identifier_node strg: msg lngt: 3 @5334 field_decl name: @5361 type: @3406 scpe: @5295 srcp: multi.h:84 chan: @5362 size: @19 algn: 64 bpos: @19 @5335 tree_list valu: @1872 chan: @5363 @5336 tree_list valu: @5089 chan: @5364 @5337 identifier_node strg: curl_multi_socket_all lngt: 21 @5338 function_decl name: @5365 type: @5366 srcp: multi.h:280 chan: @5367 body: undefined link: extern @5339 function_decl name: @5368 mngl: @5369 type: @5370 srcp: :0 chan: @5371 body: undefined link: extern @5340 tree_list purp: @5341 valu: @5343 chan: @5372 @5341 identifier_node strg: CURLINFO_RTSP_SESSION_ID lngt: 24 @5342 const_decl name: @5373 type: @4404 srcp: curl.h:1993 chan: @5374 cnst: @5375 @5343 integer_cst type: @3 low : 1048612 @5344 tree_list valu: @3406 chan: @5376 @5345 tree_list purp: @5346 valu: @1760 chan: @5377 @5346 identifier_node strg: CURLUSESSL_NONE lngt: 15 @5347 const_decl name: @5378 type: @5320 srcp: curl.h:684 chan: @5379 cnst: @1755 @5348 field_decl name: @5380 type: @157 scpe: @5323 srcp: multi.h:86 chan: @5381 size: @19 algn: 64 bpos: @20 @5349 tree_list purp: @5350 valu: @2443 chan: @5382 @5350 identifier_node strg: CURL_RTSPREQ_TEARDOWN lngt: 21 @5351 const_decl name: @5383 type: @5136 srcp: curl.h:1606 chan: @5384 cnst: @2214 @5352 identifier_node strg: CURLOPT_REFERER lngt: 15 @5353 integer_cst type: @3 low : 10016 @5354 tree_list purp: @5385 valu: @5386 chan: @5387 @5355 tree_list purp: @5356 valu: @1760 chan: @5388 @5356 identifier_node strg: CURL_LOCK_DATA_NONE lngt: 19 @5357 const_decl name: @5389 type: @5330 srcp: curl.h:2038 chan: @5390 cnst: @1755 @5358 identifier_node strg: curl_socket_callback lngt: 20 @5359 pointer_type name: @5332 unql: @5391 size: @19 algn: 64 ptd : @5392 @5360 type_decl name: @5393 type: @5394 srcp: multi.h:249 chan: @5395 @5361 identifier_node strg: easy_handle lngt: 11 @5362 field_decl name: @1998 type: @5323 scpe: @5295 srcp: multi.h:88 size: @19 algn: 64 bpos: @72 @5363 tree_list valu: @501 chan: @146 @5364 tree_list valu: @1872 chan: @5396 @5365 identifier_node strg: curl_multi_timeout lngt: 18 @5366 function_type size: @12 algn: 8 retn: @5120 prms: @5397 @5367 function_decl name: @5398 type: @5399 srcp: multi.h:326 chan: @5400 body: undefined link: extern @5368 identifier_node strg: __builtin___strncat_chk lngt: 23 @5369 identifier_node strg: __strncat_chk lngt: 13 @5370 function_type size: @12 algn: 8 retn: @1527 prms: @5401 @5371 function_decl name: @5369 type: @5370 srcp: :0 chan: @5402 body: undefined link: extern @5372 tree_list purp: @5373 valu: @5375 chan: @5403 @5373 identifier_node strg: CURLINFO_RTSP_CLIENT_CSEQ lngt: 25 @5374 const_decl name: @5404 type: @4404 srcp: curl.h:1994 chan: @5405 cnst: @5406 @5375 integer_cst type: @3 low : 2097189 @5376 tree_list valu: @5407 chan: @5408 @5377 tree_list purp: @5378 valu: @1755 chan: @5409 @5378 identifier_node strg: CURLUSESSL_TRY lngt: 14 @5379 const_decl name: @5410 type: @5320 srcp: curl.h:685 chan: @5411 cnst: @2223 @5380 identifier_node strg: whatever lngt: 8 @5381 field_decl name: @5412 type: @4494 scpe: @5323 srcp: multi.h:87 size: @5 algn: 32 bpos: @20 @5382 tree_list purp: @5383 valu: @2214 chan: @5413 @5383 identifier_node strg: CURL_RTSPREQ_GET_PARAMETER lngt: 26 @5384 const_decl name: @5414 type: @5136 srcp: curl.h:1607 chan: @5415 cnst: @3703 @5385 identifier_node strg: CURLOPT_FTPPORT lngt: 15 @5386 integer_cst type: @3 low : 10017 @5387 tree_list purp: @5416 valu: @5417 chan: @5418 @5388 tree_list purp: @5389 valu: @1755 chan: @5419 @5389 identifier_node strg: CURL_LOCK_DATA_SHARE lngt: 20 @5390 const_decl name: @5420 type: @5330 srcp: curl.h:2039 chan: @5421 cnst: @2223 @5391 pointer_type size: @19 algn: 64 ptd : @5392 @5392 function_type size: @12 algn: 8 retn: @3 prms: @5422 @5393 identifier_node strg: curl_multi_timer_callback lngt: 25 @5394 pointer_type name: @5360 unql: @5423 size: @19 algn: 64 ptd : @5424 @5395 type_decl type: @5425 srcp: multi.h:295 chan: @5426 @5396 tree_list valu: @3 chan: @5427 @5397 tree_list valu: @5089 chan: @5428 @5398 identifier_node strg: curl_multi_setopt lngt: 17 @5399 function_type size: @12 algn: 8 retn: @5120 prms: @5429 @5400 function_decl name: @5430 type: @5431 srcp: multi.h:339 chan: @5432 body: undefined link: extern @5401 tree_list valu: @1527 chan: @5433 @5402 function_decl name: @5434 mngl: @5435 type: @5370 srcp: :0 chan: @5436 body: undefined link: extern @5403 tree_list purp: @5404 valu: @5406 chan: @5437 @5404 identifier_node strg: CURLINFO_RTSP_SERVER_CSEQ lngt: 25 @5405 const_decl name: @5438 type: @4404 srcp: curl.h:1995 chan: @5439 cnst: @5440 @5406 integer_cst type: @3 low : 2097190 @5407 pointer_type size: @19 algn: 64 ptd : @5441 @5408 tree_list valu: @5407 chan: @5442 @5409 tree_list purp: @5410 valu: @2223 chan: @5443 @5410 identifier_node strg: CURLUSESSL_CONTROL lngt: 18 @5411 const_decl name: @5444 type: @5320 srcp: curl.h:686 chan: @5445 cnst: @2274 @5412 identifier_node strg: result lngt: 6 @5413 tree_list purp: @5414 valu: @3703 chan: @5446 @5414 identifier_node strg: CURL_RTSPREQ_SET_PARAMETER lngt: 26 @5415 const_decl name: @5447 type: @5136 srcp: curl.h:1608 chan: @5448 cnst: @3718 @5416 identifier_node strg: CURLOPT_USERAGENT lngt: 17 @5417 integer_cst type: @3 low : 10018 @5418 tree_list purp: @5449 valu: @3835 chan: @5450 @5419 tree_list purp: @5420 valu: @2223 chan: @5451 @5420 identifier_node strg: CURL_LOCK_DATA_COOKIE lngt: 21 @5421 const_decl name: @5452 type: @5330 srcp: curl.h:2040 chan: @5453 cnst: @2274 @5422 tree_list valu: @3406 chan: @5454 @5423 pointer_type size: @19 algn: 64 ptd : @5424 @5424 function_type size: @12 algn: 8 retn: @3 prms: @5455 @5425 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5456 @5426 const_decl name: @5457 type: @5425 srcp: multi.h:297 chan: @5458 cnst: @5459 @5427 tree_list valu: @501 chan: @146 @5428 tree_list valu: @5460 chan: @146 @5429 tree_list valu: @5089 chan: @5461 @5430 identifier_node strg: curl_multi_assign lngt: 17 @5431 function_type size: @12 algn: 8 retn: @5120 prms: @5462 @5432 var_decl name: @5463 type: @4910 srcp: enum.c:3 chan: @5464 size: @5 algn: 32 used: 0 @5433 tree_list valu: @831 chan: @5465 @5434 identifier_node strg: __builtin___strncpy_chk lngt: 23 @5435 identifier_node strg: __strncpy_chk lngt: 13 @5436 function_decl name: @5435 type: @5370 srcp: :0 chan: @5466 body: undefined link: extern @5437 tree_list purp: @5438 valu: @5440 chan: @5467 @5438 identifier_node strg: CURLINFO_RTSP_CSEQ_RECV lngt: 23 @5439 const_decl name: @5468 type: @4404 srcp: curl.h:1996 chan: @5469 cnst: @5470 @5440 integer_cst type: @3 low : 2097191 @5441 record_type qual: c name: @4828 unql: @4799 size: @130 algn: 64 tag : struct flds: @4829 @5442 tree_list valu: @5157 chan: @5471 @5443 tree_list purp: @5444 valu: @2274 chan: @5472 @5444 identifier_node strg: CURLUSESSL_ALL lngt: 14 @5445 const_decl name: @5473 type: @5320 srcp: curl.h:688 chan: @5474 cnst: @2321 @5446 tree_list purp: @5447 valu: @3718 chan: @5475 @5447 identifier_node strg: CURL_RTSPREQ_RECORD lngt: 19 @5448 const_decl name: @5476 type: @5136 srcp: curl.h:1609 chan: @5477 cnst: @3732 @5449 identifier_node strg: CURLOPT_LOW_SPEED_LIMIT lngt: 23 @5450 tree_list purp: @5478 valu: @3848 chan: @5479 @5451 tree_list purp: @5452 valu: @2274 chan: @5480 @5452 identifier_node strg: CURL_LOCK_DATA_DNS lngt: 18 @5453 const_decl name: @5481 type: @5330 srcp: curl.h:2041 chan: @5482 cnst: @2321 @5454 tree_list valu: @1872 chan: @5483 @5455 tree_list valu: @5089 chan: @5484 @5456 tree_list purp: @5457 valu: @5459 chan: @5485 @5457 identifier_node strg: CURLMOPT_SOCKETFUNCTION lngt: 23 @5458 const_decl name: @5486 type: @5425 srcp: multi.h:300 chan: @5487 cnst: @4996 @5459 integer_cst type: @3 low : 20001 @5460 pointer_type size: @19 algn: 64 ptd : @16 @5461 tree_list valu: @5488 @5462 tree_list valu: @5089 chan: @5489 @5463 identifier_node strg: opt lngt: 3 @5464 var_decl name: @5490 type: @5491 srcp: enum.c:4 size: @5 algn: 32 used: 0 @5465 tree_list valu: @30 chan: @5492 @5466 function_decl name: @5493 mngl: @5494 type: @5370 srcp: :0 chan: @5495 body: undefined link: extern @5467 tree_list purp: @5468 valu: @5470 chan: @5496 @5468 identifier_node strg: CURLINFO_PRIMARY_PORT lngt: 21 @5469 const_decl name: @5497 type: @4404 srcp: curl.h:1997 chan: @5498 cnst: @5499 @5470 integer_cst type: @3 low : 2097192 @5471 tree_list valu: @157 chan: @146 @5472 tree_list purp: @5473 valu: @2321 @5473 identifier_node strg: CURLUSESSL_LAST lngt: 15 @5474 type_decl name: @5500 type: @5501 srcp: curl.h:688 chan: @5502 @5475 tree_list purp: @5476 valu: @3732 chan: @5503 @5476 identifier_node strg: CURL_RTSPREQ_RECEIVE lngt: 20 @5477 const_decl name: @5504 type: @5136 srcp: curl.h:1611 chan: @5505 cnst: @3747 @5478 identifier_node strg: CURLOPT_LOW_SPEED_TIME lngt: 22 @5479 tree_list purp: @5506 valu: @3861 chan: @5507 @5480 tree_list purp: @5481 valu: @2321 chan: @5508 @5481 identifier_node strg: CURL_LOCK_DATA_SSL_SESSION lngt: 26 @5482 const_decl name: @5509 type: @5330 srcp: curl.h:2042 chan: @5510 cnst: @2363 @5483 tree_list valu: @3 chan: @5511 @5484 tree_list valu: @16 chan: @5512 @5485 tree_list purp: @5486 valu: @4996 chan: @5513 @5486 identifier_node strg: CURLMOPT_SOCKETDATA lngt: 19 @5487 const_decl name: @5514 type: @5425 srcp: multi.h:303 chan: @5515 cnst: @2274 @5488 enumeral_type name: @5516 unql: @5425 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5456 @5489 tree_list valu: @1872 chan: @5517 @5490 identifier_node strg: fopt lngt: 4 @5491 enumeral_type name: @5518 unql: @5519 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5520 @5492 tree_list valu: @30 chan: @146 @5493 identifier_node strg: __builtin___stpncpy_chk lngt: 23 @5494 identifier_node strg: __stpncpy_chk lngt: 13 @5495 function_decl name: @5494 type: @5370 srcp: :0 chan: @5521 body: undefined link: extern @5496 tree_list purp: @5497 valu: @5499 chan: @5522 @5497 identifier_node strg: CURLINFO_LOCAL_IP lngt: 17 @5498 const_decl name: @5523 type: @4404 srcp: curl.h:1998 chan: @5524 cnst: @5525 @5499 integer_cst type: @3 low : 1048617 @5500 identifier_node strg: curl_usessl lngt: 11 @5501 enumeral_type name: @5474 unql: @5320 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5345 @5502 type_decl type: @5526 srcp: curl.h:714 chan: @5527 @5503 tree_list purp: @5504 valu: @3747 @5504 identifier_node strg: CURL_RTSPREQ_LAST lngt: 17 @5505 type_decl type: @5528 srcp: curl.h:1614 chan: @5529 @5506 identifier_node strg: CURLOPT_RESUME_FROM lngt: 19 @5507 tree_list purp: @5530 valu: @5531 chan: @5532 @5508 tree_list purp: @5509 valu: @2363 chan: @5533 @5509 identifier_node strg: CURL_LOCK_DATA_CONNECT lngt: 22 @5510 const_decl name: @5534 type: @5330 srcp: curl.h:2044 chan: @5535 cnst: @2403 @5511 tree_list valu: @157 chan: @5536 @5512 tree_list valu: @157 chan: @146 @5513 tree_list purp: @5514 valu: @2274 chan: @5537 @5514 identifier_node strg: CURLMOPT_PIPELINING lngt: 19 @5515 const_decl name: @5538 type: @5425 srcp: multi.h:306 chan: @5539 cnst: @5540 @5516 type_decl name: @5541 type: @5488 srcp: multi.h:315 @5517 tree_list valu: @157 chan: @146 @5518 type_decl name: @5542 type: @5491 srcp: curl.h:1708 chan: @5543 @5519 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5520 @5520 tree_list purp: @5544 valu: @1760 chan: @5545 @5521 function_decl name: @5546 mngl: @5547 type: @5548 srcp: :0 chan: @5549 body: undefined link: extern @5522 tree_list purp: @5523 valu: @5525 chan: @5550 @5523 identifier_node strg: CURLINFO_LOCAL_PORT lngt: 19 @5524 const_decl name: @5551 type: @4404 srcp: curl.h:2002 chan: @5028 cnst: @4119 @5525 integer_cst type: @3 low : 2097194 @5526 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5552 @5527 const_decl name: @5553 type: @5526 srcp: curl.h:715 chan: @5554 cnst: @1760 @5528 enumeral_type name: @5555 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5556 @5529 const_decl name: @5557 type: @5528 srcp: curl.h:1615 chan: @5558 cnst: @1760 @5530 identifier_node strg: CURLOPT_COOKIE lngt: 14 @5531 integer_cst type: @3 low : 10022 @5532 tree_list purp: @5559 valu: @5560 chan: @5561 @5533 tree_list purp: @5534 valu: @2403 @5534 identifier_node strg: CURL_LOCK_DATA_LAST lngt: 19 @5535 type_decl name: @5562 type: @5563 srcp: curl.h:2044 chan: @5564 @5536 tree_list valu: @157 chan: @146 @5537 tree_list purp: @5538 valu: @5540 chan: @5565 @5538 identifier_node strg: CURLMOPT_TIMERFUNCTION lngt: 22 @5539 const_decl name: @5566 type: @5425 srcp: multi.h:309 chan: @5567 cnst: @5083 @5540 integer_cst type: @3 low : 20004 @5541 identifier_node strg: CURLMoption lngt: 11 @5542 identifier_node strg: CURLformoption lngt: 14 @5543 type_decl type: @5568 srcp: curl.h:1713 chan: @5569 @5544 identifier_node strg: CURLFORM_NOTHING lngt: 16 @5545 tree_list purp: @5570 valu: @1755 chan: @5571 @5546 identifier_node strg: __builtin___snprintf_chk lngt: 24 @5547 identifier_node strg: __snprintf_chk lngt: 14 @5548 function_type size: @12 algn: 8 retn: @3 prms: @5572 @5549 function_decl name: @5547 type: @5573 srcp: _stdio.h:54 chan: @5574 body: undefined link: extern @5550 tree_list purp: @5551 valu: @4119 @5551 identifier_node strg: CURLINFO_LASTONE lngt: 16 @5552 tree_list purp: @5553 valu: @1760 chan: @5575 @5553 identifier_node strg: CURLFTPSSL_CCC_NONE lngt: 19 @5554 const_decl name: @5576 type: @5526 srcp: curl.h:716 chan: @5577 cnst: @1755 @5555 identifier_node strg: CURL_NETRC_OPTION lngt: 17 @5556 tree_list purp: @5557 valu: @1760 chan: @5578 @5557 identifier_node strg: CURL_NETRC_IGNORED lngt: 18 @5558 const_decl name: @5579 type: @5528 srcp: curl.h:1617 chan: @5580 cnst: @1755 @5559 identifier_node strg: CURLOPT_HTTPHEADER lngt: 18 @5560 integer_cst type: @3 low : 10023 @5561 tree_list purp: @5581 valu: @5582 chan: @5583 @5562 identifier_node strg: curl_lock_data lngt: 14 @5563 enumeral_type name: @5535 unql: @5330 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5355 @5564 type_decl type: @5584 srcp: curl.h:2047 chan: @5585 @5565 tree_list purp: @5566 valu: @5083 chan: @5586 @5566 identifier_node strg: CURLMOPT_TIMERDATA lngt: 18 @5567 const_decl name: @5587 type: @5425 srcp: multi.h:312 chan: @5588 cnst: @2403 @5568 record_type name: @5589 size: @72 algn: 64 tag : struct flds: @5590 @5569 type_decl type: @4343 srcp: curl.h:1734 chan: @5591 @5570 identifier_node strg: CURLFORM_COPYNAME lngt: 17 @5571 tree_list purp: @5592 valu: @2223 chan: @5593 @5572 tree_list valu: @1527 chan: @5594 @5573 function_type size: @12 algn: 8 retn: @3 prms: @5595 @5574 function_decl name: @5596 mngl: @5597 type: @5598 srcp: :0 chan: @5599 body: undefined link: extern @5575 tree_list purp: @5576 valu: @1755 chan: @5600 @5576 identifier_node strg: CURLFTPSSL_CCC_PASSIVE lngt: 22 @5577 const_decl name: @5601 type: @5526 srcp: curl.h:717 chan: @5602 cnst: @2223 @5578 tree_list purp: @5579 valu: @1755 chan: @5603 @5579 identifier_node strg: CURL_NETRC_OPTIONAL lngt: 19 @5580 const_decl name: @5604 type: @5528 srcp: curl.h:1619 chan: @5605 cnst: @2223 @5581 identifier_node strg: CURLOPT_HTTPPOST lngt: 16 @5582 integer_cst type: @3 low : 10024 @5583 tree_list purp: @5606 valu: @5607 chan: @5608 @5584 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5609 @5585 const_decl name: @5610 type: @5584 srcp: curl.h:2048 chan: @5611 cnst: @1760 @5586 tree_list purp: @5587 valu: @2403 chan: @5612 @5587 identifier_node strg: CURLMOPT_MAXCONNECTS lngt: 20 @5588 const_decl name: @5613 type: @5425 srcp: multi.h:315 chan: @5516 cnst: @2443 @5589 identifier_node strg: curl_forms lngt: 10 @5590 field_decl name: @5614 type: @5491 scpe: @5568 srcp: curl.h:1714 chan: @5615 size: @5 algn: 32 bpos: @20 @5591 const_decl name: @4359 type: @4343 srcp: curl.h:1735 chan: @5616 cnst: @1760 @5592 identifier_node strg: CURLFORM_PTRNAME lngt: 16 @5593 tree_list purp: @5617 valu: @2274 chan: @5618 @5594 tree_list valu: @30 chan: @5619 @5595 tree_list valu: @1527 chan: @5620 @5596 identifier_node strg: __builtin___sprintf_chk lngt: 23 @5597 identifier_node strg: __sprintf_chk lngt: 13 @5598 function_type size: @12 algn: 8 retn: @3 prms: @5621 @5599 function_decl name: @5597 type: @5622 srcp: _stdio.h:47 chan: @5623 body: undefined link: extern @5600 tree_list purp: @5601 valu: @2223 chan: @5624 @5601 identifier_node strg: CURLFTPSSL_CCC_ACTIVE lngt: 21 @5602 const_decl name: @5625 type: @5526 srcp: curl.h:719 chan: @5626 cnst: @2274 @5603 tree_list purp: @5604 valu: @2223 chan: @5627 @5604 identifier_node strg: CURL_NETRC_REQUIRED lngt: 19 @5605 const_decl name: @5628 type: @5528 srcp: curl.h:1623 chan: @5629 cnst: @2274 @5606 identifier_node strg: CURLOPT_SSLCERT lngt: 15 @5607 integer_cst type: @3 low : 10025 @5608 tree_list purp: @5630 valu: @5631 chan: @5632 @5609 tree_list purp: @5610 valu: @1760 chan: @5633 @5610 identifier_node strg: CURL_LOCK_ACCESS_NONE lngt: 21 @5611 const_decl name: @5634 type: @5584 srcp: curl.h:2049 chan: @5635 cnst: @1755 @5612 tree_list purp: @5613 valu: @2443 @5613 identifier_node strg: CURLMOPT_LASTENTRY lngt: 18 @5614 identifier_node strg: option lngt: 6 @5615 field_decl name: @5636 type: @831 scpe: @5568 srcp: curl.h:1715 size: @19 algn: 64 bpos: @19 @5616 const_decl name: @4374 type: @4343 srcp: curl.h:1737 chan: @5637 cnst: @1755 @5617 identifier_node strg: CURLFORM_NAMELENGTH lngt: 19 @5618 tree_list purp: @5638 valu: @2321 chan: @5639 @5619 tree_list valu: @3 chan: @5640 @5620 tree_list valu: @2068 chan: @5641 @5621 tree_list valu: @1527 chan: @5642 @5622 function_type size: @12 algn: 8 retn: @3 prms: @5643 @5623 function_decl name: @5644 mngl: @5645 type: @5646 srcp: :0 chan: @5647 body: undefined link: extern @5624 tree_list purp: @5625 valu: @2274 @5625 identifier_node strg: CURLFTPSSL_CCC_LAST lngt: 19 @5626 type_decl name: @5648 type: @5649 srcp: curl.h:719 chan: @5650 @5627 tree_list purp: @5628 valu: @2274 @5628 identifier_node strg: CURL_NETRC_LAST lngt: 15 @5629 type_decl type: @5651 srcp: curl.h:1625 chan: @5652 @5630 identifier_node strg: CURLOPT_KEYPASSWD lngt: 17 @5631 integer_cst type: @3 low : 10026 @5632 tree_list purp: @5653 valu: @3934 chan: @5654 @5633 tree_list purp: @5634 valu: @1755 chan: @5655 @5634 identifier_node strg: CURL_LOCK_ACCESS_SHARED lngt: 23 @5635 const_decl name: @5656 type: @5584 srcp: curl.h:2050 chan: @5657 cnst: @2223 @5636 identifier_node strg: value lngt: 5 @5637 const_decl name: @4390 type: @4343 srcp: curl.h:1738 chan: @5658 cnst: @2223 @5638 identifier_node strg: CURLFORM_COPYCONTENTS lngt: 21 @5639 tree_list purp: @5659 valu: @2363 chan: @5660 @5640 tree_list valu: @30 chan: @5661 @5641 tree_list valu: @3 chan: @5662 @5642 tree_list valu: @3 chan: @5663 @5643 tree_list valu: @1527 chan: @5664 @5644 identifier_node strg: __builtin___vsnprintf_chk lngt: 25 @5645 identifier_node strg: __vsnprintf_chk lngt: 15 @5646 function_type size: @12 algn: 8 retn: @3 prms: @5665 @5647 function_decl name: @5645 type: @5666 srcp: _stdio.h:69 chan: @5667 body: undefined link: extern @5648 identifier_node strg: curl_ftpccc lngt: 11 @5649 enumeral_type name: @5626 unql: @5526 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5552 @5650 type_decl type: @5668 srcp: curl.h:722 chan: @5669 @5651 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5670 @5652 const_decl name: @5671 type: @5651 srcp: curl.h:1626 chan: @5672 cnst: @1760 @5653 identifier_node strg: CURLOPT_CRLF lngt: 12 @5654 tree_list purp: @5673 valu: @5674 chan: @5675 @5655 tree_list purp: @5656 valu: @2223 chan: @5676 @5656 identifier_node strg: CURL_LOCK_ACCESS_SINGLE lngt: 23 @5657 const_decl name: @5677 type: @5584 srcp: curl.h:2052 chan: @5678 cnst: @2274 @5658 const_decl name: @4406 type: @4343 srcp: curl.h:1739 chan: @5679 cnst: @2274 @5659 identifier_node strg: CURLFORM_PTRCONTENTS lngt: 20 @5660 tree_list purp: @5680 valu: @2403 chan: @5681 @5661 tree_list valu: @831 @5662 tree_list valu: @2068 chan: @5682 @5663 tree_list valu: @30 chan: @5683 @5664 tree_list valu: @3 chan: @5684 @5665 tree_list valu: @1527 chan: @5685 @5666 function_type size: @12 algn: 8 retn: @3 prms: @5686 @5667 function_decl name: @5687 mngl: @5688 type: @5689 srcp: :0 chan: @5690 body: undefined link: extern @5668 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5691 @5669 const_decl name: @5692 type: @5668 srcp: curl.h:723 chan: @5693 cnst: @1760 @5670 tree_list purp: @5671 valu: @1760 chan: @5694 @5671 identifier_node strg: CURL_SSLVERSION_DEFAULT lngt: 23 @5672 const_decl name: @5695 type: @5651 srcp: curl.h:1627 chan: @5696 cnst: @1755 @5673 identifier_node strg: CURLOPT_QUOTE lngt: 13 @5674 integer_cst type: @3 low : 10028 @5675 tree_list purp: @5697 valu: @5698 chan: @5699 @5676 tree_list purp: @5677 valu: @2274 @5677 identifier_node strg: CURL_LOCK_ACCESS_LAST lngt: 21 @5678 type_decl name: @5700 type: @5701 srcp: curl.h:2052 chan: @5702 @5679 const_decl name: @4424 type: @4343 srcp: curl.h:1740 chan: @5703 cnst: @2321 @5680 identifier_node strg: CURLFORM_CONTENTSLENGTH lngt: 23 @5681 tree_list purp: @5704 valu: @2443 chan: @5705 @5682 tree_list valu: @831 @5683 tree_list valu: @831 @5684 tree_list valu: @2068 chan: @5706 @5685 tree_list valu: @30 chan: @5707 @5686 tree_list valu: @1527 chan: @5708 @5687 identifier_node strg: __builtin___vsprintf_chk lngt: 24 @5688 identifier_node strg: __vsprintf_chk lngt: 14 @5689 function_type size: @12 algn: 8 retn: @3 prms: @5709 @5690 function_decl name: @5688 type: @5710 srcp: _stdio.h:62 chan: @5711 body: undefined link: extern @5691 tree_list purp: @5692 valu: @1760 chan: @5712 @5692 identifier_node strg: CURLFTPAUTH_DEFAULT lngt: 19 @5693 const_decl name: @5713 type: @5668 srcp: curl.h:724 chan: @5714 cnst: @1755 @5694 tree_list purp: @5695 valu: @1755 chan: @5715 @5695 identifier_node strg: CURL_SSLVERSION_TLSv1 lngt: 21 @5696 const_decl name: @5716 type: @5651 srcp: curl.h:1628 chan: @5717 cnst: @2223 @5697 identifier_node strg: CURLOPT_WRITEHEADER lngt: 19 @5698 integer_cst type: @3 low : 10029 @5699 tree_list purp: @5718 valu: @5719 chan: @5720 @5700 identifier_node strg: curl_lock_access lngt: 16 @5701 enumeral_type name: @5678 unql: @5584 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5609 @5702 type_decl name: @5721 type: @5722 srcp: curl.h:2057 chan: @5723 @5703 const_decl name: @4444 type: @4343 srcp: curl.h:1741 chan: @5724 cnst: @2363 @5704 identifier_node strg: CURLFORM_FILECONTENT lngt: 20 @5705 tree_list purp: @5725 valu: @2214 chan: @5726 @5706 tree_list valu: @831 @5707 tree_list valu: @3 chan: @5727 @5708 tree_list valu: @2068 chan: @5728 @5709 tree_list valu: @1527 chan: @5729 @5710 function_type size: @12 algn: 8 retn: @3 prms: @5730 @5711 function_decl name: @5731 mngl: @5732 type: @5733 srcp: :0 chan: @5734 body: undefined link: extern @5712 tree_list purp: @5713 valu: @1755 chan: @5735 @5713 identifier_node strg: CURLFTPAUTH_SSL lngt: 15 @5714 const_decl name: @5736 type: @5668 srcp: curl.h:725 chan: @5737 cnst: @2223 @5715 tree_list purp: @5716 valu: @2223 chan: @5738 @5716 identifier_node strg: CURL_SSLVERSION_SSLv2 lngt: 21 @5717 const_decl name: @5739 type: @5651 srcp: curl.h:1629 chan: @5740 cnst: @2274 @5718 identifier_node strg: CURLOPT_COOKIEFILE lngt: 18 @5719 integer_cst type: @3 low : 10031 @5720 tree_list purp: @5741 valu: @3997 chan: @5742 @5721 identifier_node strg: curl_lock_function lngt: 18 @5722 pointer_type name: @5702 unql: @5743 size: @19 algn: 64 ptd : @5744 @5723 type_decl name: @5745 type: @5746 srcp: curl.h:2060 chan: @4657 @5724 const_decl name: @4461 type: @4343 srcp: curl.h:1742 chan: @5747 cnst: @2403 @5725 identifier_node strg: CURLFORM_ARRAY lngt: 14 @5726 tree_list purp: @5748 valu: @3703 chan: @5749 @5727 tree_list valu: @30 chan: @5750 @5728 tree_list valu: @3 chan: @5751 @5729 tree_list valu: @3 chan: @5752 @5730 tree_list valu: @1527 chan: @5753 @5731 identifier_node strg: __builtin___fprintf_chk lngt: 23 @5732 identifier_node strg: __fprintf_chk lngt: 13 @5733 function_type size: @12 algn: 8 retn: @3 prms: @5754 @5734 function_decl name: @5732 type: @5733 srcp: :0 chan: @5755 body: undefined link: extern @5735 tree_list purp: @5736 valu: @2223 chan: @5756 @5736 identifier_node strg: CURLFTPAUTH_TLS lngt: 15 @5737 const_decl name: @5757 type: @5668 srcp: curl.h:727 chan: @5758 cnst: @2274 @5738 tree_list purp: @5739 valu: @2274 chan: @5759 @5739 identifier_node strg: CURL_SSLVERSION_SSLv3 lngt: 21 @5740 const_decl name: @5760 type: @5651 srcp: curl.h:1632 chan: @5761 cnst: @2321 @5741 identifier_node strg: CURLOPT_SSLVERSION lngt: 18 @5742 tree_list purp: @5762 valu: @4009 chan: @5763 @5743 pointer_type size: @19 algn: 64 ptd : @5744 @5744 function_type size: @12 algn: 8 retn: @124 prms: @5764 @5745 identifier_node strg: curl_unlock_function lngt: 20 @5746 pointer_type name: @5723 unql: @5765 size: @19 algn: 64 ptd : @5766 @5747 const_decl name: @4476 type: @4343 srcp: curl.h:1743 chan: @5767 cnst: @2443 @5748 identifier_node strg: CURLFORM_OBSOLETE lngt: 17 @5749 tree_list purp: @5768 valu: @3718 chan: @5769 @5750 tree_list valu: @831 chan: @5770 @5751 tree_list valu: @2068 chan: @5771 @5752 tree_list valu: @30 chan: @5772 @5753 tree_list valu: @3 chan: @5773 @5754 tree_list valu: @157 chan: @5774 @5755 function_decl name: @5775 mngl: @5776 type: @5777 srcp: :0 chan: @5778 body: undefined link: extern @5756 tree_list purp: @5757 valu: @2274 @5757 identifier_node strg: CURLFTPAUTH_LAST lngt: 16 @5758 type_decl name: @5779 type: @5780 srcp: curl.h:727 chan: @5781 @5759 tree_list purp: @5760 valu: @2321 @5760 identifier_node strg: CURL_SSLVERSION_LAST lngt: 20 @5761 type_decl type: @5782 srcp: curl.h:1634 chan: @5783 @5762 identifier_node strg: CURLOPT_TIMECONDITION lngt: 21 @5763 tree_list purp: @5784 valu: @4022 chan: @5785 @5764 tree_list valu: @3406 chan: @5786 @5765 pointer_type size: @19 algn: 64 ptd : @5766 @5766 function_type size: @12 algn: 8 retn: @124 prms: @5787 @5767 const_decl name: @4492 type: @4343 srcp: curl.h:1746 chan: @4342 cnst: @2214 @5768 identifier_node strg: CURLFORM_FILE lngt: 13 @5769 tree_list purp: @5788 valu: @3732 chan: @5789 @5770 tree_list valu: @3158 chan: @146 @5771 tree_list valu: @831 chan: @5790 @5772 tree_list valu: @831 chan: @5791 @5773 tree_list valu: @2068 chan: @5792 @5774 tree_list valu: @3 chan: @5793 @5775 identifier_node strg: __builtin___printf_chk lngt: 22 @5776 identifier_node strg: __printf_chk lngt: 12 @5777 function_type size: @12 algn: 8 retn: @3 prms: @3668 @5778 function_decl name: @5776 type: @5777 srcp: :0 chan: @5794 body: undefined link: extern @5779 identifier_node strg: curl_ftpauth lngt: 12 @5780 enumeral_type name: @5758 unql: @5668 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5691 @5781 type_decl type: @5795 srcp: curl.h:730 chan: @5796 @5782 enumeral_type name: @5797 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5798 @5783 const_decl name: @5799 type: @5782 srcp: curl.h:1635 chan: @5800 cnst: @1760 @5784 identifier_node strg: CURLOPT_TIMEVALUE lngt: 17 @5785 tree_list purp: @5801 valu: @5802 chan: @5803 @5786 tree_list valu: @5563 chan: @5804 @5787 tree_list valu: @3406 chan: @5805 @5788 identifier_node strg: CURLFORM_BUFFER lngt: 15 @5789 tree_list purp: @5806 valu: @3747 chan: @5807 @5790 tree_list valu: @3158 chan: @146 @5791 tree_list valu: @3158 chan: @146 @5792 tree_list valu: @831 chan: @5808 @5793 tree_list valu: @831 @5794 function_decl name: @5809 mngl: @5810 type: @5811 srcp: :0 chan: @5812 body: undefined link: extern @5795 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5813 @5796 const_decl name: @5814 type: @5795 srcp: curl.h:731 chan: @5815 cnst: @1760 @5797 identifier_node strg: CURL_TLSAUTH lngt: 12 @5798 tree_list purp: @5799 valu: @1760 chan: @5816 @5799 identifier_node strg: CURL_TLSAUTH_NONE lngt: 17 @5800 const_decl name: @5817 type: @5782 srcp: curl.h:1636 chan: @5818 cnst: @1755 @5801 identifier_node strg: CURLOPT_CUSTOMREQUEST lngt: 21 @5802 integer_cst type: @3 low : 10036 @5803 tree_list purp: @5819 valu: @5820 chan: @5821 @5804 tree_list valu: @5701 chan: @5822 @5805 tree_list valu: @5563 chan: @5823 @5806 identifier_node strg: CURLFORM_BUFFERPTR lngt: 18 @5807 tree_list purp: @5824 valu: @3759 chan: @5825 @5808 tree_list valu: @3158 chan: @146 @5809 identifier_node strg: __builtin___vfprintf_chk lngt: 24 @5810 identifier_node strg: __vfprintf_chk lngt: 14 @5811 function_type size: @12 algn: 8 retn: @3 prms: @5826 @5812 function_decl name: @5810 type: @5811 srcp: :0 chan: @5827 body: undefined link: extern @5813 tree_list purp: @5814 valu: @1760 chan: @5828 @5814 identifier_node strg: CURLFTP_CREATE_DIR_NONE lngt: 23 @5815 const_decl name: @5829 type: @5795 srcp: curl.h:732 chan: @5830 cnst: @1755 @5816 tree_list purp: @5817 valu: @1755 chan: @5831 @5817 identifier_node strg: CURL_TLSAUTH_SRP lngt: 16 @5818 const_decl name: @5832 type: @5782 srcp: curl.h:1638 chan: @5833 cnst: @2223 @5819 identifier_node strg: CURLOPT_STDERR lngt: 14 @5820 integer_cst type: @3 low : 10037 @5821 tree_list purp: @5834 valu: @5835 chan: @5836 @5822 tree_list valu: @157 chan: @146 @5823 tree_list valu: @157 chan: @146 @5824 identifier_node strg: CURLFORM_BUFFERLENGTH lngt: 21 @5825 tree_list purp: @5837 valu: @3772 chan: @5838 @5826 tree_list valu: @157 chan: @5839 @5827 function_decl name: @5840 mngl: @5841 type: @5842 srcp: :0 chan: @5843 body: undefined link: extern @5828 tree_list purp: @5829 valu: @1755 chan: @5844 @5829 identifier_node strg: CURLFTP_CREATE_DIR lngt: 18 @5830 const_decl name: @5845 type: @5795 srcp: curl.h:735 chan: @5846 cnst: @2223 @5831 tree_list purp: @5832 valu: @2223 @5832 identifier_node strg: CURL_TLSAUTH_LAST lngt: 17 @5833 type_decl type: @5847 srcp: curl.h:1652 chan: @5848 @5834 identifier_node strg: CURLOPT_POSTQUOTE lngt: 17 @5835 integer_cst type: @3 low : 10039 @5836 tree_list purp: @5849 valu: @5850 chan: @5851 @5837 identifier_node strg: CURLFORM_CONTENTTYPE lngt: 20 @5838 tree_list purp: @5852 valu: @3785 chan: @5853 @5839 tree_list valu: @3 chan: @5854 @5840 identifier_node strg: __builtin___vprintf_chk lngt: 23 @5841 identifier_node strg: __vprintf_chk lngt: 13 @5842 function_type size: @12 algn: 8 retn: @3 prms: @3680 @5843 function_decl name: @5841 type: @5842 srcp: :0 chan: @5855 body: undefined link: extern @5844 tree_list purp: @5845 valu: @2223 chan: @5856 @5845 identifier_node strg: CURLFTP_CREATE_DIR_RETRY lngt: 24 @5846 const_decl name: @5857 type: @5795 srcp: curl.h:738 chan: @5858 cnst: @2274 @5847 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5859 @5848 const_decl name: @5860 type: @5847 srcp: curl.h:1653 chan: @5861 cnst: @1760 @5849 identifier_node strg: CURLOPT_WRITEINFO lngt: 17 @5850 integer_cst type: @3 low : 10040 @5851 tree_list purp: @5862 valu: @4108 chan: @5863 @5852 identifier_node strg: CURLFORM_CONTENTHEADER lngt: 22 @5853 tree_list purp: @5864 valu: @3798 chan: @5865 @5854 tree_list valu: @831 chan: @5866 @5855 function_decl name: @5867 type: @4247 srcp: :0 chan: @5868 body: undefined link: extern @5856 tree_list purp: @5857 valu: @2274 @5857 identifier_node strg: CURLFTP_CREATE_DIR_LAST lngt: 23 @5858 type_decl name: @5869 type: @5870 srcp: curl.h:738 chan: @5871 @5859 tree_list purp: @5860 valu: @1760 chan: @5872 @5860 identifier_node strg: CURL_TIMECOND_NONE lngt: 18 @5861 const_decl name: @5873 type: @5847 srcp: curl.h:1655 chan: @5874 cnst: @1755 @5862 identifier_node strg: CURLOPT_VERBOSE lngt: 15 @5863 tree_list purp: @5875 valu: @4119 chan: @5876 @5864 identifier_node strg: CURLFORM_FILENAME lngt: 17 @5865 tree_list purp: @5877 valu: @3811 chan: @5878 @5866 tree_list valu: @3158 chan: @146 @5867 identifier_node strg: __sync_fetch_and_add lngt: 20 @5868 function_decl name: @5879 type: @5880 srcp: :0 chan: @5881 body: undefined link: extern @5869 identifier_node strg: curl_ftpcreatedir lngt: 17 @5870 enumeral_type name: @5858 unql: @5795 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5813 @5871 type_decl type: @5882 srcp: curl.h:741 chan: @5883 @5872 tree_list purp: @5873 valu: @1755 chan: @5884 @5873 identifier_node strg: CURL_TIMECOND_IFMODSINCE lngt: 24 @5874 const_decl name: @5885 type: @5847 srcp: curl.h:1656 chan: @5886 cnst: @2223 @5875 identifier_node strg: CURLOPT_HEADER lngt: 14 @5876 tree_list purp: @5887 valu: @4128 chan: @5888 @5877 identifier_node strg: CURLFORM_END lngt: 12 @5878 tree_list purp: @5889 valu: @3823 chan: @5890 @5879 identifier_node strg: __sync_fetch_and_add_1 lngt: 22 @5880 function_type size: @12 algn: 8 retn: @61 prms: @5891 @5881 function_decl name: @5892 type: @5893 srcp: :0 chan: @5894 body: undefined link: extern @5882 enumeral_type size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5895 @5883 const_decl name: @5896 type: @5882 srcp: curl.h:742 chan: @5897 cnst: @1760 @5884 tree_list purp: @5885 valu: @2223 chan: @5898 @5885 identifier_node strg: CURL_TIMECOND_IFUNMODSINCE lngt: 26 @5886 const_decl name: @5899 type: @5847 srcp: curl.h:1657 chan: @5900 cnst: @2274 @5887 identifier_node strg: CURLOPT_NOPROGRESS lngt: 18 @5888 tree_list purp: @5901 valu: @4140 chan: @5902 @5889 identifier_node strg: CURLFORM_OBSOLETE2 lngt: 18 @5890 tree_list purp: @5903 valu: @3835 chan: @5904 @5891 tree_list valu: @5905 chan: @5906 @5892 identifier_node strg: __sync_fetch_and_add_2 lngt: 22 @5893 function_type size: @12 algn: 8 retn: @51 prms: @5907 @5894 function_decl name: @5908 type: @5909 srcp: :0 chan: @5910 body: undefined link: extern @5895 tree_list purp: @5896 valu: @1760 chan: @5911 @5896 identifier_node strg: CURLFTPMETHOD_DEFAULT lngt: 21 @5897 const_decl name: @5912 type: @5882 srcp: curl.h:743 chan: @5913 cnst: @1755 @5898 tree_list purp: @5899 valu: @2274 chan: @5914 @5899 identifier_node strg: CURL_TIMECOND_LASTMOD lngt: 21 @5900 const_decl name: @5915 type: @5847 srcp: curl.h:1660 chan: @5916 cnst: @2321 @5901 identifier_node strg: CURLOPT_NOBODY lngt: 14 @5902 tree_list purp: @5917 valu: @4150 chan: @5918 @5903 identifier_node strg: CURLFORM_STREAM lngt: 15 @5904 tree_list purp: @5919 valu: @3848 @5905 pointer_type size: @19 algn: 64 ptd : @5920 @5906 tree_list valu: @61 chan: @146 @5907 tree_list valu: @5905 chan: @5921 @5908 identifier_node strg: __sync_fetch_and_add_4 lngt: 22 @5909 function_type size: @12 algn: 8 retn: @25 prms: @5922 @5910 function_decl name: @5923 type: @5924 srcp: :0 chan: @5925 body: undefined link: extern @5911 tree_list purp: @5912 valu: @1755 chan: @5926 @5912 identifier_node strg: CURLFTPMETHOD_MULTICWD lngt: 22 @5913 const_decl name: @5927 type: @5882 srcp: curl.h:744 chan: @5928 cnst: @2223 @5914 tree_list purp: @5915 valu: @2321 @5915 identifier_node strg: CURL_TIMECOND_LAST lngt: 18 @5916 type_decl name: @5929 type: @5930 srcp: curl.h:1660 chan: @5931 @5917 identifier_node strg: CURLOPT_FAILONERROR lngt: 19 @5918 tree_list purp: @5932 valu: @4164 chan: @5933 @5919 identifier_node strg: CURLFORM_LASTENTRY lngt: 18 @5920 void_type qual: v name: @121 unql: @124 algn: 8 @5921 tree_list valu: @51 chan: @146 @5922 tree_list valu: @5905 chan: @5934 @5923 identifier_node strg: __sync_fetch_and_add_8 lngt: 22 @5924 function_type size: @12 algn: 8 retn: @30 prms: @5935 @5925 function_decl name: @5936 type: @5937 srcp: :0 chan: @5938 body: undefined link: extern @5926 tree_list purp: @5927 valu: @2223 chan: @5939 @5927 identifier_node strg: CURLFTPMETHOD_NOCWD lngt: 19 @5928 const_decl name: @5940 type: @5882 srcp: curl.h:745 chan: @5941 cnst: @2274 @5929 identifier_node strg: curl_TimeCond lngt: 13 @5930 enumeral_type name: @5916 unql: @5847 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5859 @5931 type_decl type: @5519 srcp: curl.h:1680 chan: @5942 @5932 identifier_node strg: CURLOPT_UPLOAD lngt: 14 @5933 tree_list purp: @5943 valu: @4178 chan: @5944 @5934 tree_list valu: @25 chan: @146 @5935 tree_list valu: @5905 chan: @5945 @5936 identifier_node strg: __sync_fetch_and_add_16 lngt: 23 @5937 function_type size: @12 algn: 8 retn: @88 prms: @5946 @5938 function_decl name: @5947 type: @4247 srcp: :0 chan: @5948 body: undefined link: extern @5939 tree_list purp: @5940 valu: @2274 chan: @5949 @5940 identifier_node strg: CURLFTPMETHOD_SINGLECWD lngt: 23 @5941 const_decl name: @5950 type: @5882 srcp: curl.h:747 chan: @5951 cnst: @2321 @5942 const_decl name: @5544 type: @5519 srcp: curl.h:1681 chan: @5952 cnst: @1760 @5943 identifier_node strg: CURLOPT_POST lngt: 12 @5944 tree_list purp: @5953 valu: @4192 chan: @5954 @5945 tree_list valu: @30 chan: @146 @5946 tree_list valu: @5905 chan: @5955 @5947 identifier_node strg: __sync_fetch_and_sub lngt: 20 @5948 function_decl name: @5956 type: @5880 srcp: :0 chan: @5957 body: undefined link: extern @5949 tree_list purp: @5950 valu: @2321 @5950 identifier_node strg: CURLFTPMETHOD_LAST lngt: 18 @5951 type_decl name: @5958 type: @5959 srcp: curl.h:747 chan: @5960 @5952 const_decl name: @5570 type: @5519 srcp: curl.h:1684 chan: @5961 cnst: @1755 @5953 identifier_node strg: CURLOPT_DIRLISTONLY lngt: 19 @5954 tree_list purp: @5962 valu: @4225 chan: @5963 @5955 tree_list valu: @88 chan: @146 @5956 identifier_node strg: __sync_fetch_and_sub_1 lngt: 22 @5957 function_decl name: @5964 type: @5893 srcp: :0 chan: @5965 body: undefined link: extern @5958 identifier_node strg: curl_ftpmethod lngt: 14 @5959 enumeral_type name: @5951 unql: @5882 size: @5 algn: 32 prec: 32 sign: unsigned min : @27 max : @28 csts: @5895 @5960 type_decl type: @4937 srcp: curl.h:809 chan: @5966 @5961 const_decl name: @5592 type: @5519 srcp: curl.h:1685 chan: @5967 cnst: @2223 @5962 identifier_node strg: CURLOPT_APPEND lngt: 14 @5963 tree_list purp: @5968 valu: @4241 chan: @5969 @5964 identifier_node strg: __sync_fetch_and_sub_2 lngt: 22 @5965 function_decl name: @5970 type: @5909 srcp: :0 chan: @5971 body: undefined link: extern @5966 const_decl name: @4965 type: @4937 srcp: curl.h:811 chan: @5972 cnst: @4966 @5967 const_decl name: @5617 type: @5519 srcp: curl.h:1686 chan: @5973 cnst: @2274 @5968 identifier_node strg: CURLOPT_NETRC lngt: 13 @5969 tree_list purp: @5974 valu: @4254 chan: @5975 @5970 identifier_node strg: __sync_fetch_and_sub_4 lngt: 22 @5971 function_decl name: @5976 type: @5924 srcp: :0 chan: @5977 body: undefined link: extern @5972 const_decl name: @4995 type: @4937 srcp: curl.h:814 chan: @5978 cnst: @4996 @5973 const_decl name: @5638 type: @5519 srcp: curl.h:1687 chan: @5979 cnst: @2321 @5974 identifier_node strg: CURLOPT_FOLLOWLOCATION lngt: 22 @5975 tree_list purp: @5980 valu: @4268 chan: @5981 @5976 identifier_node strg: __sync_fetch_and_sub_8 lngt: 22 @5977 function_decl name: @5982 type: @5937 srcp: :0 chan: @5983 body: undefined link: extern @5978 const_decl name: @5026 type: @4937 srcp: curl.h:817 chan: @5984 cnst: @2274 @5979 const_decl name: @5659 type: @5519 srcp: curl.h:1688 chan: @5985 cnst: @2363 @5980 identifier_node strg: CURLOPT_TRANSFERTEXT lngt: 20 @5981 tree_list purp: @5986 valu: @4283 chan: @5987 @5982 identifier_node strg: __sync_fetch_and_sub_16 lngt: 23 @5983 function_decl name: @5988 type: @4247 srcp: :0 chan: @5989 body: undefined link: extern @5984 const_decl name: @5055 type: @4937 srcp: curl.h:820 chan: @5990 cnst: @5056 @5985 const_decl name: @5680 type: @5519 srcp: curl.h:1689 chan: @5991 cnst: @2403 @5986 identifier_node strg: CURLOPT_PUT lngt: 11 @5987 tree_list purp: @5992 valu: @5993 chan: @5994 @5988 identifier_node strg: __sync_fetch_and_or lngt: 19 @5989 function_decl name: @5995 type: @5880 srcp: :0 chan: @5996 body: undefined link: extern @5990 const_decl name: @5082 type: @4937 srcp: curl.h:823 chan: @5997 cnst: @5083 @5991 const_decl name: @5704 type: @5519 srcp: curl.h:1690 chan: @5998 cnst: @2443 @5992 identifier_node strg: CURLOPT_PROGRESSFUNCTION lngt: 24 @5993 integer_cst type: @3 low : 20056 @5994 tree_list purp: @5999 valu: @6000 chan: @6001 @5995 identifier_node strg: __sync_fetch_and_or_1 lngt: 21 @5996 function_decl name: @6002 type: @5893 srcp: :0 chan: @6003 body: undefined link: extern @5997 const_decl name: @5112 type: @4937 srcp: curl.h:826 chan: @6004 cnst: @5113 @5998 const_decl name: @5725 type: @5519 srcp: curl.h:1691 chan: @6005 cnst: @2214 @5999 identifier_node strg: CURLOPT_PROGRESSDATA lngt: 20 @6000 integer_cst type: @3 low : 10057 @6001 tree_list purp: @6006 valu: @4328 chan: @6007 @6002 identifier_node strg: __sync_fetch_and_or_2 lngt: 21 @6003 function_decl name: @6008 type: @5909 srcp: :0 chan: @6009 body: undefined link: extern @6004 const_decl name: @5138 type: @4937 srcp: curl.h:829 chan: @6010 cnst: @5139 @6005 const_decl name: @5748 type: @5519 srcp: curl.h:1692 chan: @6011 cnst: @3703 @6006 identifier_node strg: CURLOPT_AUTOREFERER lngt: 19 @6007 tree_list purp: @6012 valu: @4340 chan: @6013 @6008 identifier_node strg: __sync_fetch_and_or_4 lngt: 21 @6009 function_decl name: @6014 type: @5924 srcp: :0 chan: @6015 body: undefined link: extern @6010 const_decl name: @5165 type: @4937 srcp: curl.h:834 chan: @6016 cnst: @5166 @6011 const_decl name: @5768 type: @5519 srcp: curl.h:1693 chan: @6017 cnst: @3718 @6012 identifier_node strg: CURLOPT_PROXYPORT lngt: 17 @6013 tree_list purp: @6018 valu: @4356 chan: @6019 @6014 identifier_node strg: __sync_fetch_and_or_8 lngt: 21 @6015 function_decl name: @6020 type: @5937 srcp: :0 chan: @6021 body: undefined link: extern @6016 const_decl name: @5191 type: @4937 srcp: curl.h:838 chan: @6022 cnst: @5192 @6017 const_decl name: @5788 type: @5519 srcp: curl.h:1695 chan: @6023 cnst: @3732 @6018 identifier_node strg: CURLOPT_POSTFIELDSIZE lngt: 21 @6019 tree_list purp: @6024 valu: @4370 chan: @6025 @6020 identifier_node strg: __sync_fetch_and_or_16 lngt: 22 @6021 function_decl name: @6026 type: @4247 srcp: :0 chan: @6027 body: undefined link: extern @6022 const_decl name: @5219 type: @4937 srcp: curl.h:842 chan: @6028 cnst: @5220 @6023 const_decl name: @5806 type: @5519 srcp: curl.h:1696 chan: @6029 cnst: @3747 @6024 identifier_node strg: CURLOPT_HTTPPROXYTUNNEL lngt: 23 @6025 tree_list purp: @6030 valu: @6031 chan: @6032 @6026 identifier_node strg: __sync_fetch_and_and lngt: 20 @6027 function_decl name: @6033 type: @5880 srcp: :0 chan: @6034 body: undefined link: extern @6028 const_decl name: @5246 type: @4937 srcp: curl.h:846 chan: @6035 cnst: @5247 @6029 const_decl name: @5824 type: @5519 srcp: curl.h:1697 chan: @6036 cnst: @3759 @6030 identifier_node strg: CURLOPT_INTERFACE lngt: 17 @6031 integer_cst type: @3 low : 10062 @6032 tree_list purp: @6037 valu: @6038 chan: @6039 @6033 identifier_node strg: __sync_fetch_and_and_1 lngt: 22 @6034 function_decl name: @6040 type: @5893 srcp: :0 chan: @6041 body: undefined link: extern @6035 const_decl name: @5275 type: @4937 srcp: curl.h:849 chan: @6042 cnst: @3759 @6036 const_decl name: @5837 type: @5519 srcp: curl.h:1699 chan: @6043 cnst: @3772 @6037 identifier_node strg: CURLOPT_KRBLEVEL lngt: 16 @6038 integer_cst type: @3 low : 10063 @6039 tree_list purp: @6044 valu: @4417 chan: @6045 @6040 identifier_node strg: __sync_fetch_and_and_2 lngt: 22 @6041 function_decl name: @6046 type: @5909 srcp: :0 chan: @6047 body: undefined link: extern @6042 const_decl name: @5300 type: @4937 srcp: curl.h:860 chan: @6048 cnst: @3772 @6043 const_decl name: @5852 type: @5519 srcp: curl.h:1700 chan: @6049 cnst: @3785 @6044 identifier_node strg: CURLOPT_SSL_VERIFYPEER lngt: 22 @6045 tree_list purp: @6050 valu: @6051 chan: @6052 @6046 identifier_node strg: __sync_fetch_and_and_4 lngt: 22 @6047 function_decl name: @6053 type: @5924 srcp: :0 chan: @6054 body: undefined link: extern @6048 const_decl name: @5327 type: @4937 srcp: curl.h:863 chan: @6055 cnst: @5328 @6049 const_decl name: @5864 type: @5519 srcp: curl.h:1701 chan: @6056 cnst: @3798 @6050 identifier_node strg: CURLOPT_CAINFO lngt: 14 @6051 integer_cst type: @3 low : 10065 @6052 tree_list purp: @6057 valu: @4487 chan: @6058 @6053 identifier_node strg: __sync_fetch_and_and_8 lngt: 22 @6054 function_decl name: @6059 type: @5937 srcp: :0 chan: @6060 body: undefined link: extern @6055 const_decl name: @5352 type: @4937 srcp: curl.h:866 chan: @6061 cnst: @5353 @6056 const_decl name: @5877 type: @5519 srcp: curl.h:1702 chan: @6062 cnst: @3811 @6057 identifier_node strg: CURLOPT_MAXREDIRS lngt: 17 @6058 tree_list purp: @6063 valu: @4504 chan: @6064 @6059 identifier_node strg: __sync_fetch_and_and_16 lngt: 23 @6060 function_decl name: @6065 type: @4247 srcp: :0 chan: @6066 body: undefined link: extern @6061 const_decl name: @5385 type: @4937 srcp: curl.h:870 chan: @6067 cnst: @5386 @6062 const_decl name: @5889 type: @5519 srcp: curl.h:1703 chan: @6068 cnst: @3823 @6063 identifier_node strg: CURLOPT_FILETIME lngt: 16 @6064 tree_list purp: @6069 valu: @6070 chan: @6071 @6065 identifier_node strg: __sync_fetch_and_xor lngt: 20 @6066 function_decl name: @6072 type: @5880 srcp: :0 chan: @6073 body: undefined link: extern @6067 const_decl name: @5416 type: @4937 srcp: curl.h:873 chan: @6074 cnst: @5417 @6068 const_decl name: @5903 type: @5519 srcp: curl.h:1705 chan: @6075 cnst: @3835 @6069 identifier_node strg: CURLOPT_TELNETOPTIONS lngt: 21 @6070 integer_cst type: @3 low : 10070 @6071 tree_list purp: @6076 valu: @4538 chan: @6077 @6072 identifier_node strg: __sync_fetch_and_xor_1 lngt: 22 @6073 function_decl name: @6078 type: @5893 srcp: :0 chan: @6079 body: undefined link: extern @6074 const_decl name: @5449 type: @4937 srcp: curl.h:882 chan: @6080 cnst: @3835 @6075 const_decl name: @5919 type: @5519 srcp: curl.h:1708 chan: @5518 cnst: @3848 @6076 identifier_node strg: CURLOPT_MAXCONNECTS lngt: 19 @6077 tree_list purp: @6081 valu: @4556 chan: @6082 @6078 identifier_node strg: __sync_fetch_and_xor_2 lngt: 22 @6079 function_decl name: @6083 type: @5909 srcp: :0 chan: @6084 body: undefined link: extern @6080 const_decl name: @5478 type: @4937 srcp: curl.h:885 chan: @6085 cnst: @3848 @6081 identifier_node strg: CURLOPT_CLOSEPOLICY lngt: 19 @6082 tree_list purp: @6086 valu: @4603 chan: @6087 @6083 identifier_node strg: __sync_fetch_and_xor_4 lngt: 22 @6084 function_decl name: @6088 type: @5924 srcp: :0 chan: @6089 body: undefined link: extern @6085 const_decl name: @5506 type: @4937 srcp: curl.h:893 chan: @6090 cnst: @3861 @6086 identifier_node strg: CURLOPT_FRESH_CONNECT lngt: 21 @6087 tree_list purp: @6091 valu: @4626 chan: @6092 @6088 identifier_node strg: __sync_fetch_and_xor_8 lngt: 22 @6089 function_decl name: @6093 type: @5937 srcp: :0 chan: @6094 body: undefined link: extern @6090 const_decl name: @5530 type: @4937 srcp: curl.h:896 chan: @6095 cnst: @5531 @6091 identifier_node strg: CURLOPT_FORBID_REUSE lngt: 20 @6092 tree_list purp: @6096 valu: @6097 chan: @6098 @6093 identifier_node strg: __sync_fetch_and_xor_16 lngt: 23 @6094 function_decl name: @6099 type: @4247 srcp: :0 chan: @6100 body: undefined link: extern @6095 const_decl name: @5559 type: @4937 srcp: curl.h:899 chan: @6101 cnst: @5560 @6096 identifier_node strg: CURLOPT_RANDOM_FILE lngt: 19 @6097 integer_cst type: @3 low : 10076 @6098 tree_list purp: @6102 valu: @6103 chan: @6104 @6099 identifier_node strg: __sync_fetch_and_nand lngt: 21 @6100 function_decl name: @6105 type: @5880 srcp: :0 chan: @6106 body: undefined link: extern @6101 const_decl name: @5581 type: @4937 srcp: curl.h:902 chan: @6107 cnst: @5582 @6102 identifier_node strg: CURLOPT_EGDSOCKET lngt: 17 @6103 integer_cst type: @3 low : 10077 @6104 tree_list purp: @6108 valu: @4700 chan: @6109 @6105 identifier_node strg: __sync_fetch_and_nand_1 lngt: 23 @6106 function_decl name: @6110 type: @5893 srcp: :0 chan: @6111 body: undefined link: extern @6107 const_decl name: @5606 type: @4937 srcp: curl.h:905 chan: @6112 cnst: @5607 @6108 identifier_node strg: CURLOPT_CONNECTTIMEOUT lngt: 22 @6109 tree_list purp: @6113 valu: @6114 chan: @6115 @6110 identifier_node strg: __sync_fetch_and_nand_2 lngt: 23 @6111 function_decl name: @6116 type: @5909 srcp: :0 chan: @6117 body: undefined link: extern @6112 const_decl name: @5630 type: @4937 srcp: curl.h:908 chan: @6118 cnst: @5631 @6113 identifier_node strg: CURLOPT_HEADERFUNCTION lngt: 22 @6114 integer_cst type: @3 low : 20079 @6115 tree_list purp: @6119 valu: @4761 chan: @6120 @6116 identifier_node strg: __sync_fetch_and_nand_4 lngt: 23 @6117 function_decl name: @6121 type: @5924 srcp: :0 chan: @6122 body: undefined link: extern @6118 const_decl name: @5653 type: @4937 srcp: curl.h:911 chan: @6123 cnst: @3934 @6119 identifier_node strg: CURLOPT_HTTPGET lngt: 15 @6120 tree_list purp: @6124 valu: @4794 chan: @6125 @6121 identifier_node strg: __sync_fetch_and_nand_8 lngt: 23 @6122 function_decl name: @6126 type: @5937 srcp: :0 chan: @6127 body: undefined link: extern @6123 const_decl name: @5673 type: @4937 srcp: curl.h:914 chan: @6128 cnst: @5674 @6124 identifier_node strg: CURLOPT_SSL_VERIFYHOST lngt: 22 @6125 tree_list purp: @6129 valu: @6130 chan: @6131 @6126 identifier_node strg: __sync_fetch_and_nand_16 lngt: 24 @6127 function_decl name: @6132 type: @4247 srcp: :0 chan: @6133 body: undefined link: extern @6128 const_decl name: @5697 type: @4937 srcp: curl.h:918 chan: @6134 cnst: @5698 @6129 identifier_node strg: CURLOPT_COOKIEJAR lngt: 17 @6130 integer_cst type: @3 low : 10082 @6131 tree_list purp: @6135 valu: @6136 chan: @6137 @6132 identifier_node strg: __sync_add_and_fetch lngt: 20 @6133 function_decl name: @6138 type: @5880 srcp: :0 chan: @6139 body: undefined link: extern @6134 const_decl name: @5718 type: @4937 srcp: curl.h:922 chan: @6140 cnst: @5719 @6135 identifier_node strg: CURLOPT_SSL_CIPHER_LIST lngt: 23 @6136 integer_cst type: @3 low : 10083 @6137 tree_list purp: @6141 valu: @4889 chan: @6142 @6138 identifier_node strg: __sync_add_and_fetch_1 lngt: 22 @6139 function_decl name: @6143 type: @5893 srcp: :0 chan: @6144 body: undefined link: extern @6140 const_decl name: @5741 type: @4937 srcp: curl.h:926 chan: @6145 cnst: @3997 @6141 identifier_node strg: CURLOPT_HTTP_VERSION lngt: 20 @6142 tree_list purp: @6146 valu: @4921 chan: @6147 @6143 identifier_node strg: __sync_add_and_fetch_2 lngt: 22 @6144 function_decl name: @6148 type: @5909 srcp: :0 chan: @6149 body: undefined link: extern @6145 const_decl name: @5762 type: @4937 srcp: curl.h:929 chan: @6150 cnst: @4009 @6146 identifier_node strg: CURLOPT_FTP_USE_EPSV lngt: 20 @6147 tree_list purp: @6151 valu: @6152 chan: @6153 @6148 identifier_node strg: __sync_add_and_fetch_4 lngt: 22 @6149 function_decl name: @6154 type: @5924 srcp: :0 chan: @6155 body: undefined link: extern @6150 const_decl name: @5784 type: @4937 srcp: curl.h:933 chan: @6156 cnst: @4022 @6151 identifier_node strg: CURLOPT_SSLCERTTYPE lngt: 19 @6152 integer_cst type: @3 low : 10086 @6153 tree_list purp: @6157 valu: @6158 chan: @6159 @6154 identifier_node strg: __sync_add_and_fetch_8 lngt: 22 @6155 function_decl name: @6160 type: @5937 srcp: :0 chan: @6161 body: undefined link: extern @6156 const_decl name: @5801 type: @4937 srcp: curl.h:941 chan: @6162 cnst: @5802 @6157 identifier_node strg: CURLOPT_SSLKEY lngt: 14 @6158 integer_cst type: @3 low : 10087 @6159 tree_list purp: @6163 valu: @6164 chan: @6165 @6160 identifier_node strg: __sync_add_and_fetch_16 lngt: 23 @6161 function_decl name: @6166 type: @4247 srcp: :0 chan: @6167 body: undefined link: extern @6162 const_decl name: @5819 type: @4937 srcp: curl.h:944 chan: @6168 cnst: @5820 @6163 identifier_node strg: CURLOPT_SSLKEYTYPE lngt: 18 @6164 integer_cst type: @3 low : 10088 @6165 tree_list purp: @6169 valu: @6170 chan: @6171 @6166 identifier_node strg: __sync_sub_and_fetch lngt: 20 @6167 function_decl name: @6172 type: @5880 srcp: :0 chan: @6173 body: undefined link: extern @6168 const_decl name: @5834 type: @4937 srcp: curl.h:949 chan: @6174 cnst: @5835 @6169 identifier_node strg: CURLOPT_SSLENGINE lngt: 17 @6170 integer_cst type: @3 low : 10089 @6171 tree_list purp: @6175 valu: @6176 chan: @6177 @6172 identifier_node strg: __sync_sub_and_fetch_1 lngt: 22 @6173 function_decl name: @6178 type: @5893 srcp: :0 chan: @6179 body: undefined link: extern @6174 const_decl name: @5849 type: @4937 srcp: curl.h:951 chan: @6180 cnst: @5850 @6175 identifier_node strg: CURLOPT_SSLENGINE_DEFAULT lngt: 25 @6176 integer_cst type: @3 low : 90 @6177 tree_list purp: @6181 valu: @6182 chan: @6183 @6178 identifier_node strg: __sync_sub_and_fetch_2 lngt: 22 @6179 function_decl name: @6184 type: @5909 srcp: :0 chan: @6185 body: undefined link: extern @6180 const_decl name: @5862 type: @4937 srcp: curl.h:953 chan: @6186 cnst: @4108 @6181 identifier_node strg: CURLOPT_DNS_USE_GLOBAL_CACHE lngt: 28 @6182 integer_cst type: @3 low : 91 @6183 tree_list purp: @6187 valu: @6188 chan: @6189 @6184 identifier_node strg: __sync_sub_and_fetch_4 lngt: 22 @6185 function_decl name: @6190 type: @5924 srcp: :0 chan: @6191 body: undefined link: extern @6186 const_decl name: @5875 type: @4937 srcp: curl.h:954 chan: @6192 cnst: @4119 @6187 identifier_node strg: CURLOPT_DNS_CACHE_TIMEOUT lngt: 25 @6188 integer_cst type: @3 low : 92 @6189 tree_list purp: @6193 valu: @6194 chan: @6195 @6190 identifier_node strg: __sync_sub_and_fetch_8 lngt: 22 @6191 function_decl name: @6196 type: @5937 srcp: :0 chan: @6197 body: undefined link: extern @6192 const_decl name: @5887 type: @4937 srcp: curl.h:955 chan: @6198 cnst: @4128 @6193 identifier_node strg: CURLOPT_PREQUOTE lngt: 16 @6194 integer_cst type: @3 low : 10093 @6195 tree_list purp: @6199 valu: @6200 chan: @6201 @6196 identifier_node strg: __sync_sub_and_fetch_16 lngt: 23 @6197 function_decl name: @6202 type: @4247 srcp: :0 chan: @6203 body: undefined link: extern @6198 const_decl name: @5901 type: @4937 srcp: curl.h:956 chan: @6204 cnst: @4140 @6199 identifier_node strg: CURLOPT_DEBUGFUNCTION lngt: 21 @6200 integer_cst type: @3 low : 20094 @6201 tree_list purp: @6205 valu: @6206 chan: @6207 @6202 identifier_node strg: __sync_or_and_fetch lngt: 19 @6203 function_decl name: @6208 type: @5880 srcp: :0 chan: @6209 body: undefined link: extern @6204 const_decl name: @5917 type: @4937 srcp: curl.h:957 chan: @6210 cnst: @4150 @6205 identifier_node strg: CURLOPT_DEBUGDATA lngt: 17 @6206 integer_cst type: @3 low : 10095 @6207 tree_list purp: @6211 valu: @6212 chan: @6213 @6208 identifier_node strg: __sync_or_and_fetch_1 lngt: 21 @6209 function_decl name: @6214 type: @5893 srcp: :0 chan: @6215 body: undefined link: extern @6210 const_decl name: @5932 type: @4937 srcp: curl.h:958 chan: @6216 cnst: @4164 @6211 identifier_node strg: CURLOPT_COOKIESESSION lngt: 21 @6212 integer_cst type: @3 low : 96 @6213 tree_list purp: @6217 valu: @6218 chan: @6219 @6214 identifier_node strg: __sync_or_and_fetch_2 lngt: 21 @6215 function_decl name: @6220 type: @5909 srcp: :0 chan: @6221 body: undefined link: extern @6216 const_decl name: @5943 type: @4937 srcp: curl.h:959 chan: @6222 cnst: @4178 @6217 identifier_node strg: CURLOPT_CAPATH lngt: 14 @6218 integer_cst type: @3 low : 10097 @6219 tree_list purp: @6223 valu: @6224 chan: @6225 @6220 identifier_node strg: __sync_or_and_fetch_4 lngt: 21 @6221 function_decl name: @6226 type: @5924 srcp: :0 chan: @6227 body: undefined link: extern @6222 const_decl name: @5953 type: @4937 srcp: curl.h:960 chan: @6228 cnst: @4192 @6223 identifier_node strg: CURLOPT_BUFFERSIZE lngt: 18 @6224 integer_cst type: @3 low : 98 @6225 tree_list purp: @6229 valu: @6230 chan: @6231 @6226 identifier_node strg: __sync_or_and_fetch_8 lngt: 21 @6227 function_decl name: @6232 type: @5937 srcp: :0 chan: @6233 body: undefined link: extern @6228 const_decl name: @5962 type: @4937 srcp: curl.h:962 chan: @6234 cnst: @4225 @6229 identifier_node strg: CURLOPT_NOSIGNAL lngt: 16 @6230 integer_cst type: @3 low : 99 @6231 tree_list purp: @6235 valu: @6236 chan: @6237 @6232 identifier_node strg: __sync_or_and_fetch_16 lngt: 22 @6233 function_decl name: @6238 type: @4247 srcp: :0 chan: @6239 body: undefined link: extern @6234 const_decl name: @5968 type: @4937 srcp: curl.h:966 chan: @6240 cnst: @4241 @6235 identifier_node strg: CURLOPT_SHARE lngt: 13 @6236 integer_cst type: @3 low : 10100 @6237 tree_list purp: @6241 valu: @6242 chan: @6243 @6238 identifier_node strg: __sync_and_and_fetch lngt: 20 @6239 function_decl name: @6244 type: @5880 srcp: :0 chan: @6245 body: undefined link: extern @6240 const_decl name: @5974 type: @4937 srcp: curl.h:968 chan: @6246 cnst: @4254 @6241 identifier_node strg: CURLOPT_PROXYTYPE lngt: 17 @6242 integer_cst type: @3 low : 101 @6243 tree_list purp: @6247 valu: @6248 chan: @6249 @6244 identifier_node strg: __sync_and_and_fetch_1 lngt: 22 @6245 function_decl name: @6250 type: @5893 srcp: :0 chan: @6251 body: undefined link: extern @6246 const_decl name: @5980 type: @4937 srcp: curl.h:970 chan: @6252 cnst: @4268 @6247 identifier_node strg: CURLOPT_ACCEPT_ENCODING lngt: 23 @6248 integer_cst type: @3 low : 10102 @6249 tree_list purp: @6253 valu: @6254 chan: @6255 @6250 identifier_node strg: __sync_and_and_fetch_2 lngt: 22 @6251 function_decl name: @6256 type: @5909 srcp: :0 chan: @6257 body: undefined link: extern @6252 const_decl name: @5986 type: @4937 srcp: curl.h:971 chan: @6258 cnst: @4283 @6253 identifier_node strg: CURLOPT_PRIVATE lngt: 15 @6254 integer_cst type: @3 low : 10103 @6255 tree_list purp: @6259 valu: @6260 chan: @6261 @6256 identifier_node strg: __sync_and_and_fetch_4 lngt: 22 @6257 function_decl name: @6262 type: @5924 srcp: :0 chan: @6263 body: undefined link: extern @6258 const_decl name: @5992 type: @4937 srcp: curl.h:978 chan: @6264 cnst: @5993 @6259 identifier_node strg: CURLOPT_HTTP200ALIASES lngt: 22 @6260 integer_cst type: @3 low : 10104 @6261 tree_list purp: @6265 valu: @6266 chan: @6267 @6262 identifier_node strg: __sync_and_and_fetch_8 lngt: 22 @6263 function_decl name: @6268 type: @5937 srcp: :0 chan: @6269 body: undefined link: extern @6264 const_decl name: @5999 type: @4937 srcp: curl.h:981 chan: @6270 cnst: @6000 @6265 identifier_node strg: CURLOPT_UNRESTRICTED_AUTH lngt: 25 @6266 integer_cst type: @3 low : 105 @6267 tree_list purp: @6271 valu: @6272 chan: @6273 @6268 identifier_node strg: __sync_and_and_fetch_16 lngt: 23 @6269 function_decl name: @6274 type: @4247 srcp: :0 chan: @6275 body: undefined link: extern @6270 const_decl name: @6006 type: @4937 srcp: curl.h:984 chan: @6276 cnst: @4328 @6271 identifier_node strg: CURLOPT_FTP_USE_EPRT lngt: 20 @6272 integer_cst type: @3 low : 106 @6273 tree_list purp: @6277 valu: @6278 chan: @6279 @6274 identifier_node strg: __sync_xor_and_fetch lngt: 20 @6275 function_decl name: @6280 type: @5880 srcp: :0 chan: @6281 body: undefined link: extern @6276 const_decl name: @6012 type: @4937 srcp: curl.h:988 chan: @6282 cnst: @4340 @6277 identifier_node strg: CURLOPT_HTTPAUTH lngt: 16 @6278 integer_cst type: @3 low : 107 @6279 tree_list purp: @6283 valu: @6284 chan: @6285 @6280 identifier_node strg: __sync_xor_and_fetch_1 lngt: 22 @6281 function_decl name: @6286 type: @5893 srcp: :0 chan: @6287 body: undefined link: extern @6282 const_decl name: @6018 type: @4937 srcp: curl.h:991 chan: @6288 cnst: @4356 @6283 identifier_node strg: CURLOPT_SSL_CTX_FUNCTION lngt: 24 @6284 integer_cst type: @3 low : 20108 @6285 tree_list purp: @6289 valu: @6290 chan: @6291 @6286 identifier_node strg: __sync_xor_and_fetch_2 lngt: 22 @6287 function_decl name: @6292 type: @5909 srcp: :0 chan: @6293 body: undefined link: extern @6288 const_decl name: @6024 type: @4937 srcp: curl.h:994 chan: @6294 cnst: @4370 @6289 identifier_node strg: CURLOPT_SSL_CTX_DATA lngt: 20 @6290 integer_cst type: @3 low : 10109 @6291 tree_list purp: @6295 valu: @6296 chan: @6297 @6292 identifier_node strg: __sync_xor_and_fetch_4 lngt: 22 @6293 function_decl name: @6298 type: @5924 srcp: :0 chan: @6299 body: undefined link: extern @6294 const_decl name: @6030 type: @4937 srcp: curl.h:997 chan: @6300 cnst: @6031 @6295 identifier_node strg: CURLOPT_FTP_CREATE_MISSING_DIRS lngt: 31 @6296 integer_cst type: @3 low : 110 @6297 tree_list purp: @6301 valu: @6302 chan: @6303 @6298 identifier_node strg: __sync_xor_and_fetch_8 lngt: 22 @6299 function_decl name: @6304 type: @5937 srcp: :0 chan: @6305 body: undefined link: extern @6300 const_decl name: @6037 type: @4937 srcp: curl.h:1002 chan: @6306 cnst: @6038 @6301 identifier_node strg: CURLOPT_PROXYAUTH lngt: 17 @6302 integer_cst type: @3 low : 111 @6303 tree_list purp: @6307 valu: @6308 chan: @6309 @6304 identifier_node strg: __sync_xor_and_fetch_16 lngt: 23 @6305 function_decl name: @6310 type: @4247 srcp: :0 chan: @6311 body: undefined link: extern @6306 const_decl name: @6044 type: @4937 srcp: curl.h:1005 chan: @6312 cnst: @4417 @6307 identifier_node strg: CURLOPT_FTP_RESPONSE_TIMEOUT lngt: 28 @6308 integer_cst type: @3 low : 112 @6309 tree_list purp: @6313 valu: @6314 chan: @6315 @6310 identifier_node strg: __sync_nand_and_fetch lngt: 21 @6311 function_decl name: @6316 type: @5880 srcp: :0 chan: @6317 body: undefined link: extern @6312 const_decl name: @6050 type: @4937 srcp: curl.h:1009 chan: @6318 cnst: @6051 @6313 identifier_node strg: CURLOPT_IPRESOLVE lngt: 17 @6314 integer_cst type: @3 low : 113 @6315 tree_list purp: @6319 valu: @6320 chan: @6321 @6316 identifier_node strg: __sync_nand_and_fetch_1 lngt: 23 @6317 function_decl name: @6322 type: @5893 srcp: :0 chan: @6323 body: undefined link: extern @6318 const_decl name: @6057 type: @4937 srcp: curl.h:1015 chan: @6324 cnst: @4487 @6319 identifier_node strg: CURLOPT_MAXFILESIZE lngt: 19 @6320 integer_cst type: @3 low : 114 @6321 tree_list purp: @6325 valu: @6326 chan: @6327 @6322 identifier_node strg: __sync_nand_and_fetch_2 lngt: 23 @6323 function_decl name: @6328 type: @5909 srcp: :0 chan: @6329 body: undefined link: extern @6324 const_decl name: @6063 type: @4937 srcp: curl.h:1019 chan: @6330 cnst: @4504 @6325 identifier_node strg: CURLOPT_INFILESIZE_LARGE lngt: 24 @6326 integer_cst type: @3 low : 30115 @6327 tree_list purp: @6331 valu: @6332 chan: @6333 @6328 identifier_node strg: __sync_nand_and_fetch_4 lngt: 23 @6329 function_decl name: @6334 type: @5924 srcp: :0 chan: @6335 body: undefined link: extern @6330 const_decl name: @6069 type: @4937 srcp: curl.h:1022 chan: @6336 cnst: @6070 @6331 identifier_node strg: CURLOPT_RESUME_FROM_LARGE lngt: 25 @6332 integer_cst type: @3 low : 30116 @6333 tree_list purp: @6337 valu: @6338 chan: @6339 @6334 identifier_node strg: __sync_nand_and_fetch_8 lngt: 23 @6335 function_decl name: @6340 type: @5937 srcp: :0 chan: @6341 body: undefined link: extern @6336 const_decl name: @6076 type: @4937 srcp: curl.h:1025 chan: @6342 cnst: @4538 @6337 identifier_node strg: CURLOPT_MAXFILESIZE_LARGE lngt: 25 @6338 integer_cst type: @3 low : 30117 @6339 tree_list purp: @6343 valu: @6344 chan: @6345 @6340 identifier_node strg: __sync_nand_and_fetch_16 lngt: 24 @6341 function_decl name: @6346 type: @4247 srcp: :0 chan: @6347 body: undefined link: extern @6342 const_decl name: @6081 type: @4937 srcp: curl.h:1027 chan: @6348 cnst: @4556 @6343 identifier_node strg: CURLOPT_NETRC_FILE lngt: 18 @6344 integer_cst type: @3 low : 10118 @6345 tree_list purp: @6349 valu: @6350 chan: @6351 @6346 identifier_node strg: __sync_bool_compare_and_swap lngt: 28 @6347 function_decl name: @6352 type: @6353 srcp: :0 chan: @6354 body: undefined link: extern @6348 const_decl name: @6086 type: @4937 srcp: curl.h:1034 chan: @6355 cnst: @4603 @6349 identifier_node strg: CURLOPT_USE_SSL lngt: 15 @6350 integer_cst type: @3 low : 119 @6351 tree_list purp: @6356 valu: @6357 chan: @6358 @6352 identifier_node strg: __sync_bool_compare_and_swap_1 lngt: 30 @6353 function_type size: @12 algn: 8 retn: @1759 prms: @6359 @6354 function_decl name: @6360 type: @6361 srcp: :0 chan: @6362 body: undefined link: extern @6355 const_decl name: @6091 type: @4937 srcp: curl.h:1039 chan: @6363 cnst: @4626 @6356 identifier_node strg: CURLOPT_POSTFIELDSIZE_LARGE lngt: 27 @6357 integer_cst type: @3 low : 30120 @6358 tree_list purp: @6364 valu: @6365 chan: @6366 @6359 tree_list valu: @5905 chan: @6367 @6360 identifier_node strg: __sync_bool_compare_and_swap_2 lngt: 30 @6361 function_type size: @12 algn: 8 retn: @1759 prms: @6368 @6362 function_decl name: @6369 type: @6370 srcp: :0 chan: @6371 body: undefined link: extern @6363 const_decl name: @6096 type: @4937 srcp: curl.h:1043 chan: @6372 cnst: @6097 @6364 identifier_node strg: CURLOPT_TCP_NODELAY lngt: 19 @6365 integer_cst type: @3 low : 121 @6366 tree_list purp: @6373 valu: @6374 chan: @6375 @6367 tree_list valu: @61 chan: @6376 @6368 tree_list valu: @5905 chan: @6377 @6369 identifier_node strg: __sync_bool_compare_and_swap_4 lngt: 30 @6370 function_type size: @12 algn: 8 retn: @1759 prms: @6378 @6371 function_decl name: @6379 type: @6380 srcp: :0 chan: @6381 body: undefined link: extern @6372 const_decl name: @6102 type: @4937 srcp: curl.h:1046 chan: @6382 cnst: @6103 @6373 identifier_node strg: CURLOPT_FTPSSLAUTH lngt: 18 @6374 integer_cst type: @3 low : 129 @6375 tree_list purp: @6383 valu: @6384 chan: @6385 @6376 tree_list valu: @61 chan: @146 @6377 tree_list valu: @51 chan: @6386 @6378 tree_list valu: @5905 chan: @6387 @6379 identifier_node strg: __sync_bool_compare_and_swap_8 lngt: 30 @6380 function_type size: @12 algn: 8 retn: @1759 prms: @6388 @6381 function_decl name: @6389 type: @6390 srcp: :0 chan: @6391 body: undefined link: extern @6382 const_decl name: @6108 type: @4937 srcp: curl.h:1051 chan: @6392 cnst: @4700 @6383 identifier_node strg: CURLOPT_IOCTLFUNCTION lngt: 21 @6384 integer_cst type: @3 low : 20130 @6385 tree_list purp: @6393 valu: @6394 chan: @6395 @6386 tree_list valu: @51 chan: @146 @6387 tree_list valu: @25 chan: @6396 @6388 tree_list valu: @5905 chan: @6397 @6389 identifier_node strg: __sync_bool_compare_and_swap_16 lngt: 31 @6390 function_type size: @12 algn: 8 retn: @1759 prms: @6398 @6391 function_decl name: @6399 type: @4247 srcp: :0 chan: @6400 body: undefined link: extern @6392 const_decl name: @6113 type: @4937 srcp: curl.h:1055 chan: @6401 cnst: @6114 @6393 identifier_node strg: CURLOPT_IOCTLDATA lngt: 17 @6394 integer_cst type: @3 low : 10131 @6395 tree_list purp: @6402 valu: @6403 chan: @6404 @6396 tree_list valu: @25 chan: @146 @6397 tree_list valu: @30 chan: @6405 @6398 tree_list valu: @5905 chan: @6406 @6399 identifier_node strg: __sync_val_compare_and_swap lngt: 27 @6400 function_decl name: @6407 type: @6408 srcp: :0 chan: @6409 body: undefined link: extern @6401 const_decl name: @6119 type: @4937 srcp: curl.h:1060 chan: @6410 cnst: @4761 @6402 identifier_node strg: CURLOPT_FTP_ACCOUNT lngt: 19 @6403 integer_cst type: @3 low : 10134 @6404 tree_list purp: @6411 valu: @6412 chan: @6413 @6405 tree_list valu: @30 chan: @146 @6406 tree_list valu: @88 chan: @6414 @6407 identifier_node strg: __sync_val_compare_and_swap_1 lngt: 29 @6408 function_type size: @12 algn: 8 retn: @61 prms: @6415 @6409 function_decl name: @6416 type: @6417 srcp: :0 chan: @6418 body: undefined link: extern @6410 const_decl name: @6124 type: @4937 srcp: curl.h:1065 chan: @6419 cnst: @4794 @6411 identifier_node strg: CURLOPT_COOKIELIST lngt: 18 @6412 integer_cst type: @3 low : 10135 @6413 tree_list purp: @6420 valu: @6421 chan: @6422 @6414 tree_list valu: @88 chan: @146 @6415 tree_list valu: @5905 chan: @6423 @6416 identifier_node strg: __sync_val_compare_and_swap_2 lngt: 29 @6417 function_type size: @12 algn: 8 retn: @51 prms: @6424 @6418 function_decl name: @6425 type: @6426 srcp: :0 chan: @6427 body: undefined link: extern @6419 const_decl name: @6129 type: @4937 srcp: curl.h:1069 chan: @6428 cnst: @6130 @6420 identifier_node strg: CURLOPT_IGNORE_CONTENT_LENGTH lngt: 29 @6421 integer_cst type: @3 low : 136 @6422 tree_list purp: @6429 valu: @6430 chan: @6431 @6423 tree_list valu: @61 chan: @6432 @6424 tree_list valu: @5905 chan: @6433 @6425 identifier_node strg: __sync_val_compare_and_swap_4 lngt: 29 @6426 function_type size: @12 algn: 8 retn: @25 prms: @6434 @6427 function_decl name: @6435 type: @6436 srcp: :0 chan: @6437 body: undefined link: extern @6428 const_decl name: @6135 type: @4937 srcp: curl.h:1072 chan: @6438 cnst: @6136 @6429 identifier_node strg: CURLOPT_FTP_SKIP_PASV_IP lngt: 24 @6430 integer_cst type: @3 low : 137 @6431 tree_list purp: @6439 valu: @6440 chan: @6441 @6432 tree_list valu: @61 chan: @146 @6433 tree_list valu: @51 chan: @6442 @6434 tree_list valu: @5905 chan: @6443 @6435 identifier_node strg: __sync_val_compare_and_swap_8 lngt: 29 @6436 function_type size: @12 algn: 8 retn: @30 prms: @6444 @6437 function_decl name: @6445 type: @6446 srcp: :0 chan: @6447 body: undefined link: extern @6438 const_decl name: @6141 type: @4937 srcp: curl.h:1076 chan: @6448 cnst: @4889 @6439 identifier_node strg: CURLOPT_FTP_FILEMETHOD lngt: 22 @6440 integer_cst type: @3 low : 138 @6441 tree_list purp: @6449 valu: @6450 chan: @6451 @6442 tree_list valu: @51 chan: @146 @6443 tree_list valu: @25 chan: @6452 @6444 tree_list valu: @5905 chan: @6453 @6445 identifier_node strg: __sync_val_compare_and_swap_16 lngt: 30 @6446 function_type size: @12 algn: 8 retn: @88 prms: @6454 @6447 function_decl name: @6455 type: @4247 srcp: :0 chan: @6456 body: undefined link: extern @6448 const_decl name: @6146 type: @4937 srcp: curl.h:1081 chan: @6457 cnst: @4921 @6449 identifier_node strg: CURLOPT_LOCALPORT lngt: 17 @6450 integer_cst type: @3 low : 139 @6451 tree_list purp: @6458 valu: @6459 chan: @6460 @6452 tree_list valu: @25 chan: @146 @6453 tree_list valu: @30 chan: @6461 @6454 tree_list valu: @5905 chan: @6462 @6455 identifier_node strg: __sync_lock_test_and_set lngt: 24 @6456 function_decl name: @6463 type: @5880 srcp: :0 chan: @6464 body: undefined link: extern @6457 const_decl name: @6151 type: @4937 srcp: curl.h:1084 chan: @6465 cnst: @6152 @6458 identifier_node strg: CURLOPT_LOCALPORTRANGE lngt: 22 @6459 integer_cst type: @3 low : 140 @6460 tree_list purp: @6466 valu: @6467 chan: @6468 @6461 tree_list valu: @30 chan: @146 @6462 tree_list valu: @88 chan: @6469 @6463 identifier_node strg: __sync_lock_test_and_set_1 lngt: 26 @6464 function_decl name: @6470 type: @5893 srcp: :0 chan: @6471 body: undefined link: extern @6465 const_decl name: @6157 type: @4937 srcp: curl.h:1087 chan: @6472 cnst: @6158 @6466 identifier_node strg: CURLOPT_CONNECT_ONLY lngt: 20 @6467 integer_cst type: @3 low : 141 @6468 tree_list purp: @6473 valu: @6474 chan: @6475 @6469 tree_list valu: @88 chan: @146 @6470 identifier_node strg: __sync_lock_test_and_set_2 lngt: 26 @6471 function_decl name: @6476 type: @5909 srcp: :0 chan: @6477 body: undefined link: extern @6472 const_decl name: @6163 type: @4937 srcp: curl.h:1090 chan: @6478 cnst: @6164 @6473 identifier_node strg: CURLOPT_CONV_FROM_NETWORK_FUNCTION lngt: 34 @6474 integer_cst type: @3 low : 20142 @6475 tree_list purp: @6479 valu: @6480 chan: @6481 @6476 identifier_node strg: __sync_lock_test_and_set_4 lngt: 26 @6477 function_decl name: @6482 type: @5924 srcp: :0 chan: @6483 body: undefined link: extern @6478 const_decl name: @6169 type: @4937 srcp: curl.h:1093 chan: @6484 cnst: @6170 @6479 identifier_node strg: CURLOPT_CONV_TO_NETWORK_FUNCTION lngt: 32 @6480 integer_cst type: @3 low : 20143 @6481 tree_list purp: @6485 valu: @6486 chan: @6487 @6482 identifier_node strg: __sync_lock_test_and_set_8 lngt: 26 @6483 function_decl name: @6488 type: @5937 srcp: :0 chan: @6489 body: undefined link: extern @6484 const_decl name: @6175 type: @4937 srcp: curl.h:1098 chan: @6490 cnst: @6176 @6485 identifier_node strg: CURLOPT_CONV_FROM_UTF8_FUNCTION lngt: 31 @6486 integer_cst type: @3 low : 20144 @6487 tree_list purp: @6491 valu: @6492 chan: @6493 @6488 identifier_node strg: __sync_lock_test_and_set_16 lngt: 27 @6489 function_decl name: @6494 type: @4247 srcp: :0 chan: @6495 body: undefined link: extern @6490 const_decl name: @6181 type: @4937 srcp: curl.h:1101 chan: @6496 cnst: @6182 @6491 identifier_node strg: CURLOPT_MAX_SEND_SPEED_LARGE lngt: 28 @6492 integer_cst type: @3 low : 30145 @6493 tree_list purp: @6497 valu: @6498 chan: @6499 @6494 identifier_node strg: __sync_lock_release lngt: 19 @6495 function_decl name: @6500 type: @6501 srcp: :0 chan: @6502 body: undefined link: extern @6496 const_decl name: @6187 type: @4937 srcp: curl.h:1104 chan: @6503 cnst: @6188 @6497 identifier_node strg: CURLOPT_MAX_RECV_SPEED_LARGE lngt: 28 @6498 integer_cst type: @3 low : 30146 @6499 tree_list purp: @6504 valu: @6505 chan: @6506 @6500 identifier_node strg: __sync_lock_release_1 lngt: 21 @6501 function_type size: @12 algn: 8 retn: @124 prms: @6507 @6502 function_decl name: @6508 type: @6501 srcp: :0 chan: @6509 body: undefined link: extern @6503 const_decl name: @6193 type: @4937 srcp: curl.h:1107 chan: @6510 cnst: @6194 @6504 identifier_node strg: CURLOPT_FTP_ALTERNATIVE_TO_USER lngt: 31 @6505 integer_cst type: @3 low : 10147 @6506 tree_list purp: @6511 valu: @6512 chan: @6513 @6507 tree_list valu: @5905 chan: @146 @6508 identifier_node strg: __sync_lock_release_2 lngt: 21 @6509 function_decl name: @6514 type: @6501 srcp: :0 chan: @6515 body: undefined link: extern @6510 const_decl name: @6199 type: @4937 srcp: curl.h:1110 chan: @6516 cnst: @6200 @6511 identifier_node strg: CURLOPT_SOCKOPTFUNCTION lngt: 23 @6512 integer_cst type: @3 low : 20148 @6513 tree_list purp: @6517 valu: @6518 chan: @6519 @6514 identifier_node strg: __sync_lock_release_4 lngt: 21 @6515 function_decl name: @6520 type: @6501 srcp: :0 chan: @6521 body: undefined link: extern @6516 const_decl name: @6205 type: @4937 srcp: curl.h:1113 chan: @6522 cnst: @6206 @6517 identifier_node strg: CURLOPT_SOCKOPTDATA lngt: 19 @6518 integer_cst type: @3 low : 10149 @6519 tree_list purp: @6523 valu: @6524 chan: @6525 @6520 identifier_node strg: __sync_lock_release_8 lngt: 21 @6521 function_decl name: @6526 type: @6501 srcp: :0 chan: @6527 body: undefined link: extern @6522 const_decl name: @6211 type: @4937 srcp: curl.h:1116 chan: @6528 cnst: @6212 @6523 identifier_node strg: CURLOPT_SSL_SESSIONID_CACHE lngt: 27 @6524 integer_cst type: @3 low : 150 @6525 tree_list purp: @6529 valu: @6530 chan: @6531 @6526 identifier_node strg: __sync_lock_release_16 lngt: 22 @6527 function_decl name: @6532 type: @4037 srcp: :0 chan: @6533 body: undefined link: extern @6528 const_decl name: @6217 type: @4937 srcp: curl.h:1120 chan: @6534 cnst: @6218 @6529 identifier_node strg: CURLOPT_SSH_AUTH_TYPES lngt: 22 @6530 integer_cst type: @3 low : 151 @6531 tree_list purp: @6535 valu: @6536 chan: @6537 @6532 identifier_node strg: __sync_synchronize lngt: 18 @6533 function_decl name: @6538 type: @6539 srcp: :0 chan: @6540 body: undefined link: extern @6534 const_decl name: @6223 type: @4937 srcp: curl.h:1123 chan: @6541 cnst: @6224 @6535 identifier_node strg: CURLOPT_SSH_PUBLIC_KEYFILE lngt: 26 @6536 integer_cst type: @3 low : 10152 @6537 tree_list purp: @6542 valu: @6543 chan: @6544 @6538 identifier_node strg: __builtin_init_trampoline lngt: 25 @6539 function_type size: @12 algn: 8 retn: @157 prms: @6545 @6540 function_decl name: @6546 type: @6547 srcp: :0 chan: @6548 body: undefined link: extern @6541 const_decl name: @6229 type: @4937 srcp: curl.h:1128 chan: @6549 cnst: @6230 @6542 identifier_node strg: CURLOPT_SSH_PRIVATE_KEYFILE lngt: 27 @6543 integer_cst type: @3 low : 10153 @6544 tree_list purp: @6550 valu: @6551 chan: @6552 @6545 tree_list valu: @157 chan: @6553 @6546 identifier_node strg: __builtin_nonlocal_goto lngt: 23 @6547 function_type size: @12 algn: 8 retn: @124 prms: @6554 @6548 function_decl name: @6555 type: @6547 srcp: :0 chan: @6556 body: undefined link: extern @6549 const_decl name: @6235 type: @4937 srcp: curl.h:1131 chan: @6557 cnst: @6236 @6550 identifier_node strg: CURLOPT_FTP_SSL_CCC lngt: 19 @6551 integer_cst type: @3 low : 154 @6552 tree_list purp: @6558 valu: @6559 chan: @6560 @6553 tree_list valu: @157 chan: @6561 @6554 tree_list valu: @157 chan: @6562 @6555 identifier_node strg: __builtin_setjmp_setup lngt: 22 @6556 function_decl name: @6563 type: @3473 srcp: :0 chan: @6564 body: undefined link: extern @6557 const_decl name: @6241 type: @4937 srcp: curl.h:1135 chan: @6565 cnst: @6242 @6558 identifier_node strg: CURLOPT_TIMEOUT_MS lngt: 18 @6559 integer_cst type: @3 low : 155 @6560 tree_list purp: @6566 valu: @6567 chan: @6568 @6561 tree_list valu: @157 chan: @146 @6562 tree_list valu: @157 chan: @146 @6563 identifier_node strg: __builtin_setjmp_dispatcher lngt: 27 @6564 function_decl name: @6569 type: @2755 srcp: :0 chan: @6570 body: undefined link: extern @6565 const_decl name: @6247 type: @4937 srcp: curl.h:1140 chan: @6571 cnst: @6248 @6566 identifier_node strg: CURLOPT_CONNECTTIMEOUT_MS lngt: 25 @6567 integer_cst type: @3 low : 156 @6568 tree_list purp: @6572 valu: @6573 chan: @6574 @6569 identifier_node strg: __builtin_setjmp_receiver lngt: 25 @6570 function_decl name: @6575 type: @3080 srcp: :0 chan: @6576 body: undefined link: extern @6571 const_decl name: @6253 type: @4937 srcp: curl.h:1143 chan: @6577 cnst: @6254 @6572 identifier_node strg: CURLOPT_HTTP_TRANSFER_DECODING lngt: 30 @6573 integer_cst type: @3 low : 157 @6574 tree_list purp: @6578 valu: @6579 chan: @6580 @6575 identifier_node strg: __builtin_stack_save lngt: 20 @6576 function_decl name: @6581 type: @2755 srcp: :0 chan: @6582 body: undefined link: extern @6577 const_decl name: @6259 type: @4937 srcp: curl.h:1146 chan: @6583 cnst: @6260 @6578 identifier_node strg: CURLOPT_HTTP_CONTENT_DECODING lngt: 29 @6579 integer_cst type: @3 low : 158 @6580 tree_list purp: @6584 valu: @6585 chan: @6586 @6581 identifier_node strg: __builtin_stack_restore lngt: 23 @6582 function_decl name: @6587 mngl: @6588 type: @4037 srcp: :0 chan: @6589 body: undefined link: extern @6583 const_decl name: @6265 type: @4937 srcp: curl.h:1151 chan: @6590 cnst: @6266 @6584 identifier_node strg: CURLOPT_NEW_FILE_PERMS lngt: 22 @6585 integer_cst type: @3 low : 159 @6586 tree_list purp: @6591 valu: @6592 chan: @6593 @6587 identifier_node strg: __builtin_profile_func_enter lngt: 28 @6588 identifier_node strg: profile_func_enter lngt: 18 @6589 function_decl name: @6594 mngl: @6595 type: @4037 srcp: :0 chan: @6596 body: undefined link: extern @6590 const_decl name: @6271 type: @4937 srcp: curl.h:1156 chan: @6597 cnst: @6272 @6591 identifier_node strg: CURLOPT_NEW_DIRECTORY_PERMS lngt: 27 @6592 integer_cst type: @3 low : 160 @6593 tree_list purp: @6598 valu: @6599 chan: @6600 @6594 identifier_node strg: __builtin_profile_func_exit lngt: 27 @6595 identifier_node strg: profile_func_exit lngt: 17 @6596 function_decl name: @6601 type: @6602 srcp: :0 chan: @6603 body: undefined link: extern @6597 const_decl name: @6277 type: @4937 srcp: curl.h:1161 chan: @6604 cnst: @6278 @6598 identifier_node strg: CURLOPT_POSTREDIR lngt: 17 @6599 integer_cst type: @3 low : 161 @6600 tree_list purp: @6605 valu: @6606 chan: @6607 @6601 identifier_node strg: __mulsc3 lngt: 8 @6602 function_type size: @12 algn: 8 retn: @114 prms: @6608 @6603 function_decl name: @6609 type: @6602 srcp: :0 chan: @6610 body: undefined link: extern @6604 const_decl name: @6283 type: @4937 srcp: curl.h:1166 chan: @6611 cnst: @6284 @6605 identifier_node strg: CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 lngt: 31 @6606 integer_cst type: @3 low : 10162 @6607 tree_list purp: @6612 valu: @6613 chan: @6614 @6608 tree_list valu: @93 chan: @6615 @6609 identifier_node strg: __divsc3 lngt: 8 @6610 function_decl name: @6616 type: @6617 srcp: :0 chan: @6618 body: undefined link: extern @6611 const_decl name: @6289 type: @4937 srcp: curl.h:1170 chan: @6619 cnst: @6290 @6612 identifier_node strg: CURLOPT_OPENSOCKETFUNCTION lngt: 26 @6613 integer_cst type: @3 low : 20163 @6614 tree_list purp: @6620 valu: @6621 chan: @6622 @6615 tree_list valu: @93 chan: @6623 @6616 identifier_node strg: __muldc3 lngt: 8 @6617 function_type size: @12 algn: 8 retn: @117 prms: @6624 @6618 function_decl name: @6625 type: @6617 srcp: :0 chan: @6626 body: undefined link: extern @6619 const_decl name: @6295 type: @4937 srcp: curl.h:1176 chan: @6627 cnst: @6296 @6620 identifier_node strg: CURLOPT_OPENSOCKETDATA lngt: 22 @6621 integer_cst type: @3 low : 10164 @6622 tree_list purp: @6628 valu: @6629 chan: @6630 @6623 tree_list valu: @93 chan: @6631 @6624 tree_list valu: @96 chan: @6632 @6625 identifier_node strg: __divdc3 lngt: 8 @6626 function_decl name: @6633 type: @6634 srcp: :0 chan: @6635 body: undefined link: extern @6627 const_decl name: @6301 type: @4937 srcp: curl.h:1181 chan: @6636 cnst: @6302 @6628 identifier_node strg: CURLOPT_COPYPOSTFIELDS lngt: 22 @6629 integer_cst type: @3 low : 10165 @6630 tree_list purp: @6637 valu: @6638 chan: @6639 @6631 tree_list valu: @93 chan: @146 @6632 tree_list valu: @96 chan: @6640 @6633 identifier_node strg: __mulxc3 lngt: 8 @6634 function_type size: @12 algn: 8 retn: @120 prms: @6641 @6635 function_decl name: @6642 type: @6634 srcp: :0 chan: @6643 body: undefined link: extern @6636 const_decl name: @6307 type: @4937 srcp: curl.h:1187 chan: @6644 cnst: @6308 @6637 identifier_node strg: CURLOPT_PROXY_TRANSFER_MODE lngt: 27 @6638 integer_cst type: @3 low : 166 @6639 tree_list purp: @6645 valu: @6646 chan: @6647 @6640 tree_list valu: @96 chan: @6648 @6641 tree_list valu: @99 chan: @6649 @6642 identifier_node strg: __divxc3 lngt: 8 @6643 type_decl name: @6650 type: @99 srcp: :0 note: artificial chan: @6651 @6644 const_decl name: @6313 type: @4937 srcp: curl.h:1193 chan: @6652 cnst: @6314 @6645 identifier_node strg: CURLOPT_SEEKFUNCTION lngt: 20 @6646 integer_cst type: @3 low : 20167 @6647 tree_list purp: @6653 valu: @6654 chan: @6655 @6648 tree_list valu: @96 chan: @146 @6649 tree_list valu: @99 chan: @6656 @6650 identifier_node strg: __float80 lngt: 9 @6651 type_decl name: @6657 type: @6658 srcp: :0 note: artificial chan: @6659 @6652 const_decl name: @6319 type: @4937 srcp: curl.h:1200 chan: @6660 cnst: @6320 @6653 identifier_node strg: CURLOPT_SEEKDATA lngt: 16 @6654 integer_cst type: @3 low : 10168 @6655 tree_list purp: @6661 valu: @6662 chan: @6663 @6656 tree_list valu: @99 chan: @6664 @6657 identifier_node strg: __float128 lngt: 10 @6658 real_type name: @6651 size: @72 algn: 128 prec: 128 @6659 function_decl name: @6665 type: @6666 srcp: :0 chan: @6667 body: undefined link: extern @6660 const_decl name: @6325 type: @4937 srcp: curl.h:1205 chan: @6668 cnst: @6326 @6661 identifier_node strg: CURLOPT_CRLFILE lngt: 15 @6662 integer_cst type: @3 low : 10169 @6663 tree_list purp: @6669 valu: @6670 chan: @6671 @6664 tree_list valu: @99 chan: @146 @6665 identifier_node strg: __builtin_ia32_addps lngt: 20 @6666 function_type size: @12 algn: 8 retn: @6672 prms: @6673 @6667 function_decl name: @6674 type: @6666 srcp: :0 chan: @6675 body: undefined link: extern @6668 const_decl name: @6331 type: @4937 srcp: curl.h:1210 chan: @6676 cnst: @6332 @6669 identifier_node strg: CURLOPT_ISSUERCERT lngt: 18 @6670 integer_cst type: @3 low : 10170 @6671 tree_list purp: @6677 valu: @6678 chan: @6679 @6672 vector_type size: @72 algn: 128 @6673 tree_list valu: @6672 chan: @6680 @6674 identifier_node strg: __builtin_ia32_subps lngt: 20 @6675 function_decl name: @6681 type: @6666 srcp: :0 chan: @6682 body: undefined link: extern @6676 const_decl name: @6337 type: @4937 srcp: curl.h:1215 chan: @6683 cnst: @6338 @6677 identifier_node strg: CURLOPT_ADDRESS_SCOPE lngt: 21 @6678 integer_cst type: @3 low : 171 @6679 tree_list purp: @6684 valu: @6685 chan: @6686 @6680 tree_list valu: @6672 chan: @146 @6681 identifier_node strg: __builtin_ia32_mulps lngt: 20 @6682 function_decl name: @6687 type: @6666 srcp: :0 chan: @6688 body: undefined link: extern @6683 const_decl name: @6343 type: @4937 srcp: curl.h:1221 chan: @6689 cnst: @6344 @6684 identifier_node strg: CURLOPT_CERTINFO lngt: 16 @6685 integer_cst type: @3 low : 172 @6686 tree_list purp: @6690 valu: @6691 chan: @6692 @6687 identifier_node strg: __builtin_ia32_divps lngt: 20 @6688 function_decl name: @6693 type: @6666 srcp: :0 chan: @6694 body: undefined link: extern @6689 const_decl name: @6349 type: @4937 srcp: curl.h:1228 chan: @6695 cnst: @6350 @6690 identifier_node strg: CURLOPT_USERNAME lngt: 16 @6691 integer_cst type: @3 low : 10173 @6692 tree_list purp: @6696 valu: @6697 chan: @6698 @6693 identifier_node strg: __builtin_ia32_addss lngt: 20 @6694 function_decl name: @6699 type: @6666 srcp: :0 chan: @6700 body: undefined link: extern @6695 const_decl name: @6356 type: @4937 srcp: curl.h:1231 chan: @6701 cnst: @6357 @6696 identifier_node strg: CURLOPT_PASSWORD lngt: 16 @6697 integer_cst type: @3 low : 10174 @6698 tree_list purp: @6702 valu: @6703 chan: @6704 @6699 identifier_node strg: __builtin_ia32_subss lngt: 20 @6700 function_decl name: @6705 type: @6666 srcp: :0 chan: @6706 body: undefined link: extern @6701 const_decl name: @6364 type: @4937 srcp: curl.h:1234 chan: @6707 cnst: @6365 @6702 identifier_node strg: CURLOPT_PROXYUSERNAME lngt: 21 @6703 integer_cst type: @3 low : 10175 @6704 tree_list purp: @6708 valu: @6709 chan: @6710 @6705 identifier_node strg: __builtin_ia32_mulss lngt: 20 @6706 function_decl name: @6711 type: @6666 srcp: :0 chan: @6712 body: undefined link: extern @6707 const_decl name: @6373 type: @4937 srcp: curl.h:1254 chan: @6713 cnst: @6374 @6708 identifier_node strg: CURLOPT_PROXYPASSWORD lngt: 21 @6709 integer_cst type: @3 low : 10176 @6710 tree_list purp: @6714 valu: @6715 chan: @6716 @6711 identifier_node strg: __builtin_ia32_divss lngt: 20 @6712 function_decl name: @6717 type: @6718 srcp: :0 chan: @6719 body: undefined link: extern @6713 const_decl name: @6383 type: @4937 srcp: curl.h:1256 chan: @6720 cnst: @6384 @6714 identifier_node strg: CURLOPT_NOPROXY lngt: 15 @6715 integer_cst type: @3 low : 10177 @6716 tree_list purp: @6721 valu: @6722 chan: @6723 @6717 identifier_node strg: __builtin_ia32_cmpeqps lngt: 22 @6718 function_type size: @12 algn: 8 retn: @6724 prms: @6725 @6719 function_decl name: @6726 type: @6718 srcp: :0 chan: @6727 body: undefined link: extern @6720 const_decl name: @6393 type: @4937 srcp: curl.h:1257 chan: @6728 cnst: @6394 @6721 identifier_node strg: CURLOPT_TFTP_BLKSIZE lngt: 20 @6722 integer_cst type: @3 low : 178 @6723 tree_list purp: @6729 valu: @6730 chan: @6731 @6724 vector_type size: @72 algn: 128 @6725 tree_list valu: @6672 chan: @6732 @6726 identifier_node strg: __builtin_ia32_cmpltps lngt: 22 @6727 function_decl name: @6733 type: @6718 srcp: :0 chan: @6734 body: undefined link: extern @6728 const_decl name: @6402 type: @4937 srcp: curl.h:1264 chan: @6735 cnst: @6403 @6729 identifier_node strg: CURLOPT_SOCKS5_GSSAPI_SERVICE lngt: 29 @6730 integer_cst type: @3 low : 10179 @6731 tree_list purp: @6736 valu: @6737 chan: @6738 @6732 tree_list valu: @6672 chan: @146 @6733 identifier_node strg: __builtin_ia32_cmpleps lngt: 22 @6734 function_decl name: @6739 type: @6718 srcp: :0 chan: @6740 body: undefined link: extern @6735 const_decl name: @6411 type: @4937 srcp: curl.h:1267 chan: @6741 cnst: @6412 @6736 identifier_node strg: CURLOPT_SOCKS5_GSSAPI_NEC lngt: 25 @6737 integer_cst type: @3 low : 180 @6738 tree_list purp: @6742 valu: @6743 chan: @6744 @6739 identifier_node strg: __builtin_ia32_cmpgtps lngt: 22 @6740 function_decl name: @6745 type: @6718 srcp: :0 chan: @6746 body: undefined link: extern @6741 const_decl name: @6420 type: @4937 srcp: curl.h:1270 chan: @6747 cnst: @6421 @6742 identifier_node strg: CURLOPT_PROTOCOLS lngt: 17 @6743 integer_cst type: @3 low : 181 @6744 tree_list purp: @6748 valu: @6749 chan: @6750 @6745 identifier_node strg: __builtin_ia32_cmpgeps lngt: 22 @6746 function_decl name: @6751 type: @6718 srcp: :0 chan: @6752 body: undefined link: extern @6747 const_decl name: @6429 type: @4937 srcp: curl.h:1276 chan: @6753 cnst: @6430 @6748 identifier_node strg: CURLOPT_REDIR_PROTOCOLS lngt: 23 @6749 integer_cst type: @3 low : 182 @6750 tree_list purp: @6754 valu: @6755 chan: @6756 @6751 identifier_node strg: __builtin_ia32_cmpunordps lngt: 25 @6752 function_decl name: @6757 type: @6718 srcp: :0 chan: @6758 body: undefined link: extern @6753 const_decl name: @6439 type: @4937 srcp: curl.h:1280 chan: @6759 cnst: @6440 @6754 identifier_node strg: CURLOPT_SSH_KNOWNHOSTS lngt: 22 @6755 integer_cst type: @3 low : 10183 @6756 tree_list purp: @6760 valu: @6761 chan: @6762 @6757 identifier_node strg: __builtin_ia32_cmpneqps lngt: 23 @6758 function_decl name: @6763 type: @6718 srcp: :0 chan: @6764 body: undefined link: extern @6759 const_decl name: @6449 type: @4937 srcp: curl.h:1283 chan: @6765 cnst: @6450 @6760 identifier_node strg: CURLOPT_SSH_KEYFUNCTION lngt: 23 @6761 integer_cst type: @3 low : 20184 @6762 tree_list purp: @6766 valu: @6767 chan: @6768 @6763 identifier_node strg: __builtin_ia32_cmpnltps lngt: 23 @6764 function_decl name: @6769 type: @6718 srcp: :0 chan: @6770 body: undefined link: extern @6765 const_decl name: @6458 type: @4937 srcp: curl.h:1288 chan: @6771 cnst: @6459 @6766 identifier_node strg: CURLOPT_SSH_KEYDATA lngt: 19 @6767 integer_cst type: @3 low : 10185 @6768 tree_list purp: @6772 valu: @6773 chan: @6774 @6769 identifier_node strg: __builtin_ia32_cmpnleps lngt: 23 @6770 function_decl name: @6775 type: @6718 srcp: :0 chan: @6776 body: undefined link: extern @6771 const_decl name: @6466 type: @4937 srcp: curl.h:1292 chan: @6777 cnst: @6467 @6772 identifier_node strg: CURLOPT_MAIL_FROM lngt: 17 @6773 integer_cst type: @3 low : 10186 @6774 tree_list purp: @6778 valu: @6779 chan: @6780 @6775 identifier_node strg: __builtin_ia32_cmpngtps lngt: 23 @6776 function_decl name: @6781 type: @6718 srcp: :0 chan: @6782 body: undefined link: extern @6777 const_decl name: @6473 type: @4937 srcp: curl.h:1296 chan: @6783 cnst: @6474 @6778 identifier_node strg: CURLOPT_MAIL_RCPT lngt: 17 @6779 integer_cst type: @3 low : 10187 @6780 tree_list purp: @6784 valu: @6785 chan: @6786 @6781 identifier_node strg: __builtin_ia32_cmpngeps lngt: 23 @6782 function_decl name: @6787 type: @6718 srcp: :0 chan: @6788 body: undefined link: extern @6783 const_decl name: @6479 type: @4937 srcp: curl.h:1300 chan: @6789 cnst: @6480 @6784 identifier_node strg: CURLOPT_FTP_USE_PRET lngt: 20 @6785 integer_cst type: @3 low : 188 @6786 tree_list purp: @6790 valu: @6791 chan: @6792 @6787 identifier_node strg: __builtin_ia32_cmpordps lngt: 23 @6788 function_decl name: @6793 type: @6718 srcp: :0 chan: @6794 body: undefined link: extern @6789 const_decl name: @6485 type: @4937 srcp: curl.h:1305 chan: @6795 cnst: @6486 @6790 identifier_node strg: CURLOPT_RTSP_REQUEST lngt: 20 @6791 integer_cst type: @3 low : 189 @6792 tree_list purp: @6796 valu: @6797 chan: @6798 @6793 identifier_node strg: __builtin_ia32_cmpeqss lngt: 22 @6794 function_decl name: @6799 type: @6718 srcp: :0 chan: @6800 body: undefined link: extern @6795 const_decl name: @6491 type: @4937 srcp: curl.h:1309 chan: @6801 cnst: @6492 @6796 identifier_node strg: CURLOPT_RTSP_SESSION_ID lngt: 23 @6797 integer_cst type: @3 low : 10190 @6798 tree_list purp: @6802 valu: @6803 chan: @6804 @6799 identifier_node strg: __builtin_ia32_cmpltss lngt: 22 @6800 function_decl name: @6805 type: @6718 srcp: :0 chan: @6806 body: undefined link: extern @6801 const_decl name: @6497 type: @4937 srcp: curl.h:1310 chan: @6807 cnst: @6498 @6802 identifier_node strg: CURLOPT_RTSP_STREAM_URI lngt: 23 @6803 integer_cst type: @3 low : 10191 @6804 tree_list purp: @6808 valu: @6809 chan: @6810 @6805 identifier_node strg: __builtin_ia32_cmpless lngt: 22 @6806 function_decl name: @6811 type: @6718 srcp: :0 chan: @6812 body: undefined link: extern @6807 const_decl name: @6504 type: @4937 srcp: curl.h:1313 chan: @6813 cnst: @6505 @6808 identifier_node strg: CURLOPT_RTSP_TRANSPORT lngt: 22 @6809 integer_cst type: @3 low : 10192 @6810 tree_list purp: @6814 valu: @6815 chan: @6816 @6811 identifier_node strg: __builtin_ia32_cmpunordss lngt: 25 @6812 function_decl name: @6817 type: @6718 srcp: :0 chan: @6818 body: undefined link: extern @6813 const_decl name: @6511 type: @4937 srcp: curl.h:1316 chan: @6819 cnst: @6512 @6814 identifier_node strg: CURLOPT_RTSP_CLIENT_CSEQ lngt: 24 @6815 integer_cst type: @3 low : 193 @6816 tree_list purp: @6820 valu: @6821 chan: @6822 @6817 identifier_node strg: __builtin_ia32_cmpneqss lngt: 23 @6818 function_decl name: @6823 type: @6718 srcp: :0 chan: @6824 body: undefined link: extern @6819 const_decl name: @6517 type: @4937 srcp: curl.h:1317 chan: @6825 cnst: @6518 @6820 identifier_node strg: CURLOPT_RTSP_SERVER_CSEQ lngt: 24 @6821 integer_cst type: @3 low : 194 @6822 tree_list purp: @6826 valu: @6827 chan: @6828 @6823 identifier_node strg: __builtin_ia32_cmpnltss lngt: 23 @6824 function_decl name: @6829 type: @6718 srcp: :0 chan: @6830 body: undefined link: extern @6825 const_decl name: @6523 type: @4937 srcp: curl.h:1321 chan: @6831 cnst: @6524 @6826 identifier_node strg: CURLOPT_INTERLEAVEDATA lngt: 22 @6827 integer_cst type: @3 low : 10195 @6828 tree_list purp: @6832 valu: @6833 chan: @6834 @6829 identifier_node strg: __builtin_ia32_cmpnless lngt: 23 @6830 function_decl name: @6835 type: @6718 srcp: :0 chan: @6836 body: undefined link: extern @6831 const_decl name: @6529 type: @4937 srcp: curl.h:1324 chan: @6837 cnst: @6530 @6832 identifier_node strg: CURLOPT_INTERLEAVEFUNCTION lngt: 26 @6833 integer_cst type: @3 low : 20196 @6834 tree_list purp: @6838 valu: @6839 chan: @6840 @6835 identifier_node strg: __builtin_ia32_cmpngtss lngt: 23 @6836 function_decl name: @6841 type: @6718 srcp: :0 chan: @6842 body: undefined link: extern @6837 const_decl name: @6535 type: @4937 srcp: curl.h:1327 chan: @6843 cnst: @6536 @6838 identifier_node strg: CURLOPT_WILDCARDMATCH lngt: 21 @6839 integer_cst type: @3 low : 197 @6840 tree_list purp: @6844 valu: @6845 chan: @6846 @6841 identifier_node strg: __builtin_ia32_cmpngess lngt: 23 @6842 function_decl name: @6847 type: @6718 srcp: :0 chan: @6848 body: undefined link: extern @6843 const_decl name: @6542 type: @4937 srcp: curl.h:1328 chan: @6849 cnst: @6543 @6844 identifier_node strg: CURLOPT_CHUNK_BGN_FUNCTION lngt: 26 @6845 integer_cst type: @3 low : 20198 @6846 tree_list purp: @6850 valu: @6851 chan: @6852 @6847 identifier_node strg: __builtin_ia32_cmpordss lngt: 23 @6848 function_decl name: @6853 type: @6666 srcp: :0 chan: @6854 body: undefined link: extern @6849 const_decl name: @6550 type: @4937 srcp: curl.h:1331 chan: @6855 cnst: @6551 @6850 identifier_node strg: CURLOPT_CHUNK_END_FUNCTION lngt: 26 @6851 integer_cst type: @3 low : 20199 @6852 tree_list purp: @6856 valu: @6857 chan: @6858 @6853 identifier_node strg: __builtin_ia32_minps lngt: 20 @6854 function_decl name: @6859 type: @6666 srcp: :0 chan: @6860 body: undefined link: extern @6855 const_decl name: @6558 type: @4937 srcp: curl.h:1334 chan: @6861 cnst: @6559 @6856 identifier_node strg: CURLOPT_FNMATCH_FUNCTION lngt: 24 @6857 integer_cst type: @3 low : 20200 @6858 tree_list purp: @6862 valu: @6863 chan: @6864 @6859 identifier_node strg: __builtin_ia32_maxps lngt: 20 @6860 function_decl name: @6865 type: @6666 srcp: :0 chan: @6866 body: undefined link: extern @6861 const_decl name: @6566 type: @4937 srcp: curl.h:1335 chan: @6867 cnst: @6567 @6862 identifier_node strg: CURLOPT_CHUNK_DATA lngt: 18 @6863 integer_cst type: @3 low : 10201 @6864 tree_list purp: @6868 valu: @6869 chan: @6870 @6865 identifier_node strg: __builtin_ia32_minss lngt: 20 @6866 function_decl name: @6871 type: @6666 srcp: :0 chan: @6872 body: undefined link: extern @6867 const_decl name: @6572 type: @4937 srcp: curl.h:1339 chan: @6873 cnst: @6573 @6868 identifier_node strg: CURLOPT_FNMATCH_DATA lngt: 20 @6869 integer_cst type: @3 low : 10202 @6870 tree_list purp: @6874 valu: @6875 chan: @6876 @6871 identifier_node strg: __builtin_ia32_maxss lngt: 20 @6872 function_decl name: @6877 type: @6666 srcp: :0 chan: @6878 body: undefined link: extern @6873 const_decl name: @6578 type: @4937 srcp: curl.h:1340 chan: @6879 cnst: @6579 @6874 identifier_node strg: CURLOPT_RESOLVE lngt: 15 @6875 integer_cst type: @3 low : 10203 @6876 tree_list purp: @6880 valu: @6881 chan: @6882 @6877 identifier_node strg: __builtin_ia32_andps lngt: 20 @6878 function_decl name: @6883 type: @6666 srcp: :0 chan: @6884 body: undefined link: extern @6879 const_decl name: @6584 type: @4937 srcp: curl.h:1344 chan: @6885 cnst: @6585 @6880 identifier_node strg: CURLOPT_TLSAUTH_USERNAME lngt: 24 @6881 integer_cst type: @3 low : 10204 @6882 tree_list purp: @6886 valu: @6887 chan: @6888 @6883 identifier_node strg: __builtin_ia32_andnps lngt: 21 @6884 function_decl name: @6889 type: @6666 srcp: :0 chan: @6890 body: undefined link: extern @6885 const_decl name: @6591 type: @4937 srcp: curl.h:1345 chan: @6891 cnst: @6592 @6886 identifier_node strg: CURLOPT_TLSAUTH_PASSWORD lngt: 24 @6887 integer_cst type: @3 low : 10205 @6888 tree_list purp: @6892 valu: @6893 chan: @6894 @6889 identifier_node strg: __builtin_ia32_orps lngt: 19 @6890 function_decl name: @6895 type: @6666 srcp: :0 chan: @6896 body: undefined link: extern @6891 const_decl name: @6598 type: @4937 srcp: curl.h:1349 chan: @6897 cnst: @6599 @6892 identifier_node strg: CURLOPT_TLSAUTH_TYPE lngt: 20 @6893 integer_cst type: @3 low : 10206 @6894 tree_list purp: @6898 valu: @6899 chan: @6900 @6895 identifier_node strg: __builtin_ia32_xorps lngt: 20 @6896 function_decl name: @6901 type: @6666 srcp: :0 chan: @6902 body: undefined link: extern @6897 const_decl name: @6605 type: @4937 srcp: curl.h:1352 chan: @6903 cnst: @6606 @6898 identifier_node strg: CURLOPT_TRANSFER_ENCODING lngt: 25 @6899 integer_cst type: @3 low : 207 @6900 tree_list purp: @6904 valu: @6905 chan: @6906 @6901 identifier_node strg: __builtin_ia32_movss lngt: 20 @6902 function_decl name: @6907 type: @6666 srcp: :0 chan: @6908 body: undefined link: extern @6903 const_decl name: @6612 type: @4937 srcp: curl.h:1358 chan: @6909 cnst: @6613 @6904 identifier_node strg: CURLOPT_CLOSESOCKETFUNCTION lngt: 27 @6905 integer_cst type: @3 low : 20208 @6906 tree_list purp: @6910 valu: @6911 chan: @6912 @6907 identifier_node strg: __builtin_ia32_movhlps lngt: 22 @6908 function_decl name: @6913 type: @6666 srcp: :0 chan: @6914 body: undefined link: extern @6909 const_decl name: @6620 type: @4937 srcp: curl.h:1359 chan: @6915 cnst: @6621 @6910 identifier_node strg: CURLOPT_CLOSESOCKETDATA lngt: 23 @6911 integer_cst type: @3 low : 10209 @6912 tree_list purp: @6916 valu: @6917 chan: @6918 @6913 identifier_node strg: __builtin_ia32_movlhps lngt: 22 @6914 function_decl name: @6919 type: @6666 srcp: :0 chan: @6920 body: undefined link: extern @6915 const_decl name: @6628 type: @4937 srcp: curl.h:1362 chan: @6921 cnst: @6629 @6916 identifier_node strg: CURLOPT_GSSAPI_DELEGATION lngt: 25 @6917 integer_cst type: @3 low : 210 @6918 tree_list purp: @6922 valu: @6923 chan: @6924 @6919 identifier_node strg: __builtin_ia32_unpckhps lngt: 23 @6920 function_decl name: @6925 type: @6666 srcp: :0 chan: @6926 body: undefined link: extern @6921 const_decl name: @6637 type: @4937 srcp: curl.h:1365 chan: @6927 cnst: @6638 @6922 identifier_node strg: CURLOPT_DNS_SERVERS lngt: 19 @6923 integer_cst type: @3 low : 10211 @6924 tree_list purp: @6928 valu: @6929 chan: @6930 @6925 identifier_node strg: __builtin_ia32_unpcklps lngt: 23 @6926 function_decl name: @6931 type: @6932 srcp: :0 chan: @6933 body: undefined link: extern @6927 const_decl name: @6645 type: @4937 srcp: curl.h:1368 chan: @6934 cnst: @6646 @6928 identifier_node strg: CURLOPT_ACCEPTTIMEOUT_MS lngt: 24 @6929 integer_cst type: @3 low : 212 @6930 tree_list purp: @6935 valu: @6936 chan: @6937 @6931 identifier_node strg: __builtin_ia32_paddb lngt: 20 @6932 function_type size: @12 algn: 8 retn: @6938 prms: @6939 @6933 function_decl name: @6940 type: @6941 srcp: :0 chan: @6942 body: undefined link: extern @6934 const_decl name: @6653 type: @4937 srcp: curl.h:1369 chan: @6943 cnst: @6654 @6935 identifier_node strg: CURLOPT_TCP_KEEPALIVE lngt: 21 @6936 integer_cst type: @3 low : 213 @6937 tree_list purp: @6944 valu: @6945 chan: @6946 @6938 vector_type size: @19 algn: 64 @6939 tree_list valu: @6938 chan: @6947 @6940 identifier_node strg: __builtin_ia32_paddw lngt: 20 @6941 function_type size: @12 algn: 8 retn: @6948 prms: @6949 @6942 function_decl name: @6950 type: @6951 srcp: :0 chan: @6952 body: undefined link: extern @6943 const_decl name: @6661 type: @4937 srcp: curl.h:1372 chan: @6953 cnst: @6662 @6944 identifier_node strg: CURLOPT_TCP_KEEPIDLE lngt: 20 @6945 integer_cst type: @3 low : 214 @6946 tree_list purp: @6954 valu: @6955 chan: @6956 @6947 tree_list valu: @6938 chan: @146 @6948 vector_type size: @19 algn: 64 @6949 tree_list valu: @6948 chan: @6957 @6950 identifier_node strg: __builtin_ia32_paddd lngt: 20 @6951 function_type size: @12 algn: 8 retn: @6958 prms: @6959 @6952 function_decl name: @6960 type: @6961 srcp: :0 chan: @6962 body: undefined link: extern @6953 const_decl name: @6669 type: @4937 srcp: curl.h:1375 chan: @6963 cnst: @6670 @6954 identifier_node strg: CURLOPT_TCP_KEEPINTVL lngt: 21 @6955 integer_cst type: @3 low : 215 @6956 tree_list purp: @6964 valu: @6965 chan: @6966 @6957 tree_list valu: @6948 chan: @146 @6958 vector_type size: @19 algn: 64 @6959 tree_list valu: @6958 chan: @6967 @6960 identifier_node strg: __builtin_ia32_paddq lngt: 20 @6961 function_type size: @12 algn: 8 retn: @6968 prms: @6969 @6962 function_decl name: @6970 type: @6932 srcp: :0 chan: @6971 body: undefined link: extern @6963 const_decl name: @6677 type: @4937 srcp: curl.h:1378 chan: @6972 cnst: @6678 @6964 identifier_node strg: CURLOPT_SSL_OPTIONS lngt: 19 @6965 integer_cst type: @3 low : 216 @6966 tree_list purp: @6973 valu: @6974 chan: @6975 @6967 tree_list valu: @6958 chan: @146 @6968 vector_type size: @19 algn: 64 @6969 tree_list valu: @6968 chan: @6976 @6970 identifier_node strg: __builtin_ia32_psubb lngt: 20 @6971 function_decl name: @6977 type: @6941 srcp: :0 chan: @6978 body: undefined link: extern @6972 const_decl name: @6684 type: @4937 srcp: curl.h:1383 chan: @6979 cnst: @6685 @6973 identifier_node strg: CURLOPT_MAIL_AUTH lngt: 17 @6974 integer_cst type: @3 low : 10217 @6975 tree_list purp: @6980 valu: @6981 @6976 tree_list valu: @6968 chan: @146 @6977 identifier_node strg: __builtin_ia32_psubw lngt: 20 @6978 function_decl name: @6982 type: @6951 srcp: :0 chan: @6983 body: undefined link: extern @6979 const_decl name: @6690 type: @4937 srcp: curl.h:1386 chan: @6984 cnst: @6691 @6980 identifier_node strg: CURLOPT_LASTENTRY lngt: 17 @6981 integer_cst type: @3 low : 10218 @6982 identifier_node strg: __builtin_ia32_psubd lngt: 20 @6983 function_decl name: @6985 type: @6961 srcp: :0 chan: @6986 body: undefined link: extern @6984 const_decl name: @6696 type: @4937 srcp: curl.h:1387 chan: @6987 cnst: @6697 @6985 identifier_node strg: __builtin_ia32_psubq lngt: 20 @6986 function_decl name: @6988 type: @6932 srcp: :0 chan: @6989 body: undefined link: extern @6987 const_decl name: @6702 type: @4937 srcp: curl.h:1390 chan: @6990 cnst: @6703 @6988 identifier_node strg: __builtin_ia32_paddsb lngt: 21 @6989 function_decl name: @6991 type: @6941 srcp: :0 chan: @6992 body: undefined link: extern @6990 const_decl name: @6708 type: @4937 srcp: curl.h:1391 chan: @6993 cnst: @6709 @6991 identifier_node strg: __builtin_ia32_paddsw lngt: 21 @6992 function_decl name: @6994 type: @6932 srcp: :0 chan: @6995 body: undefined link: extern @6993 const_decl name: @6714 type: @4937 srcp: curl.h:1400 chan: @6996 cnst: @6715 @6994 identifier_node strg: __builtin_ia32_psubsb lngt: 21 @6995 function_decl name: @6997 type: @6941 srcp: :0 chan: @6998 body: undefined link: extern @6996 const_decl name: @6721 type: @4937 srcp: curl.h:1403 chan: @6999 cnst: @6722 @6997 identifier_node strg: __builtin_ia32_psubsw lngt: 21 @6998 function_decl name: @7000 type: @6932 srcp: :0 chan: @7001 body: undefined link: extern @6999 const_decl name: @6729 type: @4937 srcp: curl.h:1406 chan: @7002 cnst: @6730 @7000 identifier_node strg: __builtin_ia32_paddusb lngt: 22 @7001 function_decl name: @7003 type: @6941 srcp: :0 chan: @7004 body: undefined link: extern @7002 const_decl name: @6736 type: @4937 srcp: curl.h:1409 chan: @7005 cnst: @6737 @7003 identifier_node strg: __builtin_ia32_paddusw lngt: 22 @7004 function_decl name: @7006 type: @6932 srcp: :0 chan: @7007 body: undefined link: extern @7005 const_decl name: @6742 type: @4937 srcp: curl.h:1415 chan: @7008 cnst: @6743 @7006 identifier_node strg: __builtin_ia32_psubusb lngt: 22 @7007 function_decl name: @7009 type: @6941 srcp: :0 chan: @7010 body: undefined link: extern @7008 const_decl name: @6748 type: @4937 srcp: curl.h:1421 chan: @7011 cnst: @6749 @7009 identifier_node strg: __builtin_ia32_psubusw lngt: 22 @7010 function_decl name: @7012 type: @6941 srcp: :0 chan: @7013 body: undefined link: extern @7011 const_decl name: @6754 type: @4937 srcp: curl.h:1424 chan: @7014 cnst: @6755 @7012 identifier_node strg: __builtin_ia32_pmullw lngt: 21 @7013 function_decl name: @7015 type: @6941 srcp: :0 chan: @7016 body: undefined link: extern @7014 const_decl name: @6760 type: @4937 srcp: curl.h:1428 chan: @7017 cnst: @6761 @7015 identifier_node strg: __builtin_ia32_pmulhw lngt: 21 @7016 function_decl name: @7018 type: @6941 srcp: :0 chan: @7019 body: undefined link: extern @7017 const_decl name: @6766 type: @4937 srcp: curl.h:1431 chan: @7020 cnst: @6767 @7018 identifier_node strg: __builtin_ia32_pmulhuw lngt: 22 @7019 function_decl name: @7021 type: @6951 srcp: :0 chan: @7022 body: undefined link: extern @7020 const_decl name: @6772 type: @4937 srcp: curl.h:1434 chan: @7023 cnst: @6773 @7021 identifier_node strg: __builtin_ia32_pand lngt: 19 @7022 function_decl name: @7024 type: @6951 srcp: :0 chan: @7025 body: undefined link: extern @7023 const_decl name: @6778 type: @4937 srcp: curl.h:1437 chan: @7026 cnst: @6779 @7024 identifier_node strg: __builtin_ia32_pandn lngt: 20 @7025 function_decl name: @7027 type: @6951 srcp: :0 chan: @7028 body: undefined link: extern @7026 const_decl name: @6784 type: @4937 srcp: curl.h:1440 chan: @7029 cnst: @6785 @7027 identifier_node strg: __builtin_ia32_por lngt: 18 @7028 function_decl name: @7030 type: @6951 srcp: :0 chan: @7031 body: undefined link: extern @7029 const_decl name: @6790 type: @4937 srcp: curl.h:1443 chan: @7032 cnst: @6791 @7030 identifier_node strg: __builtin_ia32_pxor lngt: 19 @7031 function_decl name: @7033 type: @6932 srcp: :0 chan: @7034 body: undefined link: extern @7032 const_decl name: @6796 type: @4937 srcp: curl.h:1446 chan: @7035 cnst: @6797 @7033 identifier_node strg: __builtin_ia32_pavgb lngt: 20 @7034 function_decl name: @7036 type: @6941 srcp: :0 chan: @7037 body: undefined link: extern @7035 const_decl name: @6802 type: @4937 srcp: curl.h:1449 chan: @7038 cnst: @6803 @7036 identifier_node strg: __builtin_ia32_pavgw lngt: 20 @7037 function_decl name: @7039 type: @6932 srcp: :0 chan: @7040 body: undefined link: extern @7038 const_decl name: @6808 type: @4937 srcp: curl.h:1452 chan: @7041 cnst: @6809 @7039 identifier_node strg: __builtin_ia32_pcmpeqb lngt: 22 @7040 function_decl name: @7042 type: @6941 srcp: :0 chan: @7043 body: undefined link: extern @7041 const_decl name: @6814 type: @4937 srcp: curl.h:1455 chan: @7044 cnst: @6815 @7042 identifier_node strg: __builtin_ia32_pcmpeqw lngt: 22 @7043 function_decl name: @7045 type: @6951 srcp: :0 chan: @7046 body: undefined link: extern @7044 const_decl name: @6820 type: @4937 srcp: curl.h:1458 chan: @7047 cnst: @6821 @7045 identifier_node strg: __builtin_ia32_pcmpeqd lngt: 22 @7046 function_decl name: @7048 type: @6932 srcp: :0 chan: @7049 body: undefined link: extern @7047 const_decl name: @6826 type: @4937 srcp: curl.h:1461 chan: @7050 cnst: @6827 @7048 identifier_node strg: __builtin_ia32_pcmpgtb lngt: 22 @7049 function_decl name: @7051 type: @6941 srcp: :0 chan: @7052 body: undefined link: extern @7050 const_decl name: @6832 type: @4937 srcp: curl.h:1464 chan: @7053 cnst: @6833 @7051 identifier_node strg: __builtin_ia32_pcmpgtw lngt: 22 @7052 function_decl name: @7054 type: @6951 srcp: :0 chan: @7055 body: undefined link: extern @7053 const_decl name: @6838 type: @4937 srcp: curl.h:1467 chan: @7056 cnst: @6839 @7054 identifier_node strg: __builtin_ia32_pcmpgtd lngt: 22 @7055 function_decl name: @7057 type: @6932 srcp: :0 chan: @7058 body: undefined link: extern @7056 const_decl name: @6844 type: @4937 srcp: curl.h:1471 chan: @7059 cnst: @6845 @7057 identifier_node strg: __builtin_ia32_pmaxub lngt: 21 @7058 function_decl name: @7060 type: @6941 srcp: :0 chan: @7061 body: undefined link: extern @7059 const_decl name: @6850 type: @4937 srcp: curl.h:1475 chan: @7062 cnst: @6851 @7060 identifier_node strg: __builtin_ia32_pmaxsw lngt: 21 @7061 function_decl name: @7063 type: @6932 srcp: :0 chan: @7064 body: undefined link: extern @7062 const_decl name: @6856 type: @4937 srcp: curl.h:1478 chan: @7065 cnst: @6857 @7063 identifier_node strg: __builtin_ia32_pminub lngt: 21 @7064 function_decl name: @7066 type: @6941 srcp: :0 chan: @7067 body: undefined link: extern @7065 const_decl name: @6862 type: @4937 srcp: curl.h:1481 chan: @7068 cnst: @6863 @7066 identifier_node strg: __builtin_ia32_pminsw lngt: 21 @7067 function_decl name: @7069 type: @6932 srcp: :0 chan: @7070 body: undefined link: extern @7068 const_decl name: @6868 type: @4937 srcp: curl.h:1484 chan: @7071 cnst: @6869 @7069 identifier_node strg: __builtin_ia32_punpckhbw lngt: 24 @7070 function_decl name: @7072 type: @6941 srcp: :0 chan: @7073 body: undefined link: extern @7071 const_decl name: @6874 type: @4937 srcp: curl.h:1487 chan: @7074 cnst: @6875 @7072 identifier_node strg: __builtin_ia32_punpckhwd lngt: 24 @7073 function_decl name: @7075 type: @6951 srcp: :0 chan: @7076 body: undefined link: extern @7074 const_decl name: @6880 type: @4937 srcp: curl.h:1490 chan: @7077 cnst: @6881 @7075 identifier_node strg: __builtin_ia32_punpckhdq lngt: 24 @7076 function_decl name: @7078 type: @6932 srcp: :0 chan: @7079 body: undefined link: extern @7077 const_decl name: @6886 type: @4937 srcp: curl.h:1493 chan: @7080 cnst: @6887 @7078 identifier_node strg: __builtin_ia32_punpcklbw lngt: 24 @7079 function_decl name: @7081 type: @6941 srcp: :0 chan: @7082 body: undefined link: extern @7080 const_decl name: @6892 type: @4937 srcp: curl.h:1496 chan: @7083 cnst: @6893 @7081 identifier_node strg: __builtin_ia32_punpcklwd lngt: 24 @7082 function_decl name: @7084 type: @6951 srcp: :0 chan: @7085 body: undefined link: extern @7083 const_decl name: @6898 type: @4937 srcp: curl.h:1508 chan: @7086 cnst: @6899 @7084 identifier_node strg: __builtin_ia32_punpckldq lngt: 24 @7085 function_decl name: @7087 type: @7088 srcp: :0 chan: @7089 body: undefined link: extern @7086 const_decl name: @6904 type: @4937 srcp: curl.h:1512 chan: @7090 cnst: @6905 @7087 identifier_node strg: __builtin_ia32_addpd lngt: 20 @7088 function_type size: @12 algn: 8 retn: @7091 prms: @7092 @7089 function_decl name: @7093 type: @7088 srcp: :0 chan: @7094 body: undefined link: extern @7090 const_decl name: @6910 type: @4937 srcp: curl.h:1513 chan: @7095 cnst: @6911 @7091 vector_type size: @72 algn: 128 @7092 tree_list valu: @7091 chan: @7096 @7093 identifier_node strg: __builtin_ia32_subpd lngt: 20 @7094 function_decl name: @7097 type: @7088 srcp: :0 chan: @7098 body: undefined link: extern @7095 const_decl name: @6916 type: @4937 srcp: curl.h:1516 chan: @7099 cnst: @6917 @7096 tree_list valu: @7091 chan: @146 @7097 identifier_node strg: __builtin_ia32_mulpd lngt: 20 @7098 function_decl name: @7100 type: @7088 srcp: :0 chan: @7101 body: undefined link: extern @7099 const_decl name: @6922 type: @4937 srcp: curl.h:1519 chan: @7102 cnst: @6923 @7100 identifier_node strg: __builtin_ia32_divpd lngt: 20 @7101 function_decl name: @7103 type: @7088 srcp: :0 chan: @7104 body: undefined link: extern @7102 const_decl name: @6928 type: @4937 srcp: curl.h:1523 chan: @7105 cnst: @6929 @7103 identifier_node strg: __builtin_ia32_addsd lngt: 20 @7104 function_decl name: @7106 type: @7088 srcp: :0 chan: @7107 body: undefined link: extern @7105 const_decl name: @6935 type: @4937 srcp: curl.h:1526 chan: @7108 cnst: @6936 @7106 identifier_node strg: __builtin_ia32_subsd lngt: 20 @7107 function_decl name: @7109 type: @7088 srcp: :0 chan: @7110 body: undefined link: extern @7108 const_decl name: @6944 type: @4937 srcp: curl.h:1529 chan: @7111 cnst: @6945 @7109 identifier_node strg: __builtin_ia32_mulsd lngt: 20 @7110 function_decl name: @7112 type: @7088 srcp: :0 chan: @7113 body: undefined link: extern @7111 const_decl name: @6954 type: @4937 srcp: curl.h:1530 chan: @7114 cnst: @6955 @7112 identifier_node strg: __builtin_ia32_divsd lngt: 20 @7113 function_decl name: @7115 type: @7116 srcp: :0 chan: @7117 body: undefined link: extern @7114 const_decl name: @6964 type: @4937 srcp: curl.h:1533 chan: @7118 cnst: @6965 @7115 identifier_node strg: __builtin_ia32_cmpeqpd lngt: 22 @7116 function_type size: @12 algn: 8 retn: @7119 prms: @7120 @7117 function_decl name: @7121 type: @7116 srcp: :0 chan: @7122 body: undefined link: extern @7118 const_decl name: @6973 type: @4937 srcp: curl.h:1536 chan: @7123 cnst: @6974 @7119 vector_type size: @72 algn: 128 @7120 tree_list valu: @7091 chan: @7124 @7121 identifier_node strg: __builtin_ia32_cmpltpd lngt: 22 @7122 function_decl name: @7125 type: @7116 srcp: :0 chan: @7126 body: undefined link: extern @7123 const_decl name: @6980 type: @4937 srcp: curl.h:1539 chan: @4936 cnst: @6981 @7124 tree_list valu: @7091 chan: @146 @7125 identifier_node strg: __builtin_ia32_cmplepd lngt: 22 @7126 function_decl name: @7127 type: @7116 srcp: :0 chan: @7128 body: undefined link: extern @7127 identifier_node strg: __builtin_ia32_cmpgtpd lngt: 22 @7128 function_decl name: @7129 type: @7116 srcp: :0 chan: @7130 body: undefined link: extern @7129 identifier_node strg: __builtin_ia32_cmpgepd lngt: 22 @7130 function_decl name: @7131 type: @7116 srcp: :0 chan: @7132 body: undefined link: extern @7131 identifier_node strg: __builtin_ia32_cmpunordpd lngt: 25 @7132 function_decl name: @7133 type: @7116 srcp: :0 chan: @7134 body: undefined link: extern @7133 identifier_node strg: __builtin_ia32_cmpneqpd lngt: 23 @7134 function_decl name: @7135 type: @7116 srcp: :0 chan: @7136 body: undefined link: extern @7135 identifier_node strg: __builtin_ia32_cmpnltpd lngt: 23 @7136 function_decl name: @7137 type: @7116 srcp: :0 chan: @7138 body: undefined link: extern @7137 identifier_node strg: __builtin_ia32_cmpnlepd lngt: 23 @7138 function_decl name: @7139 type: @7116 srcp: :0 chan: @7140 body: undefined link: extern @7139 identifier_node strg: __builtin_ia32_cmpngtpd lngt: 23 @7140 function_decl name: @7141 type: @7116 srcp: :0 chan: @7142 body: undefined link: extern @7141 identifier_node strg: __builtin_ia32_cmpngepd lngt: 23 @7142 function_decl name: @7143 type: @7116 srcp: :0 chan: @7144 body: undefined link: extern @7143 identifier_node strg: __builtin_ia32_cmpordpd lngt: 23 @7144 function_decl name: @7145 type: @7116 srcp: :0 chan: @7146 body: undefined link: extern @7145 identifier_node strg: __builtin_ia32_cmpeqsd lngt: 22 @7146 function_decl name: @7147 type: @7116 srcp: :0 chan: @7148 body: undefined link: extern @7147 identifier_node strg: __builtin_ia32_cmpltsd lngt: 22 @7148 function_decl name: @7149 type: @7116 srcp: :0 chan: @7150 body: undefined link: extern @7149 identifier_node strg: __builtin_ia32_cmplesd lngt: 22 @7150 function_decl name: @7151 type: @7116 srcp: :0 chan: @7152 body: undefined link: extern @7151 identifier_node strg: __builtin_ia32_cmpunordsd lngt: 25 @7152 function_decl name: @7153 type: @7116 srcp: :0 chan: @7154 body: undefined link: extern @7153 identifier_node strg: __builtin_ia32_cmpneqsd lngt: 23 @7154 function_decl name: @7155 type: @7116 srcp: :0 chan: @7156 body: undefined link: extern @7155 identifier_node strg: __builtin_ia32_cmpnltsd lngt: 23 @7156 function_decl name: @7157 type: @7116 srcp: :0 chan: @7158 body: undefined link: extern @7157 identifier_node strg: __builtin_ia32_cmpnlesd lngt: 23 @7158 function_decl name: @7159 type: @7116 srcp: :0 chan: @7160 body: undefined link: extern @7159 identifier_node strg: __builtin_ia32_cmpordsd lngt: 23 @7160 function_decl name: @7161 type: @7088 srcp: :0 chan: @7162 body: undefined link: extern @7161 identifier_node strg: __builtin_ia32_minpd lngt: 20 @7162 function_decl name: @7163 type: @7088 srcp: :0 chan: @7164 body: undefined link: extern @7163 identifier_node strg: __builtin_ia32_maxpd lngt: 20 @7164 function_decl name: @7165 type: @7088 srcp: :0 chan: @7166 body: undefined link: extern @7165 identifier_node strg: __builtin_ia32_minsd lngt: 20 @7166 function_decl name: @7167 type: @7088 srcp: :0 chan: @7168 body: undefined link: extern @7167 identifier_node strg: __builtin_ia32_maxsd lngt: 20 @7168 function_decl name: @7169 type: @7088 srcp: :0 chan: @7170 body: undefined link: extern @7169 identifier_node strg: __builtin_ia32_andpd lngt: 20 @7170 function_decl name: @7171 type: @7088 srcp: :0 chan: @7172 body: undefined link: extern @7171 identifier_node strg: __builtin_ia32_andnpd lngt: 21 @7172 function_decl name: @7173 type: @7088 srcp: :0 chan: @7174 body: undefined link: extern @7173 identifier_node strg: __builtin_ia32_orpd lngt: 19 @7174 function_decl name: @7175 type: @7088 srcp: :0 chan: @7176 body: undefined link: extern @7175 identifier_node strg: __builtin_ia32_xorpd lngt: 20 @7176 function_decl name: @7177 type: @7088 srcp: :0 chan: @7178 body: undefined link: extern @7177 identifier_node strg: __builtin_ia32_movsd lngt: 20 @7178 function_decl name: @7179 type: @7088 srcp: :0 chan: @7180 body: undefined link: extern @7179 identifier_node strg: __builtin_ia32_unpckhpd lngt: 23 @7180 function_decl name: @7181 type: @7088 srcp: :0 chan: @7182 body: undefined link: extern @7181 identifier_node strg: __builtin_ia32_unpcklpd lngt: 23 @7182 function_decl name: @7183 type: @7184 srcp: :0 chan: @7185 body: undefined link: extern @7183 identifier_node strg: __builtin_ia32_paddb128 lngt: 23 @7184 function_type size: @12 algn: 8 retn: @7186 prms: @7187 @7185 function_decl name: @7188 type: @7189 srcp: :0 chan: @7190 body: undefined link: extern @7186 vector_type size: @72 algn: 128 @7187 tree_list valu: @7186 chan: @7191 @7188 identifier_node strg: __builtin_ia32_paddw128 lngt: 23 @7189 function_type size: @12 algn: 8 retn: @7192 prms: @7193 @7190 function_decl name: @7194 type: @7195 srcp: :0 chan: @7196 body: undefined link: extern @7191 tree_list valu: @7186 chan: @146 @7192 vector_type size: @72 algn: 128 @7193 tree_list valu: @7192 chan: @7197 @7194 identifier_node strg: __builtin_ia32_paddd128 lngt: 23 @7195 function_type size: @12 algn: 8 retn: @6724 prms: @7198 @7196 function_decl name: @7199 type: @7200 srcp: :0 chan: @7201 body: undefined link: extern @7197 tree_list valu: @7192 chan: @146 @7198 tree_list valu: @6724 chan: @7202 @7199 identifier_node strg: __builtin_ia32_paddq128 lngt: 23 @7200 function_type size: @12 algn: 8 retn: @7119 prms: @7203 @7201 function_decl name: @7204 type: @7184 srcp: :0 chan: @7205 body: undefined link: extern @7202 tree_list valu: @6724 chan: @146 @7203 tree_list valu: @7119 chan: @7206 @7204 identifier_node strg: __builtin_ia32_psubb128 lngt: 23 @7205 function_decl name: @7207 type: @7189 srcp: :0 chan: @7208 body: undefined link: extern @7206 tree_list valu: @7119 chan: @146 @7207 identifier_node strg: __builtin_ia32_psubw128 lngt: 23 @7208 function_decl name: @7209 type: @7195 srcp: :0 chan: @7210 body: undefined link: extern @7209 identifier_node strg: __builtin_ia32_psubd128 lngt: 23 @7210 function_decl name: @7211 type: @7200 srcp: :0 chan: @7212 body: undefined link: extern @7211 identifier_node strg: __builtin_ia32_psubq128 lngt: 23 @7212 function_decl name: @7213 type: @7184 srcp: :0 chan: @7214 body: undefined link: extern @7213 identifier_node strg: __builtin_ia32_paddsb128 lngt: 24 @7214 function_decl name: @7215 type: @7189 srcp: :0 chan: @7216 body: undefined link: extern @7215 identifier_node strg: __builtin_ia32_paddsw128 lngt: 24 @7216 function_decl name: @7217 type: @7184 srcp: :0 chan: @7218 body: undefined link: extern @7217 identifier_node strg: __builtin_ia32_psubsb128 lngt: 24 @7218 function_decl name: @7219 type: @7189 srcp: :0 chan: @7220 body: undefined link: extern @7219 identifier_node strg: __builtin_ia32_psubsw128 lngt: 24 @7220 function_decl name: @7221 type: @7184 srcp: :0 chan: @7222 body: undefined link: extern @7221 identifier_node strg: __builtin_ia32_paddusb128 lngt: 25 @7222 function_decl name: @7223 type: @7189 srcp: :0 chan: @7224 body: undefined link: extern @7223 identifier_node strg: __builtin_ia32_paddusw128 lngt: 25 @7224 function_decl name: @7225 type: @7184 srcp: :0 chan: @7226 body: undefined link: extern @7225 identifier_node strg: __builtin_ia32_psubusb128 lngt: 25 @7226 function_decl name: @7227 type: @7189 srcp: :0 chan: @7228 body: undefined link: extern @7227 identifier_node strg: __builtin_ia32_psubusw128 lngt: 25 @7228 function_decl name: @7229 type: @7189 srcp: :0 chan: @7230 body: undefined link: extern @7229 identifier_node strg: __builtin_ia32_pmullw128 lngt: 24 @7230 function_decl name: @7231 type: @7189 srcp: :0 chan: @7232 body: undefined link: extern @7231 identifier_node strg: __builtin_ia32_pmulhw128 lngt: 24 @7232 function_decl name: @7233 type: @7200 srcp: :0 chan: @7234 body: undefined link: extern @7233 identifier_node strg: __builtin_ia32_pand128 lngt: 22 @7234 function_decl name: @7235 type: @7200 srcp: :0 chan: @7236 body: undefined link: extern @7235 identifier_node strg: __builtin_ia32_pandn128 lngt: 23 @7236 function_decl name: @7237 type: @7200 srcp: :0 chan: @7238 body: undefined link: extern @7237 identifier_node strg: __builtin_ia32_por128 lngt: 21 @7238 function_decl name: @7239 type: @7200 srcp: :0 chan: @7240 body: undefined link: extern @7239 identifier_node strg: __builtin_ia32_pxor128 lngt: 22 @7240 function_decl name: @7241 type: @7184 srcp: :0 chan: @7242 body: undefined link: extern @7241 identifier_node strg: __builtin_ia32_pavgb128 lngt: 23 @7242 function_decl name: @7243 type: @7189 srcp: :0 chan: @7244 body: undefined link: extern @7243 identifier_node strg: __builtin_ia32_pavgw128 lngt: 23 @7244 function_decl name: @7245 type: @7184 srcp: :0 chan: @7246 body: undefined link: extern @7245 identifier_node strg: __builtin_ia32_pcmpeqb128 lngt: 25 @7246 function_decl name: @7247 type: @7189 srcp: :0 chan: @7248 body: undefined link: extern @7247 identifier_node strg: __builtin_ia32_pcmpeqw128 lngt: 25 @7248 function_decl name: @7249 type: @7195 srcp: :0 chan: @7250 body: undefined link: extern @7249 identifier_node strg: __builtin_ia32_pcmpeqd128 lngt: 25 @7250 function_decl name: @7251 type: @7184 srcp: :0 chan: @7252 body: undefined link: extern @7251 identifier_node strg: __builtin_ia32_pcmpgtb128 lngt: 25 @7252 function_decl name: @7253 type: @7189 srcp: :0 chan: @7254 body: undefined link: extern @7253 identifier_node strg: __builtin_ia32_pcmpgtw128 lngt: 25 @7254 function_decl name: @7255 type: @7195 srcp: :0 chan: @7256 body: undefined link: extern @7255 identifier_node strg: __builtin_ia32_pcmpgtd128 lngt: 25 @7256 function_decl name: @7257 type: @7184 srcp: :0 chan: @7258 body: undefined link: extern @7257 identifier_node strg: __builtin_ia32_pmaxub128 lngt: 24 @7258 function_decl name: @7259 type: @7189 srcp: :0 chan: @7260 body: undefined link: extern @7259 identifier_node strg: __builtin_ia32_pmaxsw128 lngt: 24 @7260 function_decl name: @7261 type: @7184 srcp: :0 chan: @7262 body: undefined link: extern @7261 identifier_node strg: __builtin_ia32_pminub128 lngt: 24 @7262 function_decl name: @7263 type: @7189 srcp: :0 chan: @7264 body: undefined link: extern @7263 identifier_node strg: __builtin_ia32_pminsw128 lngt: 24 @7264 function_decl name: @7265 type: @7184 srcp: :0 chan: @7266 body: undefined link: extern @7265 identifier_node strg: __builtin_ia32_punpckhbw128 lngt: 27 @7266 function_decl name: @7267 type: @7189 srcp: :0 chan: @7268 body: undefined link: extern @7267 identifier_node strg: __builtin_ia32_punpckhwd128 lngt: 27 @7268 function_decl name: @7269 type: @7195 srcp: :0 chan: @7270 body: undefined link: extern @7269 identifier_node strg: __builtin_ia32_punpckhdq128 lngt: 27 @7270 function_decl name: @7271 type: @7200 srcp: :0 chan: @7272 body: undefined link: extern @7271 identifier_node strg: __builtin_ia32_punpckhqdq128 lngt: 28 @7272 function_decl name: @7273 type: @7184 srcp: :0 chan: @7274 body: undefined link: extern @7273 identifier_node strg: __builtin_ia32_punpcklbw128 lngt: 27 @7274 function_decl name: @7275 type: @7189 srcp: :0 chan: @7276 body: undefined link: extern @7275 identifier_node strg: __builtin_ia32_punpcklwd128 lngt: 27 @7276 function_decl name: @7277 type: @7195 srcp: :0 chan: @7278 body: undefined link: extern @7277 identifier_node strg: __builtin_ia32_punpckldq128 lngt: 27 @7278 function_decl name: @7279 type: @7200 srcp: :0 chan: @7280 body: undefined link: extern @7279 identifier_node strg: __builtin_ia32_punpcklqdq128 lngt: 28 @7280 function_decl name: @7281 type: @7189 srcp: :0 chan: @7282 body: undefined link: extern @7281 identifier_node strg: __builtin_ia32_packsswb128 lngt: 26 @7282 function_decl name: @7283 type: @7195 srcp: :0 chan: @7284 body: undefined link: extern @7283 identifier_node strg: __builtin_ia32_packssdw128 lngt: 26 @7284 function_decl name: @7285 type: @7189 srcp: :0 chan: @7286 body: undefined link: extern @7285 identifier_node strg: __builtin_ia32_packuswb128 lngt: 26 @7286 function_decl name: @7287 type: @7189 srcp: :0 chan: @7288 body: undefined link: extern @7287 identifier_node strg: __builtin_ia32_pmulhuw128 lngt: 25 @7288 function_decl name: @7289 type: @6666 srcp: :0 chan: @7290 body: undefined link: extern @7289 identifier_node strg: __builtin_ia32_addsubps lngt: 23 @7290 function_decl name: @7291 type: @7088 srcp: :0 chan: @7292 body: undefined link: extern @7291 identifier_node strg: __builtin_ia32_addsubpd lngt: 23 @7292 function_decl name: @7293 type: @6666 srcp: :0 chan: @7294 body: undefined link: extern @7293 identifier_node strg: __builtin_ia32_haddps lngt: 21 @7294 function_decl name: @7295 type: @7088 srcp: :0 chan: @7296 body: undefined link: extern @7295 identifier_node strg: __builtin_ia32_haddpd lngt: 21 @7296 function_decl name: @7297 type: @6666 srcp: :0 chan: @7298 body: undefined link: extern @7297 identifier_node strg: __builtin_ia32_hsubps lngt: 21 @7298 function_decl name: @7299 type: @7088 srcp: :0 chan: @7300 body: undefined link: extern @7299 identifier_node strg: __builtin_ia32_hsubpd lngt: 21 @7300 function_decl name: @7301 type: @4037 srcp: :0 chan: @7302 body: undefined link: extern @7301 identifier_node strg: __builtin_ia32_emms lngt: 19 @7302 function_decl name: @7303 type: @7304 srcp: :0 chan: @7305 body: undefined link: extern @7303 identifier_node strg: __builtin_ia32_psllw lngt: 20 @7304 function_type size: @12 algn: 8 retn: @6948 prms: @7306 @7305 function_decl name: @7307 type: @7308 srcp: :0 chan: @7309 body: undefined link: extern @7306 tree_list valu: @6948 chan: @7310 @7307 identifier_node strg: __builtin_ia32_psllwi lngt: 21 @7308 function_type size: @12 algn: 8 retn: @6948 prms: @7311 @7309 function_decl name: @7312 type: @7313 srcp: :0 chan: @7314 body: undefined link: extern @7310 tree_list valu: @6968 chan: @146 @7311 tree_list valu: @6948 chan: @7315 @7312 identifier_node strg: __builtin_ia32_pslld lngt: 20 @7313 function_type size: @12 algn: 8 retn: @6958 prms: @7316 @7314 function_decl name: @7317 type: @7318 srcp: :0 chan: @7319 body: undefined link: extern @7315 tree_list valu: @3 chan: @146 @7316 tree_list valu: @6958 chan: @7320 @7317 identifier_node strg: __builtin_ia32_pslldi lngt: 21 @7318 function_type size: @12 algn: 8 retn: @6958 prms: @7321 @7319 function_decl name: @7322 type: @6961 srcp: :0 chan: @7323 body: undefined link: extern @7320 tree_list valu: @6968 chan: @146 @7321 tree_list valu: @6958 chan: @7324 @7322 identifier_node strg: __builtin_ia32_psllq lngt: 20 @7323 function_decl name: @7325 type: @7326 srcp: :0 chan: @7327 body: undefined link: extern @7324 tree_list valu: @3 chan: @146 @7325 identifier_node strg: __builtin_ia32_psllqi lngt: 21 @7326 function_type size: @12 algn: 8 retn: @6968 prms: @7328 @7327 function_decl name: @7329 type: @7304 srcp: :0 chan: @7330 body: undefined link: extern @7328 tree_list valu: @6968 chan: @7331 @7329 identifier_node strg: __builtin_ia32_psrlw lngt: 20 @7330 function_decl name: @7332 type: @7308 srcp: :0 chan: @7333 body: undefined link: extern @7331 tree_list valu: @3 chan: @146 @7332 identifier_node strg: __builtin_ia32_psrlwi lngt: 21 @7333 function_decl name: @7334 type: @7313 srcp: :0 chan: @7335 body: undefined link: extern @7334 identifier_node strg: __builtin_ia32_psrld lngt: 20 @7335 function_decl name: @7336 type: @7318 srcp: :0 chan: @7337 body: undefined link: extern @7336 identifier_node strg: __builtin_ia32_psrldi lngt: 21 @7337 function_decl name: @7338 type: @6961 srcp: :0 chan: @7339 body: undefined link: extern @7338 identifier_node strg: __builtin_ia32_psrlq lngt: 20 @7339 function_decl name: @7340 type: @7326 srcp: :0 chan: @7341 body: undefined link: extern @7340 identifier_node strg: __builtin_ia32_psrlqi lngt: 21 @7341 function_decl name: @7342 type: @7304 srcp: :0 chan: @7343 body: undefined link: extern @7342 identifier_node strg: __builtin_ia32_psraw lngt: 20 @7343 function_decl name: @7344 type: @7308 srcp: :0 chan: @7345 body: undefined link: extern @7344 identifier_node strg: __builtin_ia32_psrawi lngt: 21 @7345 function_decl name: @7346 type: @7313 srcp: :0 chan: @7347 body: undefined link: extern @7346 identifier_node strg: __builtin_ia32_psrad lngt: 20 @7347 function_decl name: @7348 type: @7318 srcp: :0 chan: @7349 body: undefined link: extern @7348 identifier_node strg: __builtin_ia32_psradi lngt: 21 @7349 function_decl name: @7350 type: @7308 srcp: :0 chan: @7351 body: undefined link: extern @7350 identifier_node strg: __builtin_ia32_pshufw lngt: 21 @7351 function_decl name: @7352 type: @7353 srcp: :0 chan: @7354 body: undefined link: extern @7352 identifier_node strg: __builtin_ia32_pmaddwd lngt: 22 @7353 function_type size: @12 algn: 8 retn: @6958 prms: @7355 @7354 function_decl name: @7356 type: @7357 srcp: :0 chan: @7358 body: undefined link: extern @7355 tree_list valu: @6948 chan: @7359 @7356 identifier_node strg: __builtin_ia32_comieq lngt: 21 @7357 function_type size: @12 algn: 8 retn: @3 prms: @7360 @7358 function_decl name: @7361 type: @7357 srcp: :0 chan: @7362 body: undefined link: extern @7359 tree_list valu: @6948 chan: @146 @7360 tree_list valu: @6672 chan: @7363 @7361 identifier_node strg: __builtin_ia32_comilt lngt: 21 @7362 function_decl name: @7364 type: @7357 srcp: :0 chan: @7365 body: undefined link: extern @7363 tree_list valu: @6672 chan: @146 @7364 identifier_node strg: __builtin_ia32_comile lngt: 21 @7365 function_decl name: @7366 type: @7357 srcp: :0 chan: @7367 body: undefined link: extern @7366 identifier_node strg: __builtin_ia32_comigt lngt: 21 @7367 function_decl name: @7368 type: @7357 srcp: :0 chan: @7369 body: undefined link: extern @7368 identifier_node strg: __builtin_ia32_comige lngt: 21 @7369 function_decl name: @7370 type: @7357 srcp: :0 chan: @7371 body: undefined link: extern @7370 identifier_node strg: __builtin_ia32_comineq lngt: 22 @7371 function_decl name: @7372 type: @7373 srcp: :0 chan: @7374 body: undefined link: extern @7372 identifier_node strg: __builtin_ia32_comisdeq lngt: 23 @7373 function_type size: @12 algn: 8 retn: @3 prms: @7375 @7374 function_decl name: @7376 type: @7373 srcp: :0 chan: @7377 body: undefined link: extern @7375 tree_list valu: @7091 chan: @7378 @7376 identifier_node strg: __builtin_ia32_comisdlt lngt: 23 @7377 function_decl name: @7379 type: @7373 srcp: :0 chan: @7380 body: undefined link: extern @7378 tree_list valu: @7091 chan: @146 @7379 identifier_node strg: __builtin_ia32_comisdle lngt: 23 @7380 function_decl name: @7381 type: @7373 srcp: :0 chan: @7382 body: undefined link: extern @7381 identifier_node strg: __builtin_ia32_comisdgt lngt: 23 @7382 function_decl name: @7383 type: @7373 srcp: :0 chan: @7384 body: undefined link: extern @7383 identifier_node strg: __builtin_ia32_comisdge lngt: 23 @7384 function_decl name: @7385 type: @7373 srcp: :0 chan: @7386 body: undefined link: extern @7385 identifier_node strg: __builtin_ia32_comisdneq lngt: 24 @7386 function_decl name: @7387 type: @7357 srcp: :0 chan: @7388 body: undefined link: extern @7387 identifier_node strg: __builtin_ia32_ucomieq lngt: 22 @7388 function_decl name: @7389 type: @7357 srcp: :0 chan: @7390 body: undefined link: extern @7389 identifier_node strg: __builtin_ia32_ucomilt lngt: 22 @7390 function_decl name: @7391 type: @7357 srcp: :0 chan: @7392 body: undefined link: extern @7391 identifier_node strg: __builtin_ia32_ucomile lngt: 22 @7392 function_decl name: @7393 type: @7357 srcp: :0 chan: @7394 body: undefined link: extern @7393 identifier_node strg: __builtin_ia32_ucomigt lngt: 22 @7394 function_decl name: @7395 type: @7357 srcp: :0 chan: @7396 body: undefined link: extern @7395 identifier_node strg: __builtin_ia32_ucomige lngt: 22 @7396 function_decl name: @7397 type: @7357 srcp: :0 chan: @7398 body: undefined link: extern @7397 identifier_node strg: __builtin_ia32_ucomineq lngt: 23 @7398 function_decl name: @7399 type: @7373 srcp: :0 chan: @7400 body: undefined link: extern @7399 identifier_node strg: __builtin_ia32_ucomisdeq lngt: 24 @7400 function_decl name: @7401 type: @7373 srcp: :0 chan: @7402 body: undefined link: extern @7401 identifier_node strg: __builtin_ia32_ucomisdlt lngt: 24 @7402 function_decl name: @7403 type: @7373 srcp: :0 chan: @7404 body: undefined link: extern @7403 identifier_node strg: __builtin_ia32_ucomisdle lngt: 24 @7404 function_decl name: @7405 type: @7373 srcp: :0 chan: @7406 body: undefined link: extern @7405 identifier_node strg: __builtin_ia32_ucomisdgt lngt: 24 @7406 function_decl name: @7407 type: @7373 srcp: :0 chan: @7408 body: undefined link: extern @7407 identifier_node strg: __builtin_ia32_ucomisdge lngt: 24 @7408 function_decl name: @7409 type: @7373 srcp: :0 chan: @7410 body: undefined link: extern @7409 identifier_node strg: __builtin_ia32_ucomisdneq lngt: 25 @7410 function_decl name: @7411 type: @7412 srcp: :0 chan: @7413 body: undefined link: extern @7411 identifier_node strg: __builtin_ia32_packsswb lngt: 23 @7412 function_type size: @12 algn: 8 retn: @6938 prms: @7414 @7413 function_decl name: @7415 type: @7416 srcp: :0 chan: @7417 body: undefined link: extern @7414 tree_list valu: @6948 chan: @7418 @7415 identifier_node strg: __builtin_ia32_packssdw lngt: 23 @7416 function_type size: @12 algn: 8 retn: @6948 prms: @7419 @7417 function_decl name: @7420 type: @7412 srcp: :0 chan: @7421 body: undefined link: extern @7418 tree_list valu: @6948 chan: @146 @7419 tree_list valu: @6958 chan: @7422 @7420 identifier_node strg: __builtin_ia32_packuswb lngt: 23 @7421 function_decl name: @7423 type: @7424 srcp: :0 chan: @7425 body: undefined link: extern @7422 tree_list valu: @6958 chan: @146 @7423 identifier_node strg: __builtin_ia32_ldmxcsr lngt: 22 @7424 function_type size: @12 algn: 8 retn: @124 prms: @7426 @7425 function_decl name: @7427 type: @3111 srcp: :0 chan: @7428 body: undefined link: extern @7426 tree_list valu: @25 chan: @146 @7427 identifier_node strg: __builtin_ia32_stmxcsr lngt: 22 @7428 function_decl name: @7429 type: @7430 srcp: :0 chan: @7431 body: undefined link: extern @7429 identifier_node strg: __builtin_ia32_cvtpi2ps lngt: 23 @7430 function_type size: @12 algn: 8 retn: @6672 prms: @7432 @7431 function_decl name: @7433 type: @7434 srcp: :0 chan: @7435 body: undefined link: extern @7432 tree_list valu: @6672 chan: @7436 @7433 identifier_node strg: __builtin_ia32_cvtps2pi lngt: 23 @7434 function_type size: @12 algn: 8 retn: @6958 prms: @7437 @7435 function_decl name: @7438 type: @7439 srcp: :0 chan: @7440 body: undefined link: extern @7436 tree_list valu: @6958 chan: @146 @7437 tree_list valu: @6672 chan: @146 @7438 identifier_node strg: __builtin_ia32_cvtsi2ss lngt: 23 @7439 function_type size: @12 algn: 8 retn: @6672 prms: @7441 @7440 function_decl name: @7442 type: @7443 srcp: :0 chan: @7444 body: undefined link: extern @7441 tree_list valu: @6672 chan: @7445 @7442 identifier_node strg: __builtin_ia32_cvtsi642ss lngt: 25 @7443 function_type size: @12 algn: 8 retn: @6672 prms: @7446 @7444 function_decl name: @7447 type: @7448 srcp: :0 chan: @7449 body: undefined link: extern @7445 tree_list valu: @3 chan: @146 @7446 tree_list valu: @6672 chan: @7450 @7447 identifier_node strg: __builtin_ia32_cvtss2si lngt: 23 @7448 function_type size: @12 algn: 8 retn: @3 prms: @7451 @7449 function_decl name: @7452 type: @7453 srcp: :0 chan: @7454 body: undefined link: extern @7450 tree_list valu: @35 chan: @146 @7451 tree_list valu: @6672 chan: @146 @7452 identifier_node strg: __builtin_ia32_cvtss2si64 lngt: 25 @7453 function_type size: @12 algn: 8 retn: @35 prms: @7455 @7454 function_decl name: @7456 type: @7434 srcp: :0 chan: @7457 body: undefined link: extern @7455 tree_list valu: @6672 chan: @146 @7456 identifier_node strg: __builtin_ia32_cvttps2pi lngt: 24 @7457 function_decl name: @7458 type: @7448 srcp: :0 chan: @7459 body: undefined link: extern @7458 identifier_node strg: __builtin_ia32_cvttss2si lngt: 24 @7459 function_decl name: @7460 type: @7453 srcp: :0 chan: @7461 body: undefined link: extern @7460 identifier_node strg: __builtin_ia32_cvttss2si64 lngt: 26 @7461 function_decl name: @7462 type: @7463 srcp: :0 chan: @7464 body: undefined link: extern @7462 identifier_node strg: __builtin_ia32_maskmovq lngt: 23 @7463 function_type size: @12 algn: 8 retn: @124 prms: @7465 @7464 function_decl name: @7466 type: @7467 srcp: :0 chan: @7468 body: undefined link: extern @7465 tree_list valu: @6938 chan: @7469 @7466 identifier_node strg: __builtin_ia32_loadups lngt: 22 @7467 function_type size: @12 algn: 8 retn: @6672 prms: @7470 @7468 function_decl name: @7471 type: @7472 srcp: :0 chan: @7473 body: undefined link: extern @7469 tree_list valu: @6938 chan: @7474 @7470 tree_list valu: @7475 chan: @146 @7471 identifier_node strg: __builtin_ia32_storeups lngt: 23 @7472 function_type size: @12 algn: 8 retn: @124 prms: @7476 @7473 function_decl name: @7477 type: @7478 srcp: :0 chan: @7479 body: undefined link: extern @7474 tree_list valu: @1527 chan: @146 @7475 pointer_type size: @19 algn: 64 ptd : @7480 @7476 tree_list valu: @819 chan: @7481 @7477 identifier_node strg: __builtin_ia32_loadhps lngt: 22 @7478 function_type size: @12 algn: 8 retn: @6672 prms: @7482 @7479 function_decl name: @7483 type: @7478 srcp: :0 chan: @7484 body: undefined link: extern @7480 real_type qual: c name: @89 unql: @93 size: @5 algn: 32 prec: 32 @7481 tree_list valu: @6672 chan: @146 @7482 tree_list valu: @6672 chan: @7485 @7483 identifier_node strg: __builtin_ia32_loadlps lngt: 22 @7484 function_decl name: @7486 type: @7487 srcp: :0 chan: @7488 body: undefined link: extern @7485 tree_list valu: @7489 chan: @146 @7486 identifier_node strg: __builtin_ia32_storehps lngt: 23 @7487 function_type size: @12 algn: 8 retn: @124 prms: @7490 @7488 function_decl name: @7491 type: @7487 srcp: :0 chan: @7492 body: undefined link: extern @7489 pointer_type size: @19 algn: 64 ptd : @6958 @7490 tree_list valu: @7489 chan: @7493 @7491 identifier_node strg: __builtin_ia32_storelps lngt: 23 @7492 function_decl name: @7494 type: @7448 srcp: :0 chan: @7495 body: undefined link: extern @7493 tree_list valu: @6672 chan: @146 @7494 identifier_node strg: __builtin_ia32_movmskps lngt: 23 @7495 function_decl name: @7496 type: @7497 srcp: :0 chan: @7498 body: undefined link: extern @7496 identifier_node strg: __builtin_ia32_pmovmskb lngt: 23 @7497 function_type size: @12 algn: 8 retn: @3 prms: @7499 @7498 function_decl name: @7500 type: @7472 srcp: :0 chan: @7501 body: undefined link: extern @7499 tree_list valu: @6938 chan: @146 @7500 identifier_node strg: __builtin_ia32_movntps lngt: 22 @7501 function_decl name: @7502 type: @7503 srcp: :0 chan: @7504 body: undefined link: extern @7502 identifier_node strg: __builtin_ia32_movntq lngt: 21 @7503 function_type size: @12 algn: 8 retn: @124 prms: @7505 @7504 function_decl name: @7506 type: @4037 srcp: :0 chan: @7507 body: undefined link: extern @7505 tree_list valu: @7508 chan: @7509 @7506 identifier_node strg: __builtin_ia32_sfence lngt: 21 @7507 function_decl name: @7510 type: @7511 srcp: :0 chan: @7512 body: undefined link: extern @7508 pointer_type size: @19 algn: 64 ptd : @6968 @7509 tree_list valu: @6968 chan: @146 @7510 identifier_node strg: __builtin_ia32_psadbw lngt: 21 @7511 function_type size: @12 algn: 8 retn: @6968 prms: @7513 @7512 function_decl name: @7514 type: @7515 srcp: :0 chan: @7516 body: undefined link: extern @7513 tree_list valu: @6938 chan: @7517 @7514 identifier_node strg: __builtin_ia32_rcpps lngt: 20 @7515 function_type size: @12 algn: 8 retn: @6672 prms: @7518 @7516 function_decl name: @7519 type: @7515 srcp: :0 chan: @7520 body: undefined link: extern @7517 tree_list valu: @6938 chan: @146 @7518 tree_list valu: @6672 chan: @146 @7519 identifier_node strg: __builtin_ia32_rcpss lngt: 20 @7520 function_decl name: @7521 type: @7515 srcp: :0 chan: @7522 body: undefined link: extern @7521 identifier_node strg: __builtin_ia32_rsqrtps lngt: 22 @7522 function_decl name: @7523 type: @7515 srcp: :0 chan: @7524 body: undefined link: extern @7523 identifier_node strg: __builtin_ia32_rsqrtss lngt: 22 @7524 function_decl name: @7525 type: @7515 srcp: :0 chan: @7526 body: undefined link: extern @7525 identifier_node strg: __builtin_ia32_sqrtps lngt: 21 @7526 function_decl name: @7527 type: @7515 srcp: :0 chan: @7528 body: undefined link: extern @7527 identifier_node strg: __builtin_ia32_sqrtss lngt: 21 @7528 function_decl name: @7529 type: @7530 srcp: :0 chan: @7531 body: undefined link: extern @7529 identifier_node strg: __builtin_ia32_shufps lngt: 21 @7530 function_type size: @12 algn: 8 retn: @6672 prms: @7532 @7531 function_decl name: @7533 type: @7534 srcp: :0 chan: @7535 body: undefined link: extern @7532 tree_list valu: @6672 chan: @7536 @7533 identifier_node strg: __builtin_ia32_maskmovdqu lngt: 25 @7534 function_type size: @12 algn: 8 retn: @124 prms: @7537 @7535 function_decl name: @7538 type: @7539 srcp: :0 chan: @7540 body: undefined link: extern @7536 tree_list valu: @6672 chan: @7541 @7537 tree_list valu: @7186 chan: @7542 @7538 identifier_node strg: __builtin_ia32_loadupd lngt: 22 @7539 function_type size: @12 algn: 8 retn: @7091 prms: @7543 @7540 function_decl name: @7544 type: @7545 srcp: :0 chan: @7546 body: undefined link: extern @7541 tree_list valu: @3 chan: @146 @7542 tree_list valu: @7186 chan: @7547 @7543 tree_list valu: @7548 chan: @146 @7544 identifier_node strg: __builtin_ia32_storeupd lngt: 23 @7545 function_type size: @12 algn: 8 retn: @124 prms: @7549 @7546 function_decl name: @7550 type: @7551 srcp: :0 chan: @7552 body: undefined link: extern @7547 tree_list valu: @1527 chan: @146 @7548 pointer_type size: @19 algn: 64 ptd : @7553 @7549 tree_list valu: @811 chan: @7554 @7550 identifier_node strg: __builtin_ia32_loadhpd lngt: 22 @7551 function_type size: @12 algn: 8 retn: @7091 prms: @7555 @7552 function_decl name: @7556 type: @7551 srcp: :0 chan: @7557 body: undefined link: extern @7553 real_type qual: c name: @94 unql: @96 size: @19 algn: 64 prec: 64 @7554 tree_list valu: @7091 chan: @146 @7555 tree_list valu: @7091 chan: @7558 @7556 identifier_node strg: __builtin_ia32_loadlpd lngt: 22 @7557 function_decl name: @7559 type: @7560 srcp: :0 chan: @7561 body: undefined link: extern @7558 tree_list valu: @7548 chan: @146 @7559 identifier_node strg: __builtin_ia32_movmskpd lngt: 23 @7560 function_type size: @12 algn: 8 retn: @3 prms: @7562 @7561 function_decl name: @7563 type: @7564 srcp: :0 chan: @7565 body: undefined link: extern @7562 tree_list valu: @7091 chan: @146 @7563 identifier_node strg: __builtin_ia32_pmovmskb128 lngt: 26 @7564 function_type size: @12 algn: 8 retn: @3 prms: @7566 @7565 function_decl name: @7567 type: @7568 srcp: :0 chan: @7569 body: undefined link: extern @7566 tree_list valu: @7186 chan: @146 @7567 identifier_node strg: __builtin_ia32_movnti lngt: 21 @7568 function_type size: @12 algn: 8 retn: @124 prms: @7570 @7569 function_decl name: @7571 type: @7545 srcp: :0 chan: @7572 body: undefined link: extern @7570 tree_list valu: @501 chan: @7573 @7571 identifier_node strg: __builtin_ia32_movntpd lngt: 22 @7572 function_decl name: @7574 type: @7575 srcp: :0 chan: @7576 body: undefined link: extern @7573 tree_list valu: @3 chan: @146 @7574 identifier_node strg: __builtin_ia32_movntdq lngt: 22 @7575 function_type size: @12 algn: 8 retn: @124 prms: @7577 @7576 function_decl name: @7578 type: @7579 srcp: :0 chan: @7580 body: undefined link: extern @7577 tree_list valu: @7581 chan: @7582 @7578 identifier_node strg: __builtin_ia32_pshufd lngt: 21 @7579 function_type size: @12 algn: 8 retn: @6724 prms: @7583 @7580 function_decl name: @7584 type: @7585 srcp: :0 chan: @7586 body: undefined link: extern @7581 pointer_type size: @19 algn: 64 ptd : @7119 @7582 tree_list valu: @7119 chan: @146 @7583 tree_list valu: @6724 chan: @7587 @7584 identifier_node strg: __builtin_ia32_pshuflw lngt: 22 @7585 function_type size: @12 algn: 8 retn: @7192 prms: @7588 @7586 function_decl name: @7589 type: @7585 srcp: :0 chan: @7590 body: undefined link: extern @7587 tree_list valu: @3 chan: @146 @7588 tree_list valu: @7192 chan: @7591 @7589 identifier_node strg: __builtin_ia32_pshufhw lngt: 22 @7590 function_decl name: @7592 type: @7593 srcp: :0 chan: @7594 body: undefined link: extern @7591 tree_list valu: @3 chan: @146 @7592 identifier_node strg: __builtin_ia32_psadbw128 lngt: 24 @7593 function_type size: @12 algn: 8 retn: @7119 prms: @7595 @7594 function_decl name: @7596 type: @7597 srcp: :0 chan: @7598 body: undefined link: extern @7595 tree_list valu: @7186 chan: @7599 @7596 identifier_node strg: __builtin_ia32_sqrtpd lngt: 21 @7597 function_type size: @12 algn: 8 retn: @7091 prms: @7600 @7598 function_decl name: @7601 type: @7597 srcp: :0 chan: @7602 body: undefined link: extern @7599 tree_list valu: @7186 chan: @146 @7600 tree_list valu: @7091 chan: @146 @7601 identifier_node strg: __builtin_ia32_sqrtsd lngt: 21 @7602 function_decl name: @7603 type: @7604 srcp: :0 chan: @7605 body: undefined link: extern @7603 identifier_node strg: __builtin_ia32_shufpd lngt: 21 @7604 function_type size: @12 algn: 8 retn: @7091 prms: @7606 @7605 function_decl name: @7607 type: @7608 srcp: :0 chan: @7609 body: undefined link: extern @7606 tree_list valu: @7091 chan: @7610 @7607 identifier_node strg: __builtin_ia32_cvtdq2pd lngt: 23 @7608 function_type size: @12 algn: 8 retn: @7091 prms: @7611 @7609 function_decl name: @7612 type: @7613 srcp: :0 chan: @7614 body: undefined link: extern @7610 tree_list valu: @7091 chan: @7615 @7611 tree_list valu: @6724 chan: @146 @7612 identifier_node strg: __builtin_ia32_cvtdq2ps lngt: 23 @7613 function_type size: @12 algn: 8 retn: @6672 prms: @7616 @7614 function_decl name: @7617 type: @7618 srcp: :0 chan: @7619 body: undefined link: extern @7615 tree_list valu: @3 chan: @146 @7616 tree_list valu: @6724 chan: @146 @7617 identifier_node strg: __builtin_ia32_cvtpd2dq lngt: 23 @7618 function_type size: @12 algn: 8 retn: @6724 prms: @7620 @7619 function_decl name: @7621 type: @7622 srcp: :0 chan: @7623 body: undefined link: extern @7620 tree_list valu: @7091 chan: @146 @7621 identifier_node strg: __builtin_ia32_cvtpd2pi lngt: 23 @7622 function_type size: @12 algn: 8 retn: @6958 prms: @7624 @7623 function_decl name: @7625 type: @7626 srcp: :0 chan: @7627 body: undefined link: extern @7624 tree_list valu: @7091 chan: @146 @7625 identifier_node strg: __builtin_ia32_cvtpd2ps lngt: 23 @7626 function_type size: @12 algn: 8 retn: @6672 prms: @7628 @7627 function_decl name: @7629 type: @7618 srcp: :0 chan: @7630 body: undefined link: extern @7628 tree_list valu: @7091 chan: @146 @7629 identifier_node strg: __builtin_ia32_cvttpd2dq lngt: 24 @7630 function_decl name: @7631 type: @7622 srcp: :0 chan: @7632 body: undefined link: extern @7631 identifier_node strg: __builtin_ia32_cvttpd2pi lngt: 24 @7632 function_decl name: @7633 type: @7634 srcp: :0 chan: @7635 body: undefined link: extern @7633 identifier_node strg: __builtin_ia32_cvtpi2pd lngt: 23 @7634 function_type size: @12 algn: 8 retn: @7091 prms: @7636 @7635 function_decl name: @7637 type: @7560 srcp: :0 chan: @7638 body: undefined link: extern @7636 tree_list valu: @6958 chan: @146 @7637 identifier_node strg: __builtin_ia32_cvtsd2si lngt: 23 @7638 function_decl name: @7639 type: @7560 srcp: :0 chan: @7640 body: undefined link: extern @7639 identifier_node strg: __builtin_ia32_cvttsd2si lngt: 24 @7640 function_decl name: @7641 type: @7642 srcp: :0 chan: @7643 body: undefined link: extern @7641 identifier_node strg: __builtin_ia32_cvtsd2si64 lngt: 25 @7642 function_type size: @12 algn: 8 retn: @35 prms: @7644 @7643 function_decl name: @7645 type: @7642 srcp: :0 chan: @7646 body: undefined link: extern @7644 tree_list valu: @7091 chan: @146 @7645 identifier_node strg: __builtin_ia32_cvttsd2si64 lngt: 26 @7646 function_decl name: @7647 type: @7648 srcp: :0 chan: @7649 body: undefined link: extern @7647 identifier_node strg: __builtin_ia32_cvtps2dq lngt: 23 @7648 function_type size: @12 algn: 8 retn: @6724 prms: @7650 @7649 function_decl name: @7651 type: @7652 srcp: :0 chan: @7653 body: undefined link: extern @7650 tree_list valu: @6672 chan: @146 @7651 identifier_node strg: __builtin_ia32_cvtps2pd lngt: 23 @7652 function_type size: @12 algn: 8 retn: @7091 prms: @7654 @7653 function_decl name: @7655 type: @7648 srcp: :0 chan: @7656 body: undefined link: extern @7654 tree_list valu: @6672 chan: @146 @7655 identifier_node strg: __builtin_ia32_cvttps2dq lngt: 24 @7656 function_decl name: @7657 type: @7658 srcp: :0 chan: @7659 body: undefined link: extern @7657 identifier_node strg: __builtin_ia32_cvtsi2sd lngt: 23 @7658 function_type size: @12 algn: 8 retn: @7091 prms: @7660 @7659 function_decl name: @7661 type: @7662 srcp: :0 chan: @7663 body: undefined link: extern @7660 tree_list valu: @7091 chan: @7664 @7661 identifier_node strg: __builtin_ia32_cvtsi642sd lngt: 25 @7662 function_type size: @12 algn: 8 retn: @7091 prms: @7665 @7663 function_decl name: @7666 type: @7667 srcp: :0 chan: @7668 body: undefined link: extern @7664 tree_list valu: @3 chan: @146 @7665 tree_list valu: @7091 chan: @7669 @7666 identifier_node strg: __builtin_ia32_cvtsd2ss lngt: 23 @7667 function_type size: @12 algn: 8 retn: @6672 prms: @7670 @7668 function_decl name: @7671 type: @7672 srcp: :0 chan: @7673 body: undefined link: extern @7669 tree_list valu: @35 chan: @146 @7670 tree_list valu: @6672 chan: @7674 @7671 identifier_node strg: __builtin_ia32_cvtss2sd lngt: 23 @7672 function_type size: @12 algn: 8 retn: @7091 prms: @7675 @7673 function_decl name: @7676 type: @7677 srcp: :0 chan: @7678 body: undefined link: extern @7674 tree_list valu: @7091 chan: @146 @7675 tree_list valu: @7091 chan: @7679 @7676 identifier_node strg: __builtin_ia32_clflush lngt: 22 @7677 function_type size: @12 algn: 8 retn: @124 prms: @7680 @7678 function_decl name: @7681 type: @4037 srcp: :0 chan: @7682 body: undefined link: extern @7679 tree_list valu: @6672 chan: @146 @7680 tree_list valu: @1504 chan: @146 @7681 identifier_node strg: __builtin_ia32_lfence lngt: 21 @7682 function_decl name: @7683 type: @4037 srcp: :0 chan: @7684 body: undefined link: extern @7683 identifier_node strg: __builtin_ia32_mfence lngt: 21 @7684 function_decl name: @7685 type: @7686 srcp: :0 chan: @7687 body: undefined link: extern @7685 identifier_node strg: __builtin_ia32_loaddqu lngt: 22 @7686 function_type size: @12 algn: 8 retn: @7186 prms: @7688 @7687 function_decl name: @7689 type: @7690 srcp: :0 chan: @7691 body: undefined link: extern @7688 tree_list valu: @831 chan: @146 @7689 identifier_node strg: __builtin_ia32_storedqu lngt: 23 @7690 function_type size: @12 algn: 8 retn: @124 prms: @7692 @7691 function_decl name: @7693 type: @7694 srcp: :0 chan: @7695 body: undefined link: extern @7692 tree_list valu: @1527 chan: @7696 @7693 identifier_node strg: __builtin_ia32_pmuludq lngt: 22 @7694 function_type size: @12 algn: 8 retn: @6968 prms: @7697 @7695 function_decl name: @7698 type: @7699 srcp: :0 chan: @7700 body: undefined link: extern @7696 tree_list valu: @7186 chan: @146 @7697 tree_list valu: @6958 chan: @7701 @7698 identifier_node strg: __builtin_ia32_pmuludq128 lngt: 25 @7699 function_type size: @12 algn: 8 retn: @7119 prms: @7702 @7700 function_decl name: @7703 type: @7189 srcp: :0 chan: @7704 body: undefined link: extern @7701 tree_list valu: @6958 chan: @146 @7702 tree_list valu: @6724 chan: @7705 @7703 identifier_node strg: __builtin_ia32_psllw128 lngt: 23 @7704 function_decl name: @7706 type: @7195 srcp: :0 chan: @7707 body: undefined link: extern @7705 tree_list valu: @6724 chan: @146 @7706 identifier_node strg: __builtin_ia32_pslld128 lngt: 23 @7707 function_decl name: @7708 type: @7200 srcp: :0 chan: @7709 body: undefined link: extern @7708 identifier_node strg: __builtin_ia32_psllq128 lngt: 23 @7709 function_decl name: @7710 type: @7189 srcp: :0 chan: @7711 body: undefined link: extern @7710 identifier_node strg: __builtin_ia32_psrlw128 lngt: 23 @7711 function_decl name: @7712 type: @7195 srcp: :0 chan: @7713 body: undefined link: extern @7712 identifier_node strg: __builtin_ia32_psrld128 lngt: 23 @7713 function_decl name: @7714 type: @7200 srcp: :0 chan: @7715 body: undefined link: extern @7714 identifier_node strg: __builtin_ia32_psrlq128 lngt: 23 @7715 function_decl name: @7716 type: @7189 srcp: :0 chan: @7717 body: undefined link: extern @7716 identifier_node strg: __builtin_ia32_psraw128 lngt: 23 @7717 function_decl name: @7718 type: @7195 srcp: :0 chan: @7719 body: undefined link: extern @7718 identifier_node strg: __builtin_ia32_psrad128 lngt: 23 @7719 function_decl name: @7720 type: @7721 srcp: :0 chan: @7722 body: undefined link: extern @7720 identifier_node strg: __builtin_ia32_pslldqi128 lngt: 25 @7721 function_type size: @12 algn: 8 retn: @7119 prms: @7723 @7722 function_decl name: @7724 type: @7721 srcp: :0 chan: @7725 body: undefined link: extern @7723 tree_list valu: @7119 chan: @7726 @7724 identifier_node strg: __builtin_ia32_pslldqi128_byteshift lngt: 35 @7725 function_decl name: @7727 type: @7585 srcp: :0 chan: @7728 body: undefined link: extern @7726 tree_list valu: @3 chan: @146 @7727 identifier_node strg: __builtin_ia32_psllwi128 lngt: 24 @7728 function_decl name: @7729 type: @7579 srcp: :0 chan: @7730 body: undefined link: extern @7729 identifier_node strg: __builtin_ia32_pslldi128 lngt: 24 @7730 function_decl name: @7731 type: @7721 srcp: :0 chan: @7732 body: undefined link: extern @7731 identifier_node strg: __builtin_ia32_psllqi128 lngt: 24 @7732 function_decl name: @7733 type: @7721 srcp: :0 chan: @7734 body: undefined link: extern @7733 identifier_node strg: __builtin_ia32_psrldqi128 lngt: 25 @7734 function_decl name: @7735 type: @7721 srcp: :0 chan: @7736 body: undefined link: extern @7735 identifier_node strg: __builtin_ia32_psrldqi128_byteshift lngt: 35 @7736 function_decl name: @7737 type: @7585 srcp: :0 chan: @7738 body: undefined link: extern @7737 identifier_node strg: __builtin_ia32_psrlwi128 lngt: 24 @7738 function_decl name: @7739 type: @7579 srcp: :0 chan: @7740 body: undefined link: extern @7739 identifier_node strg: __builtin_ia32_psrldi128 lngt: 24 @7740 function_decl name: @7741 type: @7721 srcp: :0 chan: @7742 body: undefined link: extern @7741 identifier_node strg: __builtin_ia32_psrlqi128 lngt: 24 @7742 function_decl name: @7743 type: @7585 srcp: :0 chan: @7744 body: undefined link: extern @7743 identifier_node strg: __builtin_ia32_psrawi128 lngt: 24 @7744 function_decl name: @7745 type: @7579 srcp: :0 chan: @7746 body: undefined link: extern @7745 identifier_node strg: __builtin_ia32_psradi128 lngt: 24 @7746 function_decl name: @7747 type: @7748 srcp: :0 chan: @7749 body: undefined link: extern @7747 identifier_node strg: __builtin_ia32_pmaddwd128 lngt: 25 @7748 function_type size: @12 algn: 8 retn: @6724 prms: @7750 @7749 function_decl name: @7751 type: @7752 srcp: :0 chan: @7753 body: undefined link: extern @7750 tree_list valu: @7192 chan: @7754 @7751 identifier_node strg: __builtin_ia32_monitor lngt: 22 @7752 function_type size: @12 algn: 8 retn: @124 prms: @7755 @7753 function_decl name: @7756 type: @7757 srcp: :0 chan: @7758 body: undefined link: extern @7754 tree_list valu: @7192 chan: @146 @7755 tree_list valu: @1504 chan: @7759 @7756 identifier_node strg: __builtin_ia32_mwait lngt: 20 @7757 function_type size: @12 algn: 8 retn: @124 prms: @7760 @7758 function_decl name: @7761 type: @7515 srcp: :0 chan: @7762 body: undefined link: extern @7759 tree_list valu: @25 chan: @7763 @7760 tree_list valu: @25 chan: @7764 @7761 identifier_node strg: __builtin_ia32_movshdup lngt: 23 @7762 function_decl name: @7765 type: @7515 srcp: :0 chan: @7766 body: undefined link: extern @7763 tree_list valu: @25 chan: @146 @7764 tree_list valu: @25 chan: @146 @7765 identifier_node strg: __builtin_ia32_movsldup lngt: 23 @7766 function_decl name: @7767 type: @7686 srcp: :0 chan: @7768 body: undefined link: extern @7767 identifier_node strg: __builtin_ia32_lddqu lngt: 20 @7768 function_decl name: @7769 type: @7770 srcp: :0 chan: @7771 body: undefined link: extern @7769 identifier_node strg: __builtin_ia32_movqv4si lngt: 23 @7770 function_type size: @12 algn: 8 retn: @6724 prms: @7772 @7771 function_decl name: @7773 type: @7774 srcp: :0 chan: @7775 body: undefined link: extern @7772 tree_list valu: @6724 chan: @146 @7773 identifier_node strg: __builtin_ia32_loadlv4si lngt: 24 @7774 function_type size: @12 algn: 8 retn: @6724 prms: @7776 @7775 function_decl name: @7777 type: @7778 srcp: :0 chan: @7779 body: undefined link: extern @7776 tree_list valu: @7489 chan: @146 @7777 identifier_node strg: __builtin_ia32_storelv4si lngt: 25 @7778 function_type size: @12 algn: 8 retn: @124 prms: @7780 @7779 function_decl name: @7781 type: @7782 srcp: :0 chan: @7783 body: undefined link: extern @7780 tree_list valu: @7489 chan: @7784 @7781 identifier_node strg: __builtin_ia32_vec_init_v2si lngt: 28 @7782 function_type size: @12 algn: 8 retn: @6958 prms: @7785 @7783 function_decl name: @7786 type: @7787 srcp: :0 chan: @7788 body: undefined link: extern @7784 tree_list valu: @6724 chan: @146 @7785 tree_list valu: @3 chan: @7789 @7786 identifier_node strg: __builtin_ia32_vec_init_v4hi lngt: 28 @7787 function_type size: @12 algn: 8 retn: @6948 prms: @7790 @7788 function_decl name: @7791 type: @7792 srcp: :0 chan: @7793 body: undefined link: extern @7789 tree_list valu: @3 chan: @146 @7790 tree_list valu: @45 chan: @7794 @7791 identifier_node strg: __builtin_ia32_vec_init_v8qi lngt: 28 @7792 function_type size: @12 algn: 8 retn: @6938 prms: @7795 @7793 function_decl name: @7796 type: @7797 srcp: :0 chan: @7798 body: undefined link: extern @7794 tree_list valu: @45 chan: @7799 @7795 tree_list valu: @9 chan: @7800 @7796 identifier_node strg: __builtin_ia32_vec_ext_v2df lngt: 27 @7797 function_type size: @12 algn: 8 retn: @96 prms: @7801 @7798 function_decl name: @7802 type: @7803 srcp: :0 chan: @7804 body: undefined link: extern @7799 tree_list valu: @45 chan: @7805 @7800 tree_list valu: @9 chan: @7806 @7801 tree_list valu: @7091 chan: @7807 @7802 identifier_node strg: __builtin_ia32_vec_ext_v2di lngt: 27 @7803 function_type size: @12 algn: 8 retn: @35 prms: @7808 @7804 function_decl name: @7809 type: @7810 srcp: :0 chan: @7811 body: undefined link: extern @7805 tree_list valu: @45 chan: @146 @7806 tree_list valu: @9 chan: @7812 @7807 tree_list valu: @3 chan: @146 @7808 tree_list valu: @7119 chan: @7813 @7809 identifier_node strg: __builtin_ia32_vec_ext_v4sf lngt: 27 @7810 function_type size: @12 algn: 8 retn: @93 prms: @7814 @7811 function_decl name: @7815 type: @7816 srcp: :0 chan: @7817 body: undefined link: extern @7812 tree_list valu: @9 chan: @7818 @7813 tree_list valu: @3 chan: @146 @7814 tree_list valu: @6672 chan: @7819 @7815 identifier_node strg: __builtin_ia32_vec_ext_v4si lngt: 27 @7816 function_type size: @12 algn: 8 retn: @3 prms: @7820 @7817 function_decl name: @7821 type: @7822 srcp: :0 chan: @7823 body: undefined link: extern @7818 tree_list valu: @9 chan: @7824 @7819 tree_list valu: @3 chan: @146 @7820 tree_list valu: @6724 chan: @7825 @7821 identifier_node strg: __builtin_ia32_vec_ext_v8hi lngt: 27 @7822 function_type size: @12 algn: 8 retn: @51 prms: @7826 @7823 function_decl name: @7827 type: @7828 srcp: :0 chan: @7829 body: undefined link: extern @7824 tree_list valu: @9 chan: @7830 @7825 tree_list valu: @3 chan: @146 @7826 tree_list valu: @7192 chan: @7831 @7827 identifier_node strg: __builtin_ia32_vec_ext_v4hi lngt: 27 @7828 function_type size: @12 algn: 8 retn: @45 prms: @7832 @7829 function_decl name: @7833 type: @7834 srcp: :0 chan: @7835 body: undefined link: extern @7830 tree_list valu: @9 chan: @7836 @7831 tree_list valu: @3 chan: @146 @7832 tree_list valu: @6948 chan: @7837 @7833 identifier_node strg: __builtin_ia32_vec_ext_v2si lngt: 27 @7834 function_type size: @12 algn: 8 retn: @3 prms: @7838 @7835 function_decl name: @7839 type: @7840 srcp: :0 chan: @7841 body: undefined link: extern @7836 tree_list valu: @9 chan: @146 @7837 tree_list valu: @3 chan: @146 @7838 tree_list valu: @6958 chan: @7842 @7839 identifier_node strg: __builtin_ia32_vec_ext_v16qi lngt: 28 @7840 function_type size: @12 algn: 8 retn: @56 prms: @7843 @7841 function_decl name: @7844 type: @7845 srcp: :0 chan: @7846 body: undefined link: extern @7842 tree_list valu: @3 chan: @146 @7843 tree_list valu: @7186 chan: @7847 @7844 identifier_node strg: __builtin_ia32_vec_set_v2di lngt: 27 @7845 function_type size: @12 algn: 8 retn: @7119 prms: @7848 @7846 function_decl name: @7849 type: @7850 srcp: :0 chan: @7851 body: undefined link: extern @7847 tree_list valu: @3 chan: @146 @7848 tree_list valu: @7119 chan: @7852 @7849 identifier_node strg: __builtin_ia32_vec_set_v8hi lngt: 27 @7850 function_type size: @12 algn: 8 retn: @7192 prms: @7853 @7851 function_decl name: @7854 type: @7855 srcp: :0 chan: @7856 body: undefined link: extern @7852 tree_list valu: @16 chan: @7857 @7853 tree_list valu: @7192 chan: @7858 @7854 identifier_node strg: __builtin_ia32_vec_set_v4hi lngt: 27 @7855 function_type size: @12 algn: 8 retn: @6948 prms: @7859 @7856 function_decl name: @7860 type: @7861 srcp: :0 chan: @7862 body: undefined link: extern @7857 tree_list valu: @3 chan: @146 @7858 tree_list valu: @45 chan: @7863 @7859 tree_list valu: @6948 chan: @7864 @7860 identifier_node strg: __builtin___CFStringMakeConstantString lngt: 38 @7861 function_type size: @12 algn: 8 retn: @7865 prms: @7866 @7862 var_decl name: @7867 type: @7868 srcp: :0 note: artificial chan: @1778 algn: 32 used: 1 @7863 tree_list valu: @3 chan: @146 @7864 tree_list valu: @45 chan: @7869 @7865 pointer_type size: @19 algn: 64 ptd : @7870 @7866 tree_list valu: @831 chan: @146 @7867 identifier_node strg: __CFConstantStringClassReference lngt: 32 @7868 array_type algn: 32 elts: @3 @7869 tree_list valu: @3 chan: @146 @7870 record_type qual: c name: @7871 unql: @7872 size: @122 algn: 64 tag : struct flds: @7873 @7871 type_decl name: @7874 type: @7872 srcp: :0 @7872 record_type name: @7871 size: @122 algn: 64 tag : struct flds: @7873 @7873 field_decl type: @7875 scpe: @7872 srcp: :0 chan: @7876 size: @19 algn: 64 bpos: @20 @7874 identifier_node strg: __builtin_CFString lngt: 18 @7875 pointer_type size: @19 algn: 64 ptd : @3709 @7876 field_decl type: @3 scpe: @7872 srcp: :0 chan: @7877 size: @5 algn: 32 bpos: @19 @7877 field_decl type: @831 scpe: @7872 srcp: :0 chan: @7878 size: @19 algn: 64 bpos: @72 @7878 field_decl type: @16 scpe: @7872 srcp: :0 size: @19 algn: 64 bpos: @130 RCurl/.Rinstignore0000644000176000001440000000001312437571707013644 0ustar ripleyusersRCurl.tex RCurl/Todo.html0000644000176000001440000002217012665241535013137 0ustar ripleyusers Todo for RCurl

  • Add check in the C code for options that we hav an appropriate R & C data type for the option, based on the options type.
  • curlEscape the names of the parameters in getForm().
    See ~/Projects/CaseStudies/JobsWordMining/careerbuilder.R
    potential problem with httpheader in RCurl when only one element in the vector. name seems to disappear. curlPerform(url = "http://www.chemspider.com/MassSpecAPI.asmx", post = TRUE, postfields = body, verbose = TRUE, .opts = list(httpheader = c(SOAPAction = '"http://www.chemspider.com/GetExtendedCompoundInfo"', Accept = "text/xml"))) curlPerform(url = "http://www.chemspider.com/MassSpecAPI.asmx", post = TRUE, postfields = body, verbose = TRUE, .opts = list(httpheader = c(SOAPAction = '"http://www.chemspider.com/GetExtendedCompoundInfo"')))
  • In HTTP 300 replies, where we follow the location, we can end up with the wrong Content-Type. Does libcurl give us the new header?
    See tests/airports.R in RHTMLForms/
  • Rather than looking at Content-Type, we also have to look at Content-Encoding to see if it is gzip or something binary.
    u = getURLContent('http://www.omegahat.net/SVGAnnotation/shape.svgz', .opts = list(verbose = TRUE))
    
  • Avoid repeatedly setting the same curl options in getURLContent(), initializing the curl option, etc.
    Put a break point in the C code that sets the options and/or in the central R code.
  • getURLContent() and parsing the response WHEN THE REQUEST IS FTP!!
  • FTP upload.
    Done?
  • CURLOPT_QUOTE and linked list.
  • Allow the analysis/reading of the header in the response to adapt the Curl handle to change the reader.
    e.g. the compression example in Examples/Example.xml in the Books/XMLTechnologies.
  • Use raw() to deal with binary content.
  • Free the multi curl handle.
    curlDupHandle might be very problematic by not copying its data.
    If we don't put this under our memory management, then we won't free those elements. Thinking about this, does it actually happen? I think not. Need more thought.
    Bring in the URI support, etc. from httpClient.
    Passwords with HTTPS don't seem to be working for me at present.
  • Next

    Check all the isProtected computations in R are correct.
    When call curlPerform() from getURL(), we explicitly pass the curl object, so it is okay.

    We could add the .isProtected argument to indicate whether the caller wants to guarantee that the allocation is okay. Add in future releases.

    Support for different settings in the forms.
    e.g. files,
    Need structure for the data. Allow things like
    • file so as to get the contents from the file, (although this can be done in R but have to watch for NULL strings in binary files),
    • lists/vectors of these things
    • contenttype.
    • arrays.
    Look at libwww.
    Have a default CURL options that is used throughout.
    Put in a default value for .opts which is a call to, say, getDefaultCURLOptions()
    Compute the Option constants from the C code just once and store it.
    Allow CURLOPT_WRITEDATA/CURLOPT_WRITEFUNCTION to be specified as a connection.
    This way we can use R's writing facilities in the C code without having to go to the top-level code. Mmmm. Maybe we should go up to the R level for this using a function.
    Automate the generation of the enums.
    GccTranslationUnit.
    Recursive calls
    e.g. calls from within the callback to gather text to download other files.
    Look at the asychronous downloads. And also can do it directly if one nows the base URI
    Simplify the code for the options.
    Add a reader for CURLOPT_READFUNCTION
    For uploading files.
    Could get more sophisticated by having an expception class for CURL with the error code and message.

    Done

    Illustrate how to use an R connection with the write callback for gathering text.
    xmlTreeParse() with a connection that the XML parser can call to get more text.
    Done. See tests/xmlParse.xml
  • C routines as handlers for the functions.
  • i.e. for the writefunction, pass a C routine and deal with binary data coming down the pipe.
    Done. Could be done more elegantly.
    Tidy the package
    Make this a namespace and register the routines.
    Fill in the conversions for the opts.
    Do the coercion to the right type. Handle protected and not protected cases.

    We can tell what the target data type is from the number encoded in the option id. These jump into different ranges for the different types. So we can test for type, or coerce, in R. Unfortunately, only up to OBJECTPOINT

    Check releasing the form HTTPPOST list.
    Should be ok. Make certain we release the memory for the slist elements. For HTTPPOST, this is protected because we don't leave it in the CURL because we reset the HTTPPOST field.
    setCurlHeaders via regular options
    Check releasing the form HTTPHEADER list.
    Bits for initializing the global state.
    CIRL_GLOBAL_SSL, CIRL_GLOBAL_WIN32, NOTHING, ALL

    Check if R initializes this on Windows and accordingly turn it off here.

    Get the names of the curl error codes to put on the status.
    Already there. See asCurlErrorCode
    Memory management!!!
    Release the curl object if possible by knowing whether this is a local use of the data or whether it will persist.

    For persistence, we will have to collect data structures and know how to release them. We can collect them as linked lists and associate them with the CURL handle via a table or simple linked list.

    There doesn't seem to be a hook to tag something into the CURL handle.

    Callback for the password for an HTTPS connection.
    Doesn't appear to be used in libcurl anymore. Do we use the ssl context callback?
    PASSWDFUNCTION is deprecated. So it appears that the caller has to set it in the USERPWD.
    Can read header separately with a headerfunction option in the same way as writefunction.
    curl_easy_getinfo()
    Done
    Passwords. Find out why they aren't behaving - in https.
    getURL("https://secureweb.ucdavis.edu:443") getURL("https://my.ucdavis.edu") netrc file.

    Without https, they are working, either via CURLOPT_USERPWD or the .netrc file.

    Keep alives for connection.
    Should be done by default in libcurl? If not, just add it to the httpheader option.
    Check the error handling from curl.
    R_CURL_CHECK_ERROR.
    Allow access to setting header information.
    Done via the options now. httpheaders This combines the names and values if there are names and all the entries don't have a : in them.

    See setCurlHeaders(). Note that we can include this directly in the converter for an R object to a CURL option. We just need to tidy up after this.

    curl_slist_append(). curl_easy_setopt(easyhandle, CURLOPT_HTTPHEADER, headers);

    HTTPS
    "https://sourceforge.net/" works.

    Not anymore.

    Version information
    Handle the features bitfield
    Automate this (unfortunately #defines)
    Redirects and relocations for URIs.
    Set the FOLLOWLOCATION by default.
    Finalizer on the curls.
    Make the curl perform function take options.
    Done.
    Make the converters know whether the objects are protected are not.
    Form handling
    Test on winnie:cgi-bin/form1.pl and
     postForm("http://www.speakeasy.org/~cgires/perl_form.cgi",
                "some_text" = "Duncan",
                "choice" = "Ho",
                "radbut" = "eep",
    #            "box" = "box1"
                "box" = "box1, box2"
              # and try c("box1", "box2")
              )
    

    Duncan Temple Lang <duncan@research.bell-labs.com>
    Last modified: Tue Dec 11 15:19:07 PST 2012