aboutsummaryrefslogtreecommitdiff
path: root/doc/doxyout/hx509/html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/doxyout/hx509/html')
-rw-r--r--doc/doxyout/hx509/html/bc_s.pngbin676 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/bdwn.pngbin147 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/closed.pngbin132 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/doc.pngbin746 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/doxygen.css1793
-rw-r--r--doc/doxyout/hx509/html/doxygen.svg26
-rw-r--r--doc/doxyout/hx509/html/dynsections.js121
-rw-r--r--doc/doxyout/hx509/html/folderclosed.pngbin616 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/folderopen.pngbin597 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/graph_legend.html91
-rw-r--r--doc/doxyout/hx509/html/graph_legend.md51
-rw-r--r--doc/doxyout/hx509/html/graph_legend.pngbin20848 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/group__hx509.html94
-rw-r--r--doc/doxyout/hx509/html/group__hx509__ca.html1231
-rw-r--r--doc/doxyout/hx509/html/group__hx509__cert.html1431
-rw-r--r--doc/doxyout/hx509/html/group__hx509__cms.html521
-rw-r--r--doc/doxyout/hx509/html/group__hx509__crypto.html99
-rw-r--r--doc/doxyout/hx509/html/group__hx509__env.html317
-rw-r--r--doc/doxyout/hx509/html/group__hx509__error.html316
-rw-r--r--doc/doxyout/hx509/html/group__hx509__keyset.html781
-rw-r--r--doc/doxyout/hx509/html/group__hx509__lock.html32
-rw-r--r--doc/doxyout/hx509/html/group__hx509__misc.html93
-rw-r--r--doc/doxyout/hx509/html/group__hx509__name.html475
-rw-r--r--doc/doxyout/hx509/html/group__hx509__peer.html243
-rw-r--r--doc/doxyout/hx509/html/group__hx509__print.html460
-rw-r--r--doc/doxyout/hx509/html/group__hx509__query.html31
-rw-r--r--doc/doxyout/hx509/html/group__hx509__revoke.html385
-rw-r--r--doc/doxyout/hx509/html/group__hx509__verify.html720
-rw-r--r--doc/doxyout/hx509/html/index.html49
-rw-r--r--doc/doxyout/hx509/html/jquery.js35
-rw-r--r--doc/doxyout/hx509/html/menu.js51
-rw-r--r--doc/doxyout/hx509/html/menudata.js28
-rw-r--r--doc/doxyout/hx509/html/modules.html51
-rw-r--r--doc/doxyout/hx509/html/nav_f.pngbin153 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/nav_g.pngbin95 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/nav_h.pngbin98 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/open.pngbin123 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/page_ca.html33
-rw-r--r--doc/doxyout/hx509/html/page_cert.html35
-rw-r--r--doc/doxyout/hx509/html/page_cms.html40
-rw-r--r--doc/doxyout/hx509/html/page_env.html33
-rw-r--r--doc/doxyout/hx509/html/page_error.html33
-rw-r--r--doc/doxyout/hx509/html/page_keyset.html43
-rw-r--r--doc/doxyout/hx509/html/page_lock.html33
-rw-r--r--doc/doxyout/hx509/html/page_name.html39
-rw-r--r--doc/doxyout/hx509/html/page_peer.html34
-rw-r--r--doc/doxyout/hx509/html/page_print.html33
-rw-r--r--doc/doxyout/hx509/html/page_revoke.html35
-rw-r--r--doc/doxyout/hx509/html/pages.html46
-rw-r--r--doc/doxyout/hx509/html/splitbar.pngbin314 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/sync_off.pngbin853 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/sync_on.pngbin845 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/tab_a.pngbin142 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/tab_b.pngbin169 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/tab_h.pngbin177 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/tab_s.pngbin184 -> 0 bytes
-rw-r--r--doc/doxyout/hx509/html/tabs.css1
57 files changed, 0 insertions, 9913 deletions
diff --git a/doc/doxyout/hx509/html/bc_s.png b/doc/doxyout/hx509/html/bc_s.png
deleted file mode 100644
index 224b29aa9847..000000000000
--- a/doc/doxyout/hx509/html/bc_s.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/bdwn.png b/doc/doxyout/hx509/html/bdwn.png
deleted file mode 100644
index 940a0b950443..000000000000
--- a/doc/doxyout/hx509/html/bdwn.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/closed.png b/doc/doxyout/hx509/html/closed.png
deleted file mode 100644
index 98cc2c909da3..000000000000
--- a/doc/doxyout/hx509/html/closed.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/doc.png b/doc/doxyout/hx509/html/doc.png
deleted file mode 100644
index 17edabff95f7..000000000000
--- a/doc/doxyout/hx509/html/doc.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/doxygen.css b/doc/doxyout/hx509/html/doxygen.css
deleted file mode 100644
index ffbff0224931..000000000000
--- a/doc/doxyout/hx509/html/doxygen.css
+++ /dev/null
@@ -1,1793 +0,0 @@
-/* The standard CSS for doxygen 1.9.1 */
-
-body, table, div, p, dl {
- font: 400 14px/22px Roboto,sans-serif;
-}
-
-p.reference, p.definition {
- font: 400 14px/22px Roboto,sans-serif;
-}
-
-/* @group Heading Levels */
-
-h1.groupheader {
- font-size: 150%;
-}
-
-.title {
- font: 400 14px/28px Roboto,sans-serif;
- font-size: 150%;
- font-weight: bold;
- margin: 10px 2px;
-}
-
-h2.groupheader {
- border-bottom: 1px solid #879ECB;
- color: #354C7B;
- font-size: 150%;
- font-weight: normal;
- margin-top: 1.75em;
- padding-top: 8px;
- padding-bottom: 4px;
- width: 100%;
-}
-
-h3.groupheader {
- font-size: 100%;
-}
-
-h1, h2, h3, h4, h5, h6 {
- -webkit-transition: text-shadow 0.5s linear;
- -moz-transition: text-shadow 0.5s linear;
- -ms-transition: text-shadow 0.5s linear;
- -o-transition: text-shadow 0.5s linear;
- transition: text-shadow 0.5s linear;
- margin-right: 15px;
-}
-
-h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
- text-shadow: 0 0 15px cyan;
-}
-
-dt {
- font-weight: bold;
-}
-
-ul.multicol {
- -moz-column-gap: 1em;
- -webkit-column-gap: 1em;
- column-gap: 1em;
- -moz-column-count: 3;
- -webkit-column-count: 3;
- column-count: 3;
-}
-
-p.startli, p.startdd {
- margin-top: 2px;
-}
-
-th p.starttd, th p.intertd, th p.endtd {
- font-size: 100%;
- font-weight: 700;
-}
-
-p.starttd {
- margin-top: 0px;
-}
-
-p.endli {
- margin-bottom: 0px;
-}
-
-p.enddd {
- margin-bottom: 4px;
-}
-
-p.endtd {
- margin-bottom: 2px;
-}
-
-p.interli {
-}
-
-p.interdd {
-}
-
-p.intertd {
-}
-
-/* @end */
-
-caption {
- font-weight: bold;
-}
-
-span.legend {
- font-size: 70%;
- text-align: center;
-}
-
-h3.version {
- font-size: 90%;
- text-align: center;
-}
-
-div.navtab {
- border-right: 1px solid #A3B4D7;
- padding-right: 15px;
- text-align: right;
- line-height: 110%;
-}
-
-div.navtab table {
- border-spacing: 0;
-}
-
-td.navtab {
- padding-right: 6px;
- padding-left: 6px;
-}
-td.navtabHL {
- background-image: url('tab_a.png');
- background-repeat:repeat-x;
- padding-right: 6px;
- padding-left: 6px;
-}
-
-td.navtabHL a, td.navtabHL a:visited {
- color: #fff;
- text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
-}
-
-a.navtab {
- font-weight: bold;
-}
-
-div.qindex{
- text-align: center;
- width: 100%;
- line-height: 140%;
- font-size: 130%;
- color: #A0A0A0;
-}
-
-dt.alphachar{
- font-size: 180%;
- font-weight: bold;
-}
-
-.alphachar a{
- color: black;
-}
-
-.alphachar a:hover, .alphachar a:visited{
- text-decoration: none;
-}
-
-.classindex dl {
- padding: 25px;
- column-count:1
-}
-
-.classindex dd {
- display:inline-block;
- margin-left: 50px;
- width: 90%;
- line-height: 1.15em;
-}
-
-.classindex dl.odd {
- background-color: #F8F9FC;
-}
-
-@media(min-width: 1120px) {
- .classindex dl {
- column-count:2
- }
-}
-
-@media(min-width: 1320px) {
- .classindex dl {
- column-count:3
- }
-}
-
-
-/* @group Link Styling */
-
-a {
- color: #3D578C;
- font-weight: normal;
- text-decoration: none;
-}
-
-.contents a:visited {
- color: #4665A2;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-.contents a.qindexHL:visited {
- color: #FFFFFF;
-}
-
-a.el {
- font-weight: bold;
-}
-
-a.elRef {
-}
-
-a.code, a.code:visited, a.line, a.line:visited {
- color: #4665A2;
-}
-
-a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
- color: #4665A2;
-}
-
-/* @end */
-
-dl.el {
- margin-left: -1cm;
-}
-
-ul {
- overflow: hidden; /*Fixed: list item bullets overlap floating elements*/
-}
-
-#side-nav ul {
- overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
-}
-
-#main-nav ul {
- overflow: visible; /* reset ul rule for the navigation bar drop down lists */
-}
-
-.fragment {
- text-align: left;
- direction: ltr;
- overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/
- overflow-y: hidden;
-}
-
-pre.fragment {
- border: 1px solid #C4CFE5;
- background-color: #FBFCFD;
- padding: 4px 6px;
- margin: 4px 8px 4px 2px;
- overflow: auto;
- word-wrap: break-word;
- font-size: 9pt;
- line-height: 125%;
- font-family: monospace, fixed;
- font-size: 105%;
-}
-
-div.fragment {
- padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/
- margin: 4px 8px 4px 2px;
- background-color: #FBFCFD;
- border: 1px solid #C4CFE5;
-}
-
-div.line {
- font-family: monospace, fixed;
- font-size: 13px;
- min-height: 13px;
- line-height: 1.0;
- text-wrap: unrestricted;
- white-space: -moz-pre-wrap; /* Moz */
- white-space: -pre-wrap; /* Opera 4-6 */
- white-space: -o-pre-wrap; /* Opera 7 */
- white-space: pre-wrap; /* CSS3 */
- word-wrap: break-word; /* IE 5.5+ */
- text-indent: -53px;
- padding-left: 53px;
- padding-bottom: 0px;
- margin: 0px;
- -webkit-transition-property: background-color, box-shadow;
- -webkit-transition-duration: 0.5s;
- -moz-transition-property: background-color, box-shadow;
- -moz-transition-duration: 0.5s;
- -ms-transition-property: background-color, box-shadow;
- -ms-transition-duration: 0.5s;
- -o-transition-property: background-color, box-shadow;
- -o-transition-duration: 0.5s;
- transition-property: background-color, box-shadow;
- transition-duration: 0.5s;
-}
-
-div.line:after {
- content:"\000A";
- white-space: pre;
-}
-
-div.line.glow {
- background-color: cyan;
- box-shadow: 0 0 10px cyan;
-}
-
-
-span.lineno {
- padding-right: 4px;
- text-align: right;
- border-right: 2px solid #0F0;
- background-color: #E8E8E8;
- white-space: pre;
-}
-span.lineno a {
- background-color: #D8D8D8;
-}
-
-span.lineno a:hover {
- background-color: #C8C8C8;
-}
-
-.lineno {
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-div.ah, span.ah {
- background-color: black;
- font-weight: bold;
- color: #FFFFFF;
- margin-bottom: 3px;
- margin-top: 3px;
- padding: 0.2em;
- border: solid thin #333;
- border-radius: 0.5em;
- -webkit-border-radius: .5em;
- -moz-border-radius: .5em;
- box-shadow: 2px 2px 3px #999;
- -webkit-box-shadow: 2px 2px 3px #999;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
- background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%);
-}
-
-div.classindex ul {
- list-style: none;
- padding-left: 0;
-}
-
-div.classindex span.ai {
- display: inline-block;
-}
-
-div.groupHeader {
- margin-left: 16px;
- margin-top: 12px;
- font-weight: bold;
-}
-
-div.groupText {
- margin-left: 16px;
- font-style: italic;
-}
-
-body {
- background-color: white;
- color: black;
- margin: 0;
-}
-
-div.contents {
- margin-top: 10px;
- margin-left: 12px;
- margin-right: 8px;
-}
-
-td.indexkey {
- background-color: #EBEFF6;
- font-weight: bold;
- border: 1px solid #C4CFE5;
- margin: 2px 0px 2px 0;
- padding: 2px 10px;
- white-space: nowrap;
- vertical-align: top;
-}
-
-td.indexvalue {
- background-color: #EBEFF6;
- border: 1px solid #C4CFE5;
- padding: 2px 10px;
- margin: 2px 0px;
-}
-
-tr.memlist {
- background-color: #EEF1F7;
-}
-
-p.formulaDsp {
- text-align: center;
-}
-
-img.formulaDsp {
-
-}
-
-img.formulaInl, img.inline {
- vertical-align: middle;
-}
-
-div.center {
- text-align: center;
- margin-top: 0px;
- margin-bottom: 0px;
- padding: 0px;
-}
-
-div.center img {
- border: 0px;
-}
-
-address.footer {
- text-align: right;
- padding-right: 12px;
-}
-
-img.footer {
- border: 0px;
- vertical-align: middle;
-}
-
-/* @group Code Colorization */
-
-span.keyword {
- color: #008000
-}
-
-span.keywordtype {
- color: #604020
-}
-
-span.keywordflow {
- color: #e08000
-}
-
-span.comment {
- color: #800000
-}
-
-span.preprocessor {
- color: #806020
-}
-
-span.stringliteral {
- color: #002080
-}
-
-span.charliteral {
- color: #008080
-}
-
-span.vhdldigit {
- color: #ff00ff
-}
-
-span.vhdlchar {
- color: #000000
-}
-
-span.vhdlkeyword {
- color: #700070
-}
-
-span.vhdllogic {
- color: #ff0000
-}
-
-blockquote {
- background-color: #F7F8FB;
- border-left: 2px solid #9CAFD4;
- margin: 0 24px 0 4px;
- padding: 0 12px 0 16px;
-}
-
-blockquote.DocNodeRTL {
- border-left: 0;
- border-right: 2px solid #9CAFD4;
- margin: 0 4px 0 24px;
- padding: 0 16px 0 12px;
-}
-
-/* @end */
-
-/*
-.search {
- color: #003399;
- font-weight: bold;
-}
-
-form.search {
- margin-bottom: 0px;
- margin-top: 0px;
-}
-
-input.search {
- font-size: 75%;
- color: #000080;
- font-weight: normal;
- background-color: #e8eef2;
-}
-*/
-
-td.tiny {
- font-size: 75%;
-}
-
-.dirtab {
- padding: 4px;
- border-collapse: collapse;
- border: 1px solid #A3B4D7;
-}
-
-th.dirtab {
- background: #EBEFF6;
- font-weight: bold;
-}
-
-hr {
- height: 0px;
- border: none;
- border-top: 1px solid #4A6AAA;
-}
-
-hr.footer {
- height: 1px;
-}
-
-/* @group Member Descriptions */
-
-table.memberdecls {
- border-spacing: 0px;
- padding: 0px;
-}
-
-.memberdecls td, .fieldtable tr {
- -webkit-transition-property: background-color, box-shadow;
- -webkit-transition-duration: 0.5s;
- -moz-transition-property: background-color, box-shadow;
- -moz-transition-duration: 0.5s;
- -ms-transition-property: background-color, box-shadow;
- -ms-transition-duration: 0.5s;
- -o-transition-property: background-color, box-shadow;
- -o-transition-duration: 0.5s;
- transition-property: background-color, box-shadow;
- transition-duration: 0.5s;
-}
-
-.memberdecls td.glow, .fieldtable tr.glow {
- background-color: cyan;
- box-shadow: 0 0 15px cyan;
-}
-
-.mdescLeft, .mdescRight,
-.memItemLeft, .memItemRight,
-.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
- background-color: #F9FAFC;
- border: none;
- margin: 4px;
- padding: 1px 0 0 8px;
-}
-
-.mdescLeft, .mdescRight {
- padding: 0px 8px 4px 8px;
- color: #555;
-}
-
-.memSeparator {
- border-bottom: 1px solid #DEE4F0;
- line-height: 1px;
- margin: 0px;
- padding: 0px;
-}
-
-.memItemLeft, .memTemplItemLeft {
- white-space: nowrap;
-}
-
-.memItemRight, .memTemplItemRight {
- width: 100%;
-}
-
-.memTemplParams {
- color: #4665A2;
- white-space: nowrap;
- font-size: 80%;
-}
-
-/* @end */
-
-/* @group Member Details */
-
-/* Styles for detailed member documentation */
-
-.memtitle {
- padding: 8px;
- border-top: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
- border-top-right-radius: 4px;
- border-top-left-radius: 4px;
- margin-bottom: -1px;
- background-image: url('nav_f.png');
- background-repeat: repeat-x;
- background-color: #E2E8F2;
- line-height: 1.25;
- font-weight: 300;
- float:left;
-}
-
-.permalink
-{
- font-size: 65%;
- display: inline-block;
- vertical-align: middle;
-}
-
-.memtemplate {
- font-size: 80%;
- color: #4665A2;
- font-weight: normal;
- margin-left: 9px;
-}
-
-.memnav {
- background-color: #EBEFF6;
- border: 1px solid #A3B4D7;
- text-align: center;
- margin: 2px;
- margin-right: 15px;
- padding: 2px;
-}
-
-.mempage {
- width: 100%;
-}
-
-.memitem {
- padding: 0;
- margin-bottom: 10px;
- margin-right: 5px;
- -webkit-transition: box-shadow 0.5s linear;
- -moz-transition: box-shadow 0.5s linear;
- -ms-transition: box-shadow 0.5s linear;
- -o-transition: box-shadow 0.5s linear;
- transition: box-shadow 0.5s linear;
- display: table !important;
- width: 100%;
-}
-
-.memitem.glow {
- box-shadow: 0 0 15px cyan;
-}
-
-.memname {
- font-weight: 400;
- margin-left: 6px;
-}
-
-.memname td {
- vertical-align: bottom;
-}
-
-.memproto, dl.reflist dt {
- border-top: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
- padding: 6px 0px 6px 0px;
- color: #253555;
- font-weight: bold;
- text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
- background-color: #DFE5F1;
- /* opera specific markup */
- box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- border-top-right-radius: 4px;
- /* firefox specific markup */
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
- -moz-border-radius-topright: 4px;
- /* webkit specific markup */
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- -webkit-border-top-right-radius: 4px;
-
-}
-
-.overload {
- font-family: "courier new",courier,monospace;
- font-size: 65%;
-}
-
-.memdoc, dl.reflist dd {
- border-bottom: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
- padding: 6px 10px 2px 10px;
- background-color: #FBFCFD;
- border-top-width: 0;
- background-image:url('nav_g.png');
- background-repeat:repeat-x;
- background-color: #FFFFFF;
- /* opera specific markup */
- border-bottom-left-radius: 4px;
- border-bottom-right-radius: 4px;
- box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- /* firefox specific markup */
- -moz-border-radius-bottomleft: 4px;
- -moz-border-radius-bottomright: 4px;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
- /* webkit specific markup */
- -webkit-border-bottom-left-radius: 4px;
- -webkit-border-bottom-right-radius: 4px;
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-}
-
-dl.reflist dt {
- padding: 5px;
-}
-
-dl.reflist dd {
- margin: 0px 0px 10px 0px;
- padding: 5px;
-}
-
-.paramkey {
- text-align: right;
-}
-
-.paramtype {
- white-space: nowrap;
-}
-
-.paramname {
- color: #602020;
- white-space: nowrap;
-}
-.paramname em {
- font-style: normal;
-}
-.paramname code {
- line-height: 14px;
-}
-
-.params, .retval, .exception, .tparams {
- margin-left: 0px;
- padding-left: 0px;
-}
-
-.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {
- font-weight: bold;
- vertical-align: top;
-}
-
-.params .paramtype, .tparams .paramtype {
- font-style: italic;
- vertical-align: top;
-}
-
-.params .paramdir, .tparams .paramdir {
- font-family: "courier new",courier,monospace;
- vertical-align: top;
-}
-
-table.mlabels {
- border-spacing: 0px;
-}
-
-td.mlabels-left {
- width: 100%;
- padding: 0px;
-}
-
-td.mlabels-right {
- vertical-align: bottom;
- padding: 0px;
- white-space: nowrap;
-}
-
-span.mlabels {
- margin-left: 8px;
-}
-
-span.mlabel {
- background-color: #728DC1;
- border-top:1px solid #5373B4;
- border-left:1px solid #5373B4;
- border-right:1px solid #C4CFE5;
- border-bottom:1px solid #C4CFE5;
- text-shadow: none;
- color: white;
- margin-right: 4px;
- padding: 2px 3px;
- border-radius: 3px;
- font-size: 7pt;
- white-space: nowrap;
- vertical-align: middle;
-}
-
-
-
-/* @end */
-
-/* these are for tree view inside a (index) page */
-
-div.directory {
- margin: 10px 0px;
- border-top: 1px solid #9CAFD4;
- border-bottom: 1px solid #9CAFD4;
- width: 100%;
-}
-
-.directory table {
- border-collapse:collapse;
-}
-
-.directory td {
- margin: 0px;
- padding: 0px;
- vertical-align: top;
-}
-
-.directory td.entry {
- white-space: nowrap;
- padding-right: 6px;
- padding-top: 3px;
-}
-
-.directory td.entry a {
- outline:none;
-}
-
-.directory td.entry a img {
- border: none;
-}
-
-.directory td.desc {
- width: 100%;
- padding-left: 6px;
- padding-right: 6px;
- padding-top: 3px;
- border-left: 1px solid rgba(0,0,0,0.05);
-}
-
-.directory tr.even {
- padding-left: 6px;
- background-color: #F7F8FB;
-}
-
-.directory img {
- vertical-align: -30%;
-}
-
-.directory .levels {
- white-space: nowrap;
- width: 100%;
- text-align: right;
- font-size: 9pt;
-}
-
-.directory .levels span {
- cursor: pointer;
- padding-left: 2px;
- padding-right: 2px;
- color: #3D578C;
-}
-
-.arrow {
- color: #9CAFD4;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- cursor: pointer;
- font-size: 80%;
- display: inline-block;
- width: 16px;
- height: 22px;
-}
-
-.icon {
- font-family: Arial, Helvetica;
- font-weight: bold;
- font-size: 12px;
- height: 14px;
- width: 16px;
- display: inline-block;
- background-color: #728DC1;
- color: white;
- text-align: center;
- border-radius: 4px;
- margin-left: 2px;
- margin-right: 2px;
-}
-
-.icona {
- width: 24px;
- height: 22px;
- display: inline-block;
-}
-
-.iconfopen {
- width: 24px;
- height: 18px;
- margin-bottom: 4px;
- background-image:url('folderopen.png');
- background-position: 0px -4px;
- background-repeat: repeat-y;
- vertical-align:top;
- display: inline-block;
-}
-
-.iconfclosed {
- width: 24px;
- height: 18px;
- margin-bottom: 4px;
- background-image:url('folderclosed.png');
- background-position: 0px -4px;
- background-repeat: repeat-y;
- vertical-align:top;
- display: inline-block;
-}
-
-.icondoc {
- width: 24px;
- height: 18px;
- margin-bottom: 4px;
- background-image:url('doc.png');
- background-position: 0px -4px;
- background-repeat: repeat-y;
- vertical-align:top;
- display: inline-block;
-}
-
-table.directory {
- font: 400 14px Roboto,sans-serif;
-}
-
-/* @end */
-
-div.dynheader {
- margin-top: 8px;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-address {
- font-style: normal;
- color: #2A3D61;
-}
-
-table.doxtable caption {
- caption-side: top;
-}
-
-table.doxtable {
- border-collapse:collapse;
- margin-top: 4px;
- margin-bottom: 4px;
-}
-
-table.doxtable td, table.doxtable th {
- border: 1px solid #2D4068;
- padding: 3px 7px 2px;
-}
-
-table.doxtable th {
- background-color: #374F7F;
- color: #FFFFFF;
- font-size: 110%;
- padding-bottom: 4px;
- padding-top: 5px;
-}
-
-table.fieldtable {
- /*width: 100%;*/
- margin-bottom: 10px;
- border: 1px solid #A8B8D9;
- border-spacing: 0px;
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
- -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
- box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
-}
-
-.fieldtable td, .fieldtable th {
- padding: 3px 7px 2px;
-}
-
-.fieldtable td.fieldtype, .fieldtable td.fieldname {
- white-space: nowrap;
- border-right: 1px solid #A8B8D9;
- border-bottom: 1px solid #A8B8D9;
- vertical-align: top;
-}
-
-.fieldtable td.fieldname {
- padding-top: 3px;
-}
-
-.fieldtable td.fielddoc {
- border-bottom: 1px solid #A8B8D9;
- /*width: 100%;*/
-}
-
-.fieldtable td.fielddoc p:first-child {
- margin-top: 0px;
-}
-
-.fieldtable td.fielddoc p:last-child {
- margin-bottom: 2px;
-}
-
-.fieldtable tr:last-child td {
- border-bottom: none;
-}
-
-.fieldtable th {
- background-image:url('nav_f.png');
- background-repeat:repeat-x;
- background-color: #E2E8F2;
- font-size: 90%;
- color: #253555;
- padding-bottom: 4px;
- padding-top: 5px;
- text-align:left;
- font-weight: 400;
- -moz-border-radius-topleft: 4px;
- -moz-border-radius-topright: 4px;
- -webkit-border-top-left-radius: 4px;
- -webkit-border-top-right-radius: 4px;
- border-top-left-radius: 4px;
- border-top-right-radius: 4px;
- border-bottom: 1px solid #A8B8D9;
-}
-
-
-.tabsearch {
- top: 0px;
- left: 10px;
- height: 36px;
- background-image: url('tab_b.png');
- z-index: 101;
- overflow: hidden;
- font-size: 13px;
-}
-
-.navpath ul
-{
- font-size: 11px;
- background-image:url('tab_b.png');
- background-repeat:repeat-x;
- background-position: 0 -5px;
- height:30px;
- line-height:30px;
- color:#8AA0CC;
- border:solid 1px #C2CDE4;
- overflow:hidden;
- margin:0px;
- padding:0px;
-}
-
-.navpath li
-{
- list-style-type:none;
- float:left;
- padding-left:10px;
- padding-right:15px;
- background-image:url('bc_s.png');
- background-repeat:no-repeat;
- background-position:right;
- color:#364D7C;
-}
-
-.navpath li.navelem a
-{
- height:32px;
- display:block;
- text-decoration: none;
- outline: none;
- color: #283A5D;
- font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
- text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
- text-decoration: none;
-}
-
-.navpath li.navelem a:hover
-{
- color:#6884BD;
-}
-
-.navpath li.footer
-{
- list-style-type:none;
- float:right;
- padding-left:10px;
- padding-right:15px;
- background-image:none;
- background-repeat:no-repeat;
- background-position:right;
- color:#364D7C;
- font-size: 8pt;
-}
-
-
-div.summary
-{
- float: right;
- font-size: 8pt;
- padding-right: 5px;
- width: 50%;
- text-align: right;
-}
-
-div.summary a
-{
- white-space: nowrap;
-}
-
-table.classindex
-{
- margin: 10px;
- white-space: nowrap;
- margin-left: 3%;
- margin-right: 3%;
- width: 94%;
- border: 0;
- border-spacing: 0;
- padding: 0;
-}
-
-div.ingroups
-{
- font-size: 8pt;
- width: 50%;
- text-align: left;
-}
-
-div.ingroups a
-{
- white-space: nowrap;
-}
-
-div.header
-{
- background-image:url('nav_h.png');
- background-repeat:repeat-x;
- background-color: #F9FAFC;
- margin: 0px;
- border-bottom: 1px solid #C4CFE5;
-}
-
-div.headertitle
-{
- padding: 5px 5px 5px 10px;
-}
-
-.PageDocRTL-title div.headertitle {
- text-align: right;
- direction: rtl;
-}
-
-dl {
- padding: 0 0 0 0;
-}
-
-/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */
-dl.section {
- margin-left: 0px;
- padding-left: 0px;
-}
-
-dl.section.DocNodeRTL {
- margin-right: 0px;
- padding-right: 0px;
-}
-
-dl.note {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #D0C000;
-}
-
-dl.note.DocNodeRTL {
- margin-left: 0;
- padding-left: 0;
- border-left: 0;
- margin-right: -7px;
- padding-right: 3px;
- border-right: 4px solid;
- border-color: #D0C000;
-}
-
-dl.warning, dl.attention {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #FF0000;
-}
-
-dl.warning.DocNodeRTL, dl.attention.DocNodeRTL {
- margin-left: 0;
- padding-left: 0;
- border-left: 0;
- margin-right: -7px;
- padding-right: 3px;
- border-right: 4px solid;
- border-color: #FF0000;
-}
-
-dl.pre, dl.post, dl.invariant {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #00D000;
-}
-
-dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL {
- margin-left: 0;
- padding-left: 0;
- border-left: 0;
- margin-right: -7px;
- padding-right: 3px;
- border-right: 4px solid;
- border-color: #00D000;
-}
-
-dl.deprecated {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #505050;
-}
-
-dl.deprecated.DocNodeRTL {
- margin-left: 0;
- padding-left: 0;
- border-left: 0;
- margin-right: -7px;
- padding-right: 3px;
- border-right: 4px solid;
- border-color: #505050;
-}
-
-dl.todo {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #00C0E0;
-}
-
-dl.todo.DocNodeRTL {
- margin-left: 0;
- padding-left: 0;
- border-left: 0;
- margin-right: -7px;
- padding-right: 3px;
- border-right: 4px solid;
- border-color: #00C0E0;
-}
-
-dl.test {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #3030E0;
-}
-
-dl.test.DocNodeRTL {
- margin-left: 0;
- padding-left: 0;
- border-left: 0;
- margin-right: -7px;
- padding-right: 3px;
- border-right: 4px solid;
- border-color: #3030E0;
-}
-
-dl.bug {
- margin-left: -7px;
- padding-left: 3px;
- border-left: 4px solid;
- border-color: #C08050;
-}
-
-dl.bug.DocNodeRTL {
- margin-left: 0;
- padding-left: 0;
- border-left: 0;
- margin-right: -7px;
- padding-right: 3px;
- border-right: 4px solid;
- border-color: #C08050;
-}
-
-dl.section dd {
- margin-bottom: 6px;
-}
-
-
-#projectlogo
-{
- text-align: center;
- vertical-align: bottom;
- border-collapse: separate;
-}
-
-#projectlogo img
-{
- border: 0px none;
-}
-
-#projectalign
-{
- vertical-align: middle;
-}
-
-#projectname
-{
- font: 300% Tahoma, Arial,sans-serif;
- margin: 0px;
- padding: 2px 0px;
-}
-
-#projectbrief
-{
- font: 120% Tahoma, Arial,sans-serif;
- margin: 0px;
- padding: 0px;
-}
-
-#projectnumber
-{
- font: 50% Tahoma, Arial,sans-serif;
- margin: 0px;
- padding: 0px;
-}
-
-#titlearea
-{
- padding: 0px;
- margin: 0px;
- width: 100%;
- border-bottom: 1px solid #5373B4;
-}
-
-.image
-{
- text-align: center;
-}
-
-.dotgraph
-{
- text-align: center;
-}
-
-.mscgraph
-{
- text-align: center;
-}
-
-.plantumlgraph
-{
- text-align: center;
-}
-
-.diagraph
-{
- text-align: center;
-}
-
-.caption
-{
- font-weight: bold;
-}
-
-div.zoom
-{
- border: 1px solid #90A5CE;
-}
-
-dl.citelist {
- margin-bottom:50px;
-}
-
-dl.citelist dt {
- color:#334975;
- float:left;
- font-weight:bold;
- margin-right:10px;
- padding:5px;
- text-align:right;
- width:52px;
-}
-
-dl.citelist dd {
- margin:2px 0 2px 72px;
- padding:5px 0;
-}
-
-div.toc {
- padding: 14px 25px;
- background-color: #F4F6FA;
- border: 1px solid #D8DFEE;
- border-radius: 7px 7px 7px 7px;
- float: right;
- height: auto;
- margin: 0 8px 10px 10px;
- width: 200px;
-}
-
-.PageDocRTL-title div.toc {
- float: left !important;
- text-align: right;
-}
-
-div.toc li {
- background: url("bdwn.png") no-repeat scroll 0 5px transparent;
- font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
- margin-top: 5px;
- padding-left: 10px;
- padding-top: 2px;
-}
-
-.PageDocRTL-title div.toc li {
- background-position-x: right !important;
- padding-left: 0 !important;
- padding-right: 10px;
-}
-
-div.toc h3 {
- font: bold 12px/1.2 Arial,FreeSans,sans-serif;
- color: #4665A2;
- border-bottom: 0 none;
- margin: 0;
-}
-
-div.toc ul {
- list-style: none outside none;
- border: medium none;
- padding: 0px;
-}
-
-div.toc li.level1 {
- margin-left: 0px;
-}
-
-div.toc li.level2 {
- margin-left: 15px;
-}
-
-div.toc li.level3 {
- margin-left: 30px;
-}
-
-div.toc li.level4 {
- margin-left: 45px;
-}
-
-span.emoji {
- /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html
- * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;
- */
-}
-
-.PageDocRTL-title div.toc li.level1 {
- margin-left: 0 !important;
- margin-right: 0;
-}
-
-.PageDocRTL-title div.toc li.level2 {
- margin-left: 0 !important;
- margin-right: 15px;
-}
-
-.PageDocRTL-title div.toc li.level3 {
- margin-left: 0 !important;
- margin-right: 30px;
-}
-
-.PageDocRTL-title div.toc li.level4 {
- margin-left: 0 !important;
- margin-right: 45px;
-}
-
-.inherit_header {
- font-weight: bold;
- color: gray;
- cursor: pointer;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-.inherit_header td {
- padding: 6px 0px 2px 5px;
-}
-
-.inherit {
- display: none;
-}
-
-tr.heading h2 {
- margin-top: 12px;
- margin-bottom: 4px;
-}
-
-/* tooltip related style info */
-
-.ttc {
- position: absolute;
- display: none;
-}
-
-#powerTip {
- cursor: default;
- white-space: nowrap;
- background-color: white;
- border: 1px solid gray;
- border-radius: 4px 4px 4px 4px;
- box-shadow: 1px 1px 7px gray;
- display: none;
- font-size: smaller;
- max-width: 80%;
- opacity: 0.9;
- padding: 1ex 1em 1em;
- position: absolute;
- z-index: 2147483647;
-}
-
-#powerTip div.ttdoc {
- color: grey;
- font-style: italic;
-}
-
-#powerTip div.ttname a {
- font-weight: bold;
-}
-
-#powerTip div.ttname {
- font-weight: bold;
-}
-
-#powerTip div.ttdeci {
- color: #006318;
-}
-
-#powerTip div {
- margin: 0px;
- padding: 0px;
- font: 12px/16px Roboto,sans-serif;
-}
-
-#powerTip:before, #powerTip:after {
- content: "";
- position: absolute;
- margin: 0px;
-}
-
-#powerTip.n:after, #powerTip.n:before,
-#powerTip.s:after, #powerTip.s:before,
-#powerTip.w:after, #powerTip.w:before,
-#powerTip.e:after, #powerTip.e:before,
-#powerTip.ne:after, #powerTip.ne:before,
-#powerTip.se:after, #powerTip.se:before,
-#powerTip.nw:after, #powerTip.nw:before,
-#powerTip.sw:after, #powerTip.sw:before {
- border: solid transparent;
- content: " ";
- height: 0;
- width: 0;
- position: absolute;
-}
-
-#powerTip.n:after, #powerTip.s:after,
-#powerTip.w:after, #powerTip.e:after,
-#powerTip.nw:after, #powerTip.ne:after,
-#powerTip.sw:after, #powerTip.se:after {
- border-color: rgba(255, 255, 255, 0);
-}
-
-#powerTip.n:before, #powerTip.s:before,
-#powerTip.w:before, #powerTip.e:before,
-#powerTip.nw:before, #powerTip.ne:before,
-#powerTip.sw:before, #powerTip.se:before {
- border-color: rgba(128, 128, 128, 0);
-}
-
-#powerTip.n:after, #powerTip.n:before,
-#powerTip.ne:after, #powerTip.ne:before,
-#powerTip.nw:after, #powerTip.nw:before {
- top: 100%;
-}
-
-#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
- border-top-color: #FFFFFF;
- border-width: 10px;
- margin: 0px -10px;
-}
-#powerTip.n:before {
- border-top-color: #808080;
- border-width: 11px;
- margin: 0px -11px;
-}
-#powerTip.n:after, #powerTip.n:before {
- left: 50%;
-}
-
-#powerTip.nw:after, #powerTip.nw:before {
- right: 14px;
-}
-
-#powerTip.ne:after, #powerTip.ne:before {
- left: 14px;
-}
-
-#powerTip.s:after, #powerTip.s:before,
-#powerTip.se:after, #powerTip.se:before,
-#powerTip.sw:after, #powerTip.sw:before {
- bottom: 100%;
-}
-
-#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
- border-bottom-color: #FFFFFF;
- border-width: 10px;
- margin: 0px -10px;
-}
-
-#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
- border-bottom-color: #808080;
- border-width: 11px;
- margin: 0px -11px;
-}
-
-#powerTip.s:after, #powerTip.s:before {
- left: 50%;
-}
-
-#powerTip.sw:after, #powerTip.sw:before {
- right: 14px;
-}
-
-#powerTip.se:after, #powerTip.se:before {
- left: 14px;
-}
-
-#powerTip.e:after, #powerTip.e:before {
- left: 100%;
-}
-#powerTip.e:after {
- border-left-color: #FFFFFF;
- border-width: 10px;
- top: 50%;
- margin-top: -10px;
-}
-#powerTip.e:before {
- border-left-color: #808080;
- border-width: 11px;
- top: 50%;
- margin-top: -11px;
-}
-
-#powerTip.w:after, #powerTip.w:before {
- right: 100%;
-}
-#powerTip.w:after {
- border-right-color: #FFFFFF;
- border-width: 10px;
- top: 50%;
- margin-top: -10px;
-}
-#powerTip.w:before {
- border-right-color: #808080;
- border-width: 11px;
- top: 50%;
- margin-top: -11px;
-}
-
-@media print
-{
- #top { display: none; }
- #side-nav { display: none; }
- #nav-path { display: none; }
- body { overflow:visible; }
- h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
- .summary { display: none; }
- .memitem { page-break-inside: avoid; }
- #doc-content
- {
- margin-left:0 !important;
- height:auto !important;
- width:auto !important;
- overflow:inherit;
- display:inline;
- }
-}
-
-/* @group Markdown */
-
-table.markdownTable {
- border-collapse:collapse;
- margin-top: 4px;
- margin-bottom: 4px;
-}
-
-table.markdownTable td, table.markdownTable th {
- border: 1px solid #2D4068;
- padding: 3px 7px 2px;
-}
-
-table.markdownTable tr {
-}
-
-th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
- background-color: #374F7F;
- color: #FFFFFF;
- font-size: 110%;
- padding-bottom: 4px;
- padding-top: 5px;
-}
-
-th.markdownTableHeadLeft, td.markdownTableBodyLeft {
- text-align: left
-}
-
-th.markdownTableHeadRight, td.markdownTableBodyRight {
- text-align: right
-}
-
-th.markdownTableHeadCenter, td.markdownTableBodyCenter {
- text-align: center
-}
-
-.DocNodeRTL {
- text-align: right;
- direction: rtl;
-}
-
-.DocNodeLTR {
- text-align: left;
- direction: ltr;
-}
-
-table.DocNodeRTL {
- width: auto;
- margin-right: 0;
- margin-left: auto;
-}
-
-table.DocNodeLTR {
- width: auto;
- margin-right: auto;
- margin-left: 0;
-}
-
-tt, code, kbd, samp
-{
- display: inline-block;
- direction:ltr;
-}
-/* @end */
-
-u {
- text-decoration: underline;
-}
-
diff --git a/doc/doxyout/hx509/html/doxygen.svg b/doc/doxyout/hx509/html/doxygen.svg
deleted file mode 100644
index d42dad52d5d1..000000000000
--- a/doc/doxyout/hx509/html/doxygen.svg
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg version="1.1" viewBox="0 0 104 31" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
- <linearGradient id="a">
- <stop stop-color="#5373B4" offset="0"/>
- <stop stop-color="#7C95C6" offset="1"/>
- </linearGradient>
- <linearGradient id="d" x1="31.474" x2="31.474" y1="24.821" y2="26.773" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
- <linearGradient id="c" x1="31.474" x2="31.474" y1="24.821" y2="26.773" gradientTransform="matrix(.6816 0 0 1.0248 72.391 -.91809)" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
- <linearGradient id="b" x1="56.295" x2="56.295" y1="24.622" y2="26.574" gradientUnits="userSpaceOnUse" xlink:href="#a"/>
- <linearGradient id="e" x1="49.067" x2="48.956" y1="19.719" y2="9.5227" gradientTransform="matrix(.97968 0 0 1.0207 -.25579 -.25579)" gradientUnits="userSpaceOnUse">
- <stop stop-color="#C0CCE3" offset="0"/>
- <stop stop-color="#EEF1F7" offset="1"/>
- </linearGradient>
- <filter id="f" x="-.010676" y="-.045304" width="1.0214" height="1.0906" color-interpolation-filters="sRGB">
- <feGaussianBlur stdDeviation="0.45293203"/>
- </filter>
- </defs>
- <g>
- <path transform="translate(-2.5759 -27.848)" d="m13.609 32.203v6.8633h-0.05078c-0.40533-0.66867-0.96254-1.1715-1.6719-1.5059-0.69244-0.35193-1.4282-0.52734-2.2051-0.52734-0.96267 0-1.807 0.2027-2.5332 0.60742-0.72622 0.38713-1.3344 0.90556-1.8242 1.5566-0.47289 0.65108-0.83456 1.4092-1.0879 2.2715-0.23644 0.84464-0.35547 1.7236-0.35547 2.6387 0 0.95022 0.11902 1.8643 0.35547 2.7441 0.25333 0.87983 0.615 1.6633 1.0879 2.3496 0.48978 0.66867 1.1065 1.2066 1.8496 1.6113 0.74311 0.38713 1.6044 0.58008 2.584 0.58008 0.86133 0 1.6311-0.15787 2.3066-0.47461 0.69244-0.33434 1.2497-0.87227 1.6719-1.6113h0.05078v1.7422h3.4199v-18.846zm12.875 4.8301c-1.0302 0-1.9596 0.17541-2.7871 0.52734-0.82756 0.33434-1.5358 0.81965-2.127 1.4531-0.59111 0.61588-1.0483 1.3721-1.3691 2.2695-0.32089 0.87983-0.48047 1.866-0.48047 2.957s0.15958 2.0752 0.48047 2.9551c0.32089 0.87983 0.77803 1.6361 1.3691 2.2695 0.59111 0.61588 1.2994 1.0914 2.127 1.4258 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.0302 0 1.9596-0.16762 2.7871-0.50195 0.84444-0.33434 1.5612-0.8099 2.1523-1.4258 0.59111-0.63348 1.0483-1.3897 1.3691-2.2695 0.32089-0.87983 0.48047-1.8641 0.48047-2.9551s-0.15958-2.0772-0.48047-2.957c-0.32089-0.89743-0.77803-1.6536-1.3691-2.2695-0.59111-0.63348-1.3079-1.1188-2.1523-1.4531-0.82756-0.35193-1.7569-0.52734-2.7871-0.52734zm41.715 0c-0.912 0-1.7223 0.18516-2.4316 0.55469-0.69244 0.36953-1.2752 0.87043-1.748 1.5039-0.47289 0.61588-0.83651 1.337-1.0898 2.1641-0.23645 0.80944-0.35352 1.6553-0.35352 2.5352 0 0.93262 0.10007 1.8214 0.30273 2.666 0.21956 0.82704 0.55767 1.556 1.0137 2.1895 0.456 0.61588 1.0387 1.109 1.748 1.4785 0.70933 0.35193 1.5536 0.5293 2.5332 0.5293 0.79378 0 1.5446-0.16762 2.2539-0.50195 0.72622-0.35193 1.2834-0.88986 1.6719-1.6113h0.05078v1.7949c0.01689 0.96782-0.21071 1.7689-0.68359 2.4023-0.456 0.63348-1.1898 0.95117-2.2031 0.95117-0.64178 0-1.2075-0.14228-1.6973-0.42383-0.48978-0.26395-0.81939-0.74731-0.98828-1.4512h-3.5723c0.05067 0.77425 0.25276 1.435 0.60742 1.9805 0.37156 0.56309 0.8287 1.0192 1.3691 1.3711 0.55733 0.35193 1.1656 0.60726 1.8242 0.76562 0.67556 0.17597 1.3328 0.26562 1.9746 0.26562 1.5031 0 2.7025-0.21245 3.5977-0.63477 0.89511-0.42232 1.5798-0.94076 2.0527-1.5566 0.47289-0.59829 0.777-1.2493 0.91211-1.9531 0.152-0.70386 0.22656-1.3295 0.22656-1.875v-12.775h-3.4199v1.8223h-0.05078c-0.43911-0.79185-0.98782-1.3551-1.6465-1.6895-0.64178-0.33434-1.3926-0.50195-2.2539-0.50195zm16.523 0c-0.99644 0-1.9088 0.18516-2.7363 0.55469-0.81067 0.36953-1.5124 0.88018-2.1035 1.5312-0.59111 0.63348-1.0463 1.3897-1.3672 2.2695s-0.48047 1.831-0.48047 2.8516c0 1.0558 0.15108 2.0225 0.45508 2.9023 0.32089 0.87983 0.76758 1.6361 1.3418 2.2695 0.57422 0.63348 1.276 1.1266 2.1035 1.4785 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.4862 0 2.7517-0.35277 3.7988-1.0566 1.0471-0.70387 1.8254-1.8733 2.332-3.5098h-3.168c-0.11822 0.42232-0.43934 0.82772-0.96289 1.2148-0.52355 0.36953-1.1468 0.55274-1.873 0.55273-1.0133 0-1.7916-0.27286-2.332-0.81836-0.54044-0.5455-0.83605-1.4245-0.88672-2.6387h9.4492c0.06756-1.0558-0.01551-2.0673-0.25195-3.0352-0.23644-0.96782-0.62557-1.8293-1.166-2.5859-0.52356-0.75666-1.1998-1.355-2.0273-1.7949-0.82756-0.45751-1.7974-0.6875-2.9121-0.6875zm16.189 0c-0.76 0-1.5023 0.18516-2.2285 0.55469-0.72622 0.35193-1.3174 0.92299-1.7734 1.7148h-0.07617v-1.9004h-3.4199v13.646h3.5977v-7.1523c0-1.3901 0.21909-2.3841 0.6582-2.9824 0.43911-0.61588 1.1494-0.92383 2.1289-0.92383 0.86133 0 1.4611 0.28066 1.7988 0.84375 0.33777 0.5455 0.50586 1.3816 0.50586 2.5078v7.707h3.5976v-8.3926c0-0.84464-0.0765-1.6106-0.22851-2.2969-0.13511-0.70387-0.37971-1.2925-0.73438-1.7676-0.35466-0.49271-0.84386-0.87277-1.4688-1.1367-0.608-0.28155-1.3948-0.42188-2.3574-0.42188zm-66.063 0.36914 4.3066 6.4668-4.7129 7.1797h4.0293l2.7363-4.3027 2.7344 4.3027h4.1055l-4.8398-7.2578 4.3066-6.3887h-3.9766l-2.2793 3.5645-2.3066-3.5645zm13.275 0 4.584 12.803c0.10133 0.26395 0.15234 0.54461 0.15234 0.84375 0 0.40472-0.11707 0.77504-0.35352 1.1094-0.21956 0.33434-0.56617 0.52729-1.0391 0.58008-0.35467 0.0176-0.70979 0.0098-1.0645-0.02539-0.35467-0.03519-0.70128-0.07028-1.0391-0.10547v3.0879c0.37156 0.03519 0.73518 0.06051 1.0898 0.07813 0.37156 0.03519 0.74368 0.05273 1.1152 0.05273 1.2329 0 2.1943-0.23778 2.8867-0.71289 0.69244-0.47511 1.2326-1.2664 1.6211-2.375l5.4727-15.336h-3.7246l-2.8613 9.3438h-0.05078l-2.9648-9.3438zm-37.48 2.4551c0.59111 0 1.0823 0.12279 1.4707 0.36914 0.38844 0.24635 0.6991 0.57184 0.93555 0.97656 0.25333 0.38713 0.43187 0.84515 0.5332 1.373 0.10133 0.5103 0.15234 1.0482 0.15234 1.6113 0 0.56309-0.05101 1.1069-0.15234 1.6348-0.10133 0.5279-0.27137 1.0035-0.50781 1.4258-0.23644 0.40472-0.5556 0.73021-0.96094 0.97656-0.38844 0.24635-0.87959 0.36914-1.4707 0.36914-0.55733 0-1.038-0.12279-1.4434-0.36914-0.38844-0.26395-0.71806-0.59723-0.98828-1.002-0.25333-0.42232-0.43842-0.89788-0.55664-1.4258s-0.17773-1.0561-0.17773-1.584c-1e-7 -0.56309 0.05101-1.0991 0.15234-1.6094 0.11822-0.5279 0.29481-0.99567 0.53125-1.4004 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.24635 0.90303-0.36914 1.4941-0.36914zm15.84 0c0.608 0 1.1142 0.13253 1.5195 0.39648 0.42222 0.24635 0.75184 0.57184 0.98828 0.97656 0.25333 0.40472 0.42992 0.87054 0.53125 1.3984 0.10133 0.5279 0.15234 1.0658 0.15234 1.6113 0 0.5455-0.05101 1.0815-0.15234 1.6094-0.10134 0.5103-0.27792 0.97612-0.53125 1.3984-0.23644 0.40472-0.56606 0.73021-0.98828 0.97656-0.40533 0.24635-0.91153 0.36914-1.5195 0.36914-0.608 0-1.1142-0.12279-1.5195-0.36914s-0.73495-0.57184-0.98828-0.97656c-0.23644-0.42232-0.40648-0.88814-0.50781-1.3984-0.10133-0.5279-0.15234-1.0639-0.15234-1.6094 0-0.5455 0.05101-1.0834 0.15234-1.6113 0.10133-0.5279 0.27137-0.99371 0.50781-1.3984 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.26395 0.91153-0.39648 1.5195-0.39648zm42.602 0c0.59111 0 1.0803 0.11499 1.4688 0.34375 0.38844 0.22876 0.70105 0.5367 0.9375 0.92383 0.23644 0.38713 0.40648 0.8354 0.50781 1.3457 0.10133 0.49271 0.15039 1.0209 0.15039 1.584 0 0.4927-0.06606 0.96827-0.20117 1.4258-0.11822 0.43992-0.30526 0.83557-0.55859 1.1875-0.25333 0.35193-0.57445 0.63259-0.96289 0.84375-0.38844 0.21116-0.83513 0.31836-1.3418 0.31836-0.55733 0-1.021-0.12474-1.3926-0.37109-0.37156-0.24635-0.67566-0.56209-0.91211-0.94922-0.21956-0.38713-0.38109-0.81786-0.48242-1.293-0.08444-0.49271-0.12695-0.98581-0.12695-1.4785 0-0.5103 0.05101-0.99366 0.15234-1.4512 0.11822-0.47511 0.29676-0.89025 0.5332-1.2422 0.25333-0.36953 0.55744-0.65993 0.91211-0.87109 0.37156-0.21116 0.80974-0.31641 1.3164-0.31641zm15.535 0c0.87822 0 1.529 0.24753 1.9512 0.74023 0.43911 0.49271 0.74322 1.2138 0.91211 2.1641h-5.8535c0.01689-0.26395 0.0679-0.5641 0.15234-0.89844 0.10133-0.33434 0.26287-0.65008 0.48242-0.94922 0.23644-0.29914 0.54055-0.54667 0.91211-0.74023 0.38845-0.21116 0.86914-0.31641 1.4434-0.31641z" filter="url(#f)" opacity=".3" stroke="#969696" xlink:href="#path141"/>
- <path d="m0.97202 24.161 43.605-0.0019 0.0508 3.3061-43.6 0.04174z" fill="url(#d)" stroke="#000" stroke-width=".5"/>
- <path d="m10.283 3.5547v6.8633h-0.05078c-0.40533-0.66867-0.96254-1.1715-1.6719-1.5059-0.69244-0.35193-1.4282-0.52734-2.2051-0.52734-0.96267 0-1.807 0.2027-2.5332 0.60742-0.72622 0.38713-1.3344 0.90556-1.8242 1.5566-0.47289 0.65108-0.83456 1.4092-1.0879 2.2715-0.23644 0.84464-0.35547 1.7236-0.35547 2.6387 0 0.95022 0.11902 1.8643 0.35547 2.7441 0.25333 0.87983 0.615 1.6633 1.0879 2.3496 0.48978 0.66867 1.1065 1.2066 1.8496 1.6113 0.74311 0.38713 1.6044 0.58008 2.584 0.58008 0.86133 0 1.6311-0.15787 2.3066-0.47461 0.69244-0.33434 1.2497-0.87227 1.6719-1.6113h0.05078v1.7422h3.4199v-18.846zm12.875 4.8301c-1.0302 0-1.9596 0.17541-2.7871 0.52734-0.82756 0.33434-1.5358 0.81965-2.127 1.4531-0.59111 0.61588-1.0483 1.3721-1.3691 2.2695-0.32089 0.87983-0.48047 1.866-0.48047 2.957s0.15958 2.0752 0.48047 2.9551c0.32089 0.87983 0.77803 1.6361 1.3691 2.2695 0.59111 0.61588 1.2994 1.0914 2.127 1.4258 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.0302 0 1.9596-0.16762 2.7871-0.50195 0.84444-0.33434 1.5612-0.8099 2.1523-1.4258 0.59111-0.63348 1.0483-1.3897 1.3691-2.2695 0.32089-0.87983 0.48047-1.8641 0.48047-2.9551s-0.15958-2.0772-0.48047-2.957c-0.32089-0.89743-0.77803-1.6536-1.3691-2.2695-0.59111-0.63348-1.3079-1.1188-2.1523-1.4531-0.82756-0.35193-1.7569-0.52734-2.7871-0.52734zm41.715 0c-0.912 0-1.7223 0.18516-2.4316 0.55469-0.69244 0.36953-1.2752 0.87043-1.748 1.5039-0.47289 0.61588-0.83651 1.337-1.0898 2.1641-0.23644 0.80944-0.35352 1.6553-0.35352 2.5352 0 0.93262 0.10007 1.8214 0.30273 2.666 0.21956 0.82704 0.55767 1.556 1.0137 2.1895 0.456 0.61588 1.0387 1.109 1.748 1.4785 0.70933 0.35193 1.5536 0.5293 2.5332 0.5293 0.79378 0 1.5446-0.16762 2.2539-0.50195 0.72622-0.35193 1.2834-0.88986 1.6719-1.6113h0.05078v1.7949c0.01689 0.96782-0.21071 1.7689-0.68359 2.4023-0.456 0.63348-1.1898 0.95117-2.2031 0.95117-0.64178 0-1.2075-0.14228-1.6973-0.42383-0.48978-0.26395-0.81939-0.74731-0.98828-1.4512h-3.5723c0.05067 0.77425 0.25276 1.435 0.60742 1.9805 0.37156 0.56309 0.8287 1.0192 1.3691 1.3711 0.55733 0.35193 1.1656 0.60726 1.8242 0.76562 0.67556 0.17597 1.3328 0.26562 1.9746 0.26562 1.5031 0 2.7025-0.21245 3.5977-0.63477 0.89511-0.42232 1.5798-0.94076 2.0527-1.5566 0.47289-0.59829 0.777-1.2493 0.91211-1.9531 0.152-0.70386 0.22656-1.3295 0.22656-1.875v-12.775h-3.4199v1.8223h-0.05078c-0.43911-0.79185-0.98782-1.3551-1.6465-1.6895-0.64178-0.33434-1.3926-0.50195-2.2539-0.50195zm16.523 0c-0.99644 0-1.9088 0.18516-2.7363 0.55469-0.81067 0.36953-1.5124 0.88017-2.1035 1.5312-0.59111 0.63348-1.0463 1.3897-1.3672 2.2695s-0.48047 1.831-0.48047 2.8516c0 1.0558 0.15108 2.0225 0.45508 2.9023 0.32089 0.87983 0.76758 1.6361 1.3418 2.2695 0.57422 0.63348 1.276 1.1266 2.1035 1.4785 0.82756 0.33434 1.7569 0.50195 2.7871 0.50195 1.4862 0 2.7517-0.35278 3.7988-1.0566 1.0471-0.70386 1.8254-1.8733 2.332-3.5098h-3.168c-0.11822 0.42232-0.43934 0.82772-0.96289 1.2148-0.52355 0.36953-1.1468 0.55274-1.873 0.55273-1.0133 0-1.7916-0.27286-2.332-0.81836-0.54044-0.5455-0.83605-1.4245-0.88672-2.6387h9.4492c0.06756-1.0558-0.01551-2.0673-0.25195-3.0352-0.23644-0.96782-0.62557-1.8293-1.166-2.5859-0.52356-0.75666-1.1998-1.355-2.0273-1.7949-0.82756-0.45751-1.7974-0.6875-2.9121-0.6875zm16.189 0c-0.76 0-1.5023 0.18516-2.2285 0.55469-0.72622 0.35193-1.3174 0.923-1.7734 1.7148h-0.07617v-1.9004h-3.4199v13.646h3.5977v-7.1523c0-1.3901 0.21909-2.3841 0.6582-2.9824 0.43911-0.61588 1.1494-0.92383 2.1289-0.92383 0.86133 0 1.461 0.28066 1.7988 0.84375 0.33778 0.5455 0.50586 1.3816 0.50586 2.5078v7.707h3.5977v-8.3926c0-0.84464-0.0765-1.6106-0.22852-2.2969-0.13511-0.70387-0.3797-1.2925-0.73437-1.7676-0.35466-0.49271-0.84386-0.87277-1.4688-1.1367-0.608-0.28155-1.3948-0.42188-2.3574-0.42188zm-66.062 0.36914 4.3066 6.4668-4.7129 7.1797h4.0293l2.7363-4.3027 2.7344 4.3027h4.1055l-4.8398-7.2578 4.3066-6.3887h-3.9766l-2.2793 3.5645-2.3066-3.5645zm13.275 0 4.584 12.803c0.10133 0.26395 0.15234 0.54461 0.15234 0.84375 0 0.40472-0.11707 0.77504-0.35352 1.1094-0.21956 0.33434-0.56617 0.52729-1.0391 0.58008-0.35467 0.0176-0.70979 0.0098-1.0645-0.02539-0.35467-0.03519-0.70128-0.07027-1.0391-0.10547v3.0879c0.37156 0.03519 0.73518 0.06052 1.0898 0.07813 0.37156 0.03519 0.74368 0.05273 1.1152 0.05273 1.2329 0 2.1943-0.23778 2.8867-0.71289 0.69244-0.47511 1.2326-1.2664 1.6211-2.375l5.4727-15.336h-3.7246l-2.8613 9.3437h-0.05078l-2.9648-9.3437zm-37.48 2.4551c0.59111 0 1.0823 0.12279 1.4707 0.36914s0.6991 0.57184 0.93555 0.97656c0.25333 0.38713 0.43187 0.84515 0.5332 1.373 0.10133 0.5103 0.15234 1.0482 0.15234 1.6113 0 0.56309-0.05101 1.1069-0.15234 1.6348-0.10133 0.5279-0.27137 1.0035-0.50781 1.4258-0.23644 0.40472-0.5556 0.73021-0.96094 0.97656-0.38844 0.24635-0.87959 0.36914-1.4707 0.36914-0.55733 0-1.038-0.12279-1.4434-0.36914-0.38844-0.26395-0.71806-0.59723-0.98828-1.002-0.25333-0.42232-0.43842-0.89788-0.55664-1.4258s-0.17773-1.0561-0.17773-1.584c-1e-7 -0.56309 0.05101-1.0991 0.15234-1.6094 0.11822-0.5279 0.29481-0.99567 0.53125-1.4004 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.24635 0.90303-0.36914 1.4941-0.36914zm15.84 0c0.608 0 1.1142 0.13254 1.5195 0.39648 0.42222 0.24635 0.75184 0.57184 0.98828 0.97656 0.25333 0.40472 0.42992 0.87054 0.53125 1.3984 0.10133 0.5279 0.15234 1.0658 0.15234 1.6113 0 0.5455-0.05101 1.0815-0.15234 1.6094-0.10133 0.5103-0.27792 0.97612-0.53125 1.3984-0.23644 0.40472-0.56606 0.73021-0.98828 0.97656-0.40533 0.24635-0.91153 0.36914-1.5195 0.36914-0.608 0-1.1142-0.12279-1.5195-0.36914s-0.73495-0.57184-0.98828-0.97656c-0.23644-0.42232-0.40648-0.88813-0.50781-1.3984-0.10133-0.5279-0.15234-1.0639-0.15234-1.6094 0-0.5455 0.05101-1.0834 0.15234-1.6113 0.10133-0.5279 0.27137-0.99371 0.50781-1.3984 0.25333-0.40472 0.58295-0.73021 0.98828-0.97656 0.40533-0.26395 0.91153-0.39648 1.5195-0.39648zm42.602 0c0.59111 0 1.0803 0.11499 1.4688 0.34375 0.38844 0.22876 0.70106 0.5367 0.9375 0.92383 0.23644 0.38713 0.40648 0.8354 0.50781 1.3457 0.10133 0.49271 0.15039 1.0209 0.15039 1.584 0 0.49271-0.06606 0.96827-0.20117 1.4258-0.11822 0.43992-0.30526 0.83557-0.55859 1.1875-0.25333 0.35193-0.57445 0.63259-0.96289 0.84375-0.38844 0.21116-0.83513 0.31836-1.3418 0.31836-0.55733 0-1.021-0.12474-1.3926-0.37109-0.37156-0.24635-0.67566-0.56209-0.91211-0.94922-0.21956-0.38713-0.38109-0.81786-0.48242-1.293-0.08444-0.49271-0.12695-0.98581-0.12695-1.4785 0-0.5103 0.05101-0.99366 0.15234-1.4512 0.11822-0.47511 0.29676-0.89026 0.5332-1.2422 0.25333-0.36953 0.55744-0.65993 0.91211-0.87109 0.37156-0.21116 0.80974-0.31641 1.3164-0.31641zm15.535 0c0.87822 0 1.529 0.24753 1.9512 0.74024 0.43911 0.49271 0.74322 1.2138 0.91211 2.1641h-5.8535c0.01689-0.26395 0.0679-0.5641 0.15234-0.89844 0.10133-0.33434 0.26287-0.65008 0.48242-0.94922 0.23644-0.29914 0.54055-0.54667 0.91211-0.74023 0.38845-0.21116 0.86914-0.31641 1.4434-0.31641z" fill="url(#e)" stroke="#4665A2" stroke-width=".7"/>
- <path d="m52.988 27.291c0.99602-1.0359 1.3944-1.8725 1.7928-3.1076l3.8247-0.03984c0.3113 1.6096 0.82413 2.5137 1.6335 3.1474z" fill="url(#b)" stroke="#000" stroke-width=".5"/>
- <path d="m73.89 24.04 28.885-0.2011-0.12476 3.3879-31.033 0.16229c1.2621-1.0234 1.9665-2.2859 2.2724-3.3491z" fill="url(#c)" stroke="#000" stroke-width=".41788"/>
- </g>
-</svg>
diff --git a/doc/doxyout/hx509/html/dynsections.js b/doc/doxyout/hx509/html/dynsections.js
deleted file mode 100644
index 3174bd7bebbf..000000000000
--- a/doc/doxyout/hx509/html/dynsections.js
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- @licstart The following is the entire license notice for the JavaScript code in this file.
-
- The MIT License (MIT)
-
- Copyright (C) 1997-2020 by Dimitri van Heesch
-
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software
- and associated documentation files (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge, publish, distribute,
- sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all copies or
- substantial portions of the Software.
-
- 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. 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.
-
- @licend The above is the entire license notice for the JavaScript code in this file
- */
-function toggleVisibility(linkObj)
-{
- var base = $(linkObj).attr('id');
- var summary = $('#'+base+'-summary');
- var content = $('#'+base+'-content');
- var trigger = $('#'+base+'-trigger');
- var src=$(trigger).attr('src');
- if (content.is(':visible')===true) {
- content.hide();
- summary.show();
- $(linkObj).addClass('closed').removeClass('opened');
- $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
- } else {
- content.show();
- summary.hide();
- $(linkObj).removeClass('closed').addClass('opened');
- $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
- }
- return false;
-}
-
-function updateStripes()
-{
- $('table.directory tr').
- removeClass('even').filter(':visible:even').addClass('even');
-}
-
-function toggleLevel(level)
-{
- $('table.directory tr').each(function() {
- var l = this.id.split('_').length-1;
- var i = $('#img'+this.id.substring(3));
- var a = $('#arr'+this.id.substring(3));
- if (l<level+1) {
- i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
- a.html('&#9660;');
- $(this).show();
- } else if (l==level+1) {
- i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
- a.html('&#9658;');
- $(this).show();
- } else {
- $(this).hide();
- }
- });
- updateStripes();
-}
-
-function toggleFolder(id)
-{
- // the clicked row
- var currentRow = $('#row_'+id);
-
- // all rows after the clicked row
- var rows = currentRow.nextAll("tr");
-
- var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
-
- // only match elements AFTER this one (can't hide elements before)
- var childRows = rows.filter(function() { return this.id.match(re); });
-
- // first row is visible we are HIDING
- if (childRows.filter(':first').is(':visible')===true) {
- // replace down arrow by right arrow for current row
- var currentRowSpans = currentRow.find("span");
- currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
- currentRowSpans.filter(".arrow").html('&#9658;');
- rows.filter("[id^=row_"+id+"]").hide(); // hide all children
- } else { // we are SHOWING
- // replace right arrow by down arrow for current row
- var currentRowSpans = currentRow.find("span");
- currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
- currentRowSpans.filter(".arrow").html('&#9660;');
- // replace down arrows by right arrows for child rows
- var childRowsSpans = childRows.find("span");
- childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
- childRowsSpans.filter(".arrow").html('&#9658;');
- childRows.show(); //show all children
- }
- updateStripes();
-}
-
-
-function toggleInherit(id)
-{
- var rows = $('tr.inherit.'+id);
- var img = $('tr.inherit_header.'+id+' img');
- var src = $(img).attr('src');
- if (rows.filter(':first').is(':visible')===true) {
- rows.css('display','none');
- $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
- } else {
- rows.css('display','table-row'); // using show() causes jump in firefox
- $(img).attr('src',src.substring(0,src.length-10)+'open.png');
- }
-}
-/* @license-end */
diff --git a/doc/doxyout/hx509/html/folderclosed.png b/doc/doxyout/hx509/html/folderclosed.png
deleted file mode 100644
index bb8ab35edce8..000000000000
--- a/doc/doxyout/hx509/html/folderclosed.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/folderopen.png b/doc/doxyout/hx509/html/folderopen.png
deleted file mode 100644
index d6c7f676a3b3..000000000000
--- a/doc/doxyout/hx509/html/folderopen.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/graph_legend.html b/doc/doxyout/hx509/html/graph_legend.html
deleted file mode 100644
index 80eac3b6dd37..000000000000
--- a/doc/doxyout/hx509/html/graph_legend.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Graph Legend</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Graph Legend</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>This page explains how to interpret the graphs that are generated by doxygen.</p>
-<p>Consider the following example: </p><div class="fragment"><div class="line"><span class="comment">/*! Invisible class because of truncation */</span></div>
-<div class="line"><span class="keyword">class </span>Invisible { };</div>
-<div class="line"><span class="comment"></span> </div>
-<div class="line"><span class="comment">/*! Truncated class, inheritance relation is hidden */</span></div>
-<div class="line"><span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };</div>
-<div class="line"> </div>
-<div class="line"><span class="comment">/* Class not documented with doxygen comments */</span></div>
-<div class="line"><span class="keyword">class </span>Undocumented { };</div>
-<div class="line"><span class="comment"></span> </div>
-<div class="line"><span class="comment">/*! Class that is inherited using public inheritance */</span></div>
-<div class="line"><span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };</div>
-<div class="line"><span class="comment"></span> </div>
-<div class="line"><span class="comment">/*! A template class */</span></div>
-<div class="line"><span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>Templ { };</div>
-<div class="line"><span class="comment"></span> </div>
-<div class="line"><span class="comment">/*! Class that is inherited using protected inheritance */</span></div>
-<div class="line"><span class="keyword">class </span>ProtectedBase { };</div>
-<div class="line"><span class="comment"></span> </div>
-<div class="line"><span class="comment">/*! Class that is inherited using private inheritance */</span></div>
-<div class="line"><span class="keyword">class </span>PrivateBase { };</div>
-<div class="line"><span class="comment"></span> </div>
-<div class="line"><span class="comment">/*! Class that is used by the Inherited class */</span></div>
-<div class="line"><span class="keyword">class </span>Used { };</div>
-<div class="line"><span class="comment"></span> </div>
-<div class="line"><span class="comment">/*! Super class that inherits a number of other classes */</span></div>
-<div class="line"><span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,</div>
-<div class="line"> <span class="keyword">protected</span> ProtectedBase,</div>
-<div class="line"> <span class="keyword">private</span> PrivateBase,</div>
-<div class="line"> <span class="keyword">public</span> Undocumented,</div>
-<div class="line"> <span class="keyword">public</span> Templ&lt;int&gt;</div>
-<div class="line">{</div>
-<div class="line"> <span class="keyword">private</span>:</div>
-<div class="line"> Used *m_usedClass;</div>
-<div class="line">};</div>
-</div><!-- fragment --><p> This will result in the following graph:</p>
-<center><img src="graph_legend.png" alt="" class="inline"/></center><p>The boxes in the above graph have the following meaning: </p>
-<ul>
-<li>
-A filled gray box represents the struct or class for which the graph is generated. </li>
-<li>
-A box with a black border denotes a documented struct or class. </li>
-<li>
-A box with a gray border denotes an undocumented struct or class. </li>
-<li>
-A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
-</ul>
-<p>The arrows have the following meaning: </p>
-<ul>
-<li>
-A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
-<li>
-A dark green arrow is used for protected inheritance. </li>
-<li>
-A dark red arrow is used for private inheritance. </li>
-<li>
-A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible. </li>
-<li>
-A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance. </li>
-</ul>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/graph_legend.md5 b/doc/doxyout/hx509/html/graph_legend.md5
deleted file mode 100644
index 8fcdccd1b9be..000000000000
--- a/doc/doxyout/hx509/html/graph_legend.md5
+++ /dev/null
@@ -1 +0,0 @@
-f51bf6e9a10430aafef59831b08dcbfe \ No newline at end of file
diff --git a/doc/doxyout/hx509/html/graph_legend.png b/doc/doxyout/hx509/html/graph_legend.png
deleted file mode 100644
index f323741337e1..000000000000
--- a/doc/doxyout/hx509/html/graph_legend.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/group__hx509.html b/doc/doxyout/hx509/html/group__hx509.html
deleted file mode 100644
index db0a64f1d61d..000000000000
--- a/doc/doxyout/hx509/html/group__hx509.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hx509 library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">hx509 library</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga96fe3d8ccb6f810238cb9046123c24c3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509.html#ga96fe3d8ccb6f810238cb9046123c24c3">hx509_context_init</a> (hx509_context *context)</td></tr>
-<tr class="separator:ga96fe3d8ccb6f810238cb9046123c24c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaedbcd7cf7d922d0c348d318cbdc46b2f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509.html#gaedbcd7cf7d922d0c348d318cbdc46b2f">hx509_context_free</a> (hx509_context *context)</td></tr>
-<tr class="separator:gaedbcd7cf7d922d0c348d318cbdc46b2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="gaedbcd7cf7d922d0c348d318cbdc46b2f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaedbcd7cf7d922d0c348d318cbdc46b2f">&#9670;&nbsp;</a></span>hx509_context_free()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_context_free </td>
- <td>(</td>
- <td class="paramtype">hx509_context *&#160;</td>
- <td class="paramname"><em>context</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free the context allocated by <a class="el" href="group__hx509.html#ga96fe3d8ccb6f810238cb9046123c24c3">hx509_context_init()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>context to be freed. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga96fe3d8ccb6f810238cb9046123c24c3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga96fe3d8ccb6f810238cb9046123c24c3">&#9670;&nbsp;</a></span>hx509_context_init()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_context_init </td>
- <td>(</td>
- <td class="paramtype">hx509_context *&#160;</td>
- <td class="paramname"><em>context</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Creates a hx509 context that most functions in the library uses. The context is only allowed to be used by one thread at each moment. Free the context with <a class="el" href="group__hx509.html#gaedbcd7cf7d922d0c348d318cbdc46b2f">hx509_context_free()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>Returns a pointer to new hx509 context.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/group__hx509__ca.html b/doc/doxyout/hx509/html/group__hx509__ca.html
deleted file mode 100644
index d173bb00ec2f..000000000000
--- a/doc/doxyout/hx509/html/group__hx509__ca.html
+++ /dev/null
@@ -1,1231 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hx509 CA functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">hx509 CA functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga627b48e10d0b3576aec5823d6098ea3a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga627b48e10d0b3576aec5823d6098ea3a">hx509_ca_tbs_init</a> (hx509_context context, hx509_ca_tbs *tbs)</td></tr>
-<tr class="separator:ga627b48e10d0b3576aec5823d6098ea3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga89eef97566653fbbe6ab32b59ea99299"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga89eef97566653fbbe6ab32b59ea99299">hx509_ca_tbs_free</a> (hx509_ca_tbs *tbs)</td></tr>
-<tr class="separator:ga89eef97566653fbbe6ab32b59ea99299"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6a124401ceb514cf16cf8e3721234d03"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga6a124401ceb514cf16cf8e3721234d03">hx509_ca_tbs_set_notBefore</a> (hx509_context context, hx509_ca_tbs tbs, time_t t)</td></tr>
-<tr class="separator:ga6a124401ceb514cf16cf8e3721234d03"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac64ad4daabe3c912be50c2a32af4fe05"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#gac64ad4daabe3c912be50c2a32af4fe05">hx509_ca_tbs_set_notAfter</a> (hx509_context context, hx509_ca_tbs tbs, time_t t)</td></tr>
-<tr class="separator:gac64ad4daabe3c912be50c2a32af4fe05"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga587184eedd56450858eb74cae842f084"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga587184eedd56450858eb74cae842f084">hx509_ca_tbs_set_notAfter_lifetime</a> (hx509_context context, hx509_ca_tbs tbs, time_t delta)</td></tr>
-<tr class="separator:ga587184eedd56450858eb74cae842f084"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf805458a31b3ba5731dc432c711aa5c1"><td class="memItemLeft" align="right" valign="top">const struct units *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#gaf805458a31b3ba5731dc432c711aa5c1">hx509_ca_tbs_template_units</a> (void)</td></tr>
-<tr class="separator:gaf805458a31b3ba5731dc432c711aa5c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2d7c245443a81540ff993e7cc6f51ebb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga2d7c245443a81540ff993e7cc6f51ebb">hx509_ca_tbs_set_template</a> (hx509_context context, hx509_ca_tbs tbs, int flags, hx509_cert cert)</td></tr>
-<tr class="separator:ga2d7c245443a81540ff993e7cc6f51ebb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3e105ce23d67234c3b5d35a0752449cf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga3e105ce23d67234c3b5d35a0752449cf">hx509_ca_tbs_set_ca</a> (hx509_context context, hx509_ca_tbs tbs, int pathLenConstraint)</td></tr>
-<tr class="separator:ga3e105ce23d67234c3b5d35a0752449cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga215241c575ae3296e137f155a0a4dd6e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga215241c575ae3296e137f155a0a4dd6e">hx509_ca_tbs_set_proxy</a> (hx509_context context, hx509_ca_tbs tbs, int pathLenConstraint)</td></tr>
-<tr class="separator:ga215241c575ae3296e137f155a0a4dd6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae41a6e44a39c95e6c29376985f0b39b0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#gae41a6e44a39c95e6c29376985f0b39b0">hx509_ca_tbs_set_domaincontroller</a> (hx509_context context, hx509_ca_tbs tbs)</td></tr>
-<tr class="separator:gae41a6e44a39c95e6c29376985f0b39b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae12bfa65cf1112bf3181a5499e8f7ba6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#gae12bfa65cf1112bf3181a5499e8f7ba6">hx509_ca_tbs_set_spki</a> (hx509_context context, hx509_ca_tbs tbs, const SubjectPublicKeyInfo *spki)</td></tr>
-<tr class="separator:gae12bfa65cf1112bf3181a5499e8f7ba6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3f611617f0001575b723a4a9c0d9b3ca"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga3f611617f0001575b723a4a9c0d9b3ca">hx509_ca_tbs_set_serialnumber</a> (hx509_context context, hx509_ca_tbs tbs, const heim_integer *serialNumber)</td></tr>
-<tr class="separator:ga3f611617f0001575b723a4a9c0d9b3ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4d26e70019741e516dc92158914cd414"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga4d26e70019741e516dc92158914cd414">hx509_ca_tbs_add_eku</a> (hx509_context context, hx509_ca_tbs tbs, const heim_oid *oid)</td></tr>
-<tr class="separator:ga4d26e70019741e516dc92158914cd414"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga8c5b557c63342686630b62239396b96a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga8c5b557c63342686630b62239396b96a">hx509_ca_tbs_add_crl_dp_uri</a> (hx509_context context, hx509_ca_tbs tbs, const char *uri, hx509_name issuername)</td></tr>
-<tr class="separator:ga8c5b557c63342686630b62239396b96a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga8e938c9e9b1fea29e5bf77a2824891e2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga8e938c9e9b1fea29e5bf77a2824891e2">hx509_ca_tbs_add_san_otherName</a> (hx509_context context, hx509_ca_tbs tbs, const heim_oid *oid, const heim_octet_string *os)</td></tr>
-<tr class="separator:ga8e938c9e9b1fea29e5bf77a2824891e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaede019208dbf7ad49cd077951887c4c3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#gaede019208dbf7ad49cd077951887c4c3">hx509_ca_tbs_add_san_pkinit</a> (hx509_context context, hx509_ca_tbs tbs, const char *principal)</td></tr>
-<tr class="separator:gaede019208dbf7ad49cd077951887c4c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabc4f3398499094a859fbceb769ba5051"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#gabc4f3398499094a859fbceb769ba5051">hx509_ca_tbs_add_san_ms_upn</a> (hx509_context context, hx509_ca_tbs tbs, const char *principal)</td></tr>
-<tr class="separator:gabc4f3398499094a859fbceb769ba5051"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6286a0d6f375949301d62215184e7275"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga6286a0d6f375949301d62215184e7275">hx509_ca_tbs_add_san_jid</a> (hx509_context context, hx509_ca_tbs tbs, const char *jid)</td></tr>
-<tr class="separator:ga6286a0d6f375949301d62215184e7275"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3f4c23c964ef2331b45f80fb5355ede7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga3f4c23c964ef2331b45f80fb5355ede7">hx509_ca_tbs_add_san_hostname</a> (hx509_context context, hx509_ca_tbs tbs, const char *dnsname)</td></tr>
-<tr class="separator:ga3f4c23c964ef2331b45f80fb5355ede7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf621ee0bac71f4ee09881812f4c4d196"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#gaf621ee0bac71f4ee09881812f4c4d196">hx509_ca_tbs_add_san_rfc822name</a> (hx509_context context, hx509_ca_tbs tbs, const char *rfc822Name)</td></tr>
-<tr class="separator:gaf621ee0bac71f4ee09881812f4c4d196"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9e8cf374812308654e3d7270afb59da1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga9e8cf374812308654e3d7270afb59da1">hx509_ca_tbs_set_subject</a> (hx509_context context, hx509_ca_tbs tbs, hx509_name subject)</td></tr>
-<tr class="separator:ga9e8cf374812308654e3d7270afb59da1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae22ea3d0201845dbc73f4b21502face6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#gae22ea3d0201845dbc73f4b21502face6">hx509_ca_tbs_set_unique</a> (hx509_context context, hx509_ca_tbs tbs, const heim_bit_string *subjectUniqueID, const heim_bit_string *issuerUniqueID)</td></tr>
-<tr class="separator:gae22ea3d0201845dbc73f4b21502face6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga36432d6249ee668196a692c7286d09ce"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga36432d6249ee668196a692c7286d09ce">hx509_ca_tbs_subject_expand</a> (hx509_context context, hx509_ca_tbs tbs, hx509_env env)</td></tr>
-<tr class="separator:ga36432d6249ee668196a692c7286d09ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4a0a95e3af51c1a1851b1d6b92c20662"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga4a0a95e3af51c1a1851b1d6b92c20662">hx509_ca_tbs_set_signature_algorithm</a> (hx509_context context, hx509_ca_tbs tbs, const AlgorithmIdentifier *sigalg)</td></tr>
-<tr class="separator:ga4a0a95e3af51c1a1851b1d6b92c20662"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3f0ff00b9c54018e346eed759b25ae16"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga3f0ff00b9c54018e346eed759b25ae16">hx509_ca_sign</a> (hx509_context context, hx509_ca_tbs tbs, hx509_cert signer, hx509_cert *certificate)</td></tr>
-<tr class="separator:ga3f0ff00b9c54018e346eed759b25ae16"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga310b010421b8a7c169566ef74ce319fb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__ca.html#ga310b010421b8a7c169566ef74ce319fb">hx509_ca_sign_self</a> (hx509_context context, hx509_ca_tbs tbs, hx509_private_key signer, hx509_cert *certificate)</td></tr>
-<tr class="separator:ga310b010421b8a7c169566ef74ce319fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>See the <a class="el" href="page_ca.html">Hx509 CA functions</a> for description and examples. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="ga3f0ff00b9c54018e346eed759b25ae16"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga3f0ff00b9c54018e346eed759b25ae16">&#9670;&nbsp;</a></span>hx509_ca_sign()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_sign </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>signer</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert *&#160;</td>
- <td class="paramname"><em>certificate</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Sign a to-be-signed certificate object with a issuer certificate.</p>
-<p>The caller needs to at least have called the following functions on the to-be-signed certificate object:</p><ul>
-<li><a class="el" href="group__hx509__ca.html#ga627b48e10d0b3576aec5823d6098ea3a">hx509_ca_tbs_init()</a></li>
-<li><a class="el" href="group__hx509__ca.html#ga9e8cf374812308654e3d7270afb59da1">hx509_ca_tbs_set_subject()</a></li>
-<li><a class="el" href="group__hx509__ca.html#gae12bfa65cf1112bf3181a5499e8f7ba6">hx509_ca_tbs_set_spki()</a></li>
-</ul>
-<p>When done the to-be-signed certificate object should be freed with <a class="el" href="group__hx509__ca.html#ga89eef97566653fbbe6ab32b59ea99299">hx509_ca_tbs_free()</a>.</p>
-<p>When creating self-signed certificate use <a class="el" href="group__hx509__ca.html#ga310b010421b8a7c169566ef74ce319fb">hx509_ca_sign_self()</a> instead.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">signer</td><td>the CA certificate object to sign with (need private key). </td></tr>
- <tr><td class="paramname">certificate</td><td>return cerificate, free with <a class="el" href="group__hx509__cert.html#gad2f9bb0ddc4babb26a8ccd983db8c948">hx509_cert_free()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga310b010421b8a7c169566ef74ce319fb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga310b010421b8a7c169566ef74ce319fb">&#9670;&nbsp;</a></span>hx509_ca_sign_self()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_sign_self </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_private_key&#160;</td>
- <td class="paramname"><em>signer</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert *&#160;</td>
- <td class="paramname"><em>certificate</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Work just like <a class="el" href="group__hx509__ca.html#ga3f0ff00b9c54018e346eed759b25ae16">hx509_ca_sign()</a> but signs it-self.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">signer</td><td>private key to sign with. </td></tr>
- <tr><td class="paramname">certificate</td><td>return cerificate, free with <a class="el" href="group__hx509__cert.html#gad2f9bb0ddc4babb26a8ccd983db8c948">hx509_cert_free()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga8c5b557c63342686630b62239396b96a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga8c5b557c63342686630b62239396b96a">&#9670;&nbsp;</a></span>hx509_ca_tbs_add_crl_dp_uri()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_add_crl_dp_uri </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>uri</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_name&#160;</td>
- <td class="paramname"><em>issuername</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add CRL distribution point URI to the to-be-signed certificate object.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">uri</td><td>uri to the CRL. </td></tr>
- <tr><td class="paramname">issuername</td><td>name of the issuer.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-<p>issuername not supported</p>
-
-</div>
-</div>
-<a id="ga4d26e70019741e516dc92158914cd414"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga4d26e70019741e516dc92158914cd414">&#9670;&nbsp;</a></span>hx509_ca_tbs_add_eku()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_add_eku </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_oid *&#160;</td>
- <td class="paramname"><em>oid</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>An an extended key usage to the to-be-signed certificate object. Duplicates will detected and not added.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">oid</td><td>extended key usage to add.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga3f4c23c964ef2331b45f80fb5355ede7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga3f4c23c964ef2331b45f80fb5355ede7">&#9670;&nbsp;</a></span>hx509_ca_tbs_add_san_hostname()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_add_san_hostname </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>dnsname</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add a Subject Alternative Name hostname to to-be-signed certificate object. A domain match starts with ., an exact match does not.</p>
-<p>Example of a an domain match: .domain.se matches the hostname host.domain.se.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">dnsname</td><td>a hostame.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga6286a0d6f375949301d62215184e7275"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga6286a0d6f375949301d62215184e7275">&#9670;&nbsp;</a></span>hx509_ca_tbs_add_san_jid()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_add_san_jid </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>jid</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add a Jabber/XMPP jid Subject Alternative Name to the to-be-signed certificate object. The jid is an UTF8 string.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">jid</td><td>string of an a jabber id in UTF8.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gabc4f3398499094a859fbceb769ba5051"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gabc4f3398499094a859fbceb769ba5051">&#9670;&nbsp;</a></span>hx509_ca_tbs_add_san_ms_upn()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_add_san_ms_upn </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>principal</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add Microsoft UPN Subject Alternative Name to the to-be-signed certificate object. The principal string is a UTF8 string.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">principal</td><td>Microsoft UPN string.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga8e938c9e9b1fea29e5bf77a2824891e2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga8e938c9e9b1fea29e5bf77a2824891e2">&#9670;&nbsp;</a></span>hx509_ca_tbs_add_san_otherName()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_add_san_otherName </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_oid *&#160;</td>
- <td class="paramname"><em>oid</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_octet_string *&#160;</td>
- <td class="paramname"><em>os</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add Subject Alternative Name otherName to the to-be-signed certificate object.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">oid</td><td>the oid of the OtherName. </td></tr>
- <tr><td class="paramname">os</td><td>data in the other name.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gaede019208dbf7ad49cd077951887c4c3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaede019208dbf7ad49cd077951887c4c3">&#9670;&nbsp;</a></span>hx509_ca_tbs_add_san_pkinit()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_add_san_pkinit </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>principal</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add Kerberos Subject Alternative Name to the to-be-signed certificate object. The principal string is a UTF8 string.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">principal</td><td>Kerberos principal to add to the certificate.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gaf621ee0bac71f4ee09881812f4c4d196"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaf621ee0bac71f4ee09881812f4c4d196">&#9670;&nbsp;</a></span>hx509_ca_tbs_add_san_rfc822name()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_add_san_rfc822name </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>rfc822Name</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add a Subject Alternative Name rfc822 (email address) to to-be-signed certificate object.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">rfc822Name</td><td>a string to a email address.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga89eef97566653fbbe6ab32b59ea99299"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga89eef97566653fbbe6ab32b59ea99299">&#9670;&nbsp;</a></span>hx509_ca_tbs_free()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_ca_tbs_free </td>
- <td>(</td>
- <td class="paramtype">hx509_ca_tbs *&#160;</td>
- <td class="paramname"><em>tbs</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free an To Be Signed object.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">tbs</td><td>object to free. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga627b48e10d0b3576aec5823d6098ea3a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga627b48e10d0b3576aec5823d6098ea3a">&#9670;&nbsp;</a></span>hx509_ca_tbs_init()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_init </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs *&#160;</td>
- <td class="paramname"><em>tbs</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Allocate an to-be-signed certificate object that will be converted into an certificate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>returned to-be-signed certicate object, free with <a class="el" href="group__hx509__ca.html#ga89eef97566653fbbe6ab32b59ea99299">hx509_ca_tbs_free()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga3e105ce23d67234c3b5d35a0752449cf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga3e105ce23d67234c3b5d35a0752449cf">&#9670;&nbsp;</a></span>hx509_ca_tbs_set_ca()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_set_ca </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>pathLenConstraint</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Make the to-be-signed certificate object a CA certificate. If the pathLenConstraint is negative path length constraint is used.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">pathLenConstraint</td><td>path length constraint, negative, no constraint.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gae41a6e44a39c95e6c29376985f0b39b0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gae41a6e44a39c95e6c29376985f0b39b0">&#9670;&nbsp;</a></span>hx509_ca_tbs_set_domaincontroller()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_set_domaincontroller </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Make the to-be-signed certificate object a windows domain controller certificate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gac64ad4daabe3c912be50c2a32af4fe05"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gac64ad4daabe3c912be50c2a32af4fe05">&#9670;&nbsp;</a></span>hx509_ca_tbs_set_notAfter()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_set_notAfter </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">time_t&#160;</td>
- <td class="paramname"><em>t</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the absolute time when the certificate is valid to.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">t</td><td>time when the certificate will expire</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga587184eedd56450858eb74cae842f084"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga587184eedd56450858eb74cae842f084">&#9670;&nbsp;</a></span>hx509_ca_tbs_set_notAfter_lifetime()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_set_notAfter_lifetime </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">time_t&#160;</td>
- <td class="paramname"><em>delta</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the relative time when the certificiate is going to expire.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">delta</td><td>seconds to the certificate is going to expire.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga6a124401ceb514cf16cf8e3721234d03"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga6a124401ceb514cf16cf8e3721234d03">&#9670;&nbsp;</a></span>hx509_ca_tbs_set_notBefore()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_set_notBefore </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">time_t&#160;</td>
- <td class="paramname"><em>t</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the absolute time when the certificate is valid from. If not set the current time will be used.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">t</td><td>time the certificated will start to be valid</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga215241c575ae3296e137f155a0a4dd6e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga215241c575ae3296e137f155a0a4dd6e">&#9670;&nbsp;</a></span>hx509_ca_tbs_set_proxy()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_set_proxy </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>pathLenConstraint</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Make the to-be-signed certificate object a proxy certificate. If the pathLenConstraint is negative path length constraint is used.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">pathLenConstraint</td><td>path length constraint, negative, no constraint.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga3f611617f0001575b723a4a9c0d9b3ca"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga3f611617f0001575b723a4a9c0d9b3ca">&#9670;&nbsp;</a></span>hx509_ca_tbs_set_serialnumber()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_set_serialnumber </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_integer *&#160;</td>
- <td class="paramname"><em>serialNumber</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the serial number to use for to-be-signed certificate object.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">serialNumber</td><td>serial number to use for the to-be-signed certificate object.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga4a0a95e3af51c1a1851b1d6b92c20662"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga4a0a95e3af51c1a1851b1d6b92c20662">&#9670;&nbsp;</a></span>hx509_ca_tbs_set_signature_algorithm()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_set_signature_algorithm </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const AlgorithmIdentifier *&#160;</td>
- <td class="paramname"><em>sigalg</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set signature algorithm on the to be signed certificate</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">sigalg</td><td>signature algorithm to use</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gae12bfa65cf1112bf3181a5499e8f7ba6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gae12bfa65cf1112bf3181a5499e8f7ba6">&#9670;&nbsp;</a></span>hx509_ca_tbs_set_spki()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_set_spki </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const SubjectPublicKeyInfo *&#160;</td>
- <td class="paramname"><em>spki</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the subject public key info (SPKI) in the to-be-signed certificate object. SPKI is the public key and key related parameters in the certificate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">spki</td><td>subject public key info to use for the to-be-signed certificate object.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga9e8cf374812308654e3d7270afb59da1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga9e8cf374812308654e3d7270afb59da1">&#9670;&nbsp;</a></span>hx509_ca_tbs_set_subject()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_set_subject </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_name&#160;</td>
- <td class="paramname"><em>subject</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the subject name of a to-be-signed certificate object.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">subject</td><td>the name to set a subject.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga2d7c245443a81540ff993e7cc6f51ebb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga2d7c245443a81540ff993e7cc6f51ebb">&#9670;&nbsp;</a></span>hx509_ca_tbs_set_template()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_set_template </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>flags</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Initialize the to-be-signed certificate object from a template certifiate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">flags</td><td>bit field selecting what to copy from the template certifiate. </td></tr>
- <tr><td class="paramname">cert</td><td>template certificate.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gae22ea3d0201845dbc73f4b21502face6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gae22ea3d0201845dbc73f4b21502face6">&#9670;&nbsp;</a></span>hx509_ca_tbs_set_unique()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_set_unique </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_bit_string *&#160;</td>
- <td class="paramname"><em>subjectUniqueID</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_bit_string *&#160;</td>
- <td class="paramname"><em>issuerUniqueID</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the issuerUniqueID and subjectUniqueID</p>
-<p>These are only supposed to be used considered with version 2 certificates, replaced by the two extensions SubjectKeyIdentifier and IssuerKeyIdentifier. This function is to allow application using legacy protocol to issue them.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">issuerUniqueID</td><td>to be set </td></tr>
- <tr><td class="paramname">subjectUniqueID</td><td>to be set</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga36432d6249ee668196a692c7286d09ce"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga36432d6249ee668196a692c7286d09ce">&#9670;&nbsp;</a></span>hx509_ca_tbs_subject_expand()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ca_tbs_subject_expand </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_ca_tbs&#160;</td>
- <td class="paramname"><em>tbs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_env&#160;</td>
- <td class="paramname"><em>env</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Expand the the subject name in the to-be-signed certificate object using <a class="el" href="group__hx509__name.html#ga42015083c70b6aa29c4f082998dbbece">hx509_name_expand()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">tbs</td><td>object to be signed. </td></tr>
- <tr><td class="paramname">env</td><td>environment variable to expand variables in the subject name, see hx509_env_init().</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gaf805458a31b3ba5731dc432c711aa5c1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaf805458a31b3ba5731dc432c711aa5c1">&#9670;&nbsp;</a></span>hx509_ca_tbs_template_units()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const struct units* hx509_ca_tbs_template_units </td>
- <td>(</td>
- <td class="paramtype">void&#160;</td>
- <td class="paramname"></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Make of template units, use to build flags argument to <a class="el" href="group__hx509__ca.html#ga2d7c245443a81540ff993e7cc6f51ebb">hx509_ca_tbs_set_template()</a> with parse_units().</p>
-<dl class="section return"><dt>Returns</dt><dd>an units structure. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/group__hx509__cert.html b/doc/doxyout/hx509/html/group__hx509__cert.html
deleted file mode 100644
index 521528c3eef4..000000000000
--- a/doc/doxyout/hx509/html/group__hx509__cert.html
+++ /dev/null
@@ -1,1431 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hx509 certificate functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">hx509 certificate functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga31c3f5e9a6d7892729c56f0f86a76f4a"><td class="memItemLeft" align="right" valign="top">hx509_cert&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga31c3f5e9a6d7892729c56f0f86a76f4a">hx509_cert_init</a> (hx509_context context, const Certificate *c, heim_error_t *error)</td></tr>
-<tr class="separator:ga31c3f5e9a6d7892729c56f0f86a76f4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga134b62e36ffcf09bbf866a88bc4c5010"><td class="memItemLeft" align="right" valign="top">hx509_cert&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga134b62e36ffcf09bbf866a88bc4c5010">hx509_cert_init_data</a> (hx509_context context, const void *ptr, size_t len, heim_error_t *error)</td></tr>
-<tr class="separator:ga134b62e36ffcf09bbf866a88bc4c5010"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad2f9bb0ddc4babb26a8ccd983db8c948"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#gad2f9bb0ddc4babb26a8ccd983db8c948">hx509_cert_free</a> (hx509_cert cert)</td></tr>
-<tr class="separator:gad2f9bb0ddc4babb26a8ccd983db8c948"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1870b485d4e8e53f75690f35f4526fcc"><td class="memItemLeft" align="right" valign="top">hx509_cert&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga1870b485d4e8e53f75690f35f4526fcc">hx509_cert_ref</a> (hx509_cert cert)</td></tr>
-<tr class="separator:ga1870b485d4e8e53f75690f35f4526fcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafb8063ac0396ad60392b8b9554c6b896"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#gafb8063ac0396ad60392b8b9554c6b896">hx509_verify_ctx_f_allow_default_trustanchors</a> (hx509_verify_ctx ctx, int boolean)</td></tr>
-<tr class="separator:gafb8063ac0396ad60392b8b9554c6b896"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga49e7c45c70442dcb81d394093d9cbe29"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga49e7c45c70442dcb81d394093d9cbe29">hx509_cert_find_subjectAltName_otherName</a> (hx509_context context, hx509_cert cert, const heim_oid *oid, hx509_octet_string_list *list)</td></tr>
-<tr class="separator:ga49e7c45c70442dcb81d394093d9cbe29"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab84ed704b59c7965a598ef9c7c353216"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#gab84ed704b59c7965a598ef9c7c353216">hx509_cert_cmp</a> (hx509_cert p, hx509_cert q)</td></tr>
-<tr class="separator:gab84ed704b59c7965a598ef9c7c353216"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3c61a21c5a802b2f366c9610ff89fa90"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga3c61a21c5a802b2f366c9610ff89fa90">hx509_cert_get_issuer</a> (hx509_cert p, hx509_name *name)</td></tr>
-<tr class="separator:ga3c61a21c5a802b2f366c9610ff89fa90"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9f64bb8083bb535ccba007b723c73619"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga9f64bb8083bb535ccba007b723c73619">hx509_cert_get_subject</a> (hx509_cert p, hx509_name *name)</td></tr>
-<tr class="separator:ga9f64bb8083bb535ccba007b723c73619"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5e8e38603eb13753912b0075aab276cf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga5e8e38603eb13753912b0075aab276cf">hx509_cert_get_base_subject</a> (hx509_context context, hx509_cert c, hx509_name *name)</td></tr>
-<tr class="separator:ga5e8e38603eb13753912b0075aab276cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2960bea38768b49c8b949fe2ea5320e3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga2960bea38768b49c8b949fe2ea5320e3">hx509_cert_get_serialnumber</a> (hx509_cert p, heim_integer *i)</td></tr>
-<tr class="separator:ga2960bea38768b49c8b949fe2ea5320e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2e36444c1bce8995ee193013364ce852"><td class="memItemLeft" align="right" valign="top">time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga2e36444c1bce8995ee193013364ce852">hx509_cert_get_notBefore</a> (hx509_cert p)</td></tr>
-<tr class="separator:ga2e36444c1bce8995ee193013364ce852"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad3e8410e9bb4d0bf61bc3e926a4049eb"><td class="memItemLeft" align="right" valign="top">time_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#gad3e8410e9bb4d0bf61bc3e926a4049eb">hx509_cert_get_notAfter</a> (hx509_cert p)</td></tr>
-<tr class="separator:gad3e8410e9bb4d0bf61bc3e926a4049eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac9e328025dd91339cf73eecdeec4ffd6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#gac9e328025dd91339cf73eecdeec4ffd6">hx509_cert_get_SPKI</a> (hx509_context context, hx509_cert p, SubjectPublicKeyInfo *spki)</td></tr>
-<tr class="separator:gac9e328025dd91339cf73eecdeec4ffd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac2fd6cd8b1fbe0d470a88143a359c395"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#gac2fd6cd8b1fbe0d470a88143a359c395">hx509_cert_get_SPKI_AlgorithmIdentifier</a> (hx509_context context, hx509_cert p, AlgorithmIdentifier *alg)</td></tr>
-<tr class="separator:gac2fd6cd8b1fbe0d470a88143a359c395"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac88fb8bf53b3e105f728251f6d4d4b1f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#gac88fb8bf53b3e105f728251f6d4d4b1f">hx509_cert_get_issuer_unique_id</a> (hx509_context context, hx509_cert p, heim_bit_string *issuer)</td></tr>
-<tr class="separator:gac88fb8bf53b3e105f728251f6d4d4b1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac7184f4f0249842866d51b17e4b101fb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#gac7184f4f0249842866d51b17e4b101fb">hx509_cert_get_subject_unique_id</a> (hx509_context context, hx509_cert p, heim_bit_string *subject)</td></tr>
-<tr class="separator:gac7184f4f0249842866d51b17e4b101fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5dc160f02aeffffb0eea58b6203c856a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga5dc160f02aeffffb0eea58b6203c856a">hx509_verify_hostname</a> (hx509_context context, const hx509_cert cert, int flags, hx509_hostname_type type, const char *hostname, const struct sockaddr *sa, int sa_size)</td></tr>
-<tr class="separator:ga5dc160f02aeffffb0eea58b6203c856a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2038342b93f828789a241a7fee26f4c8"><td class="memItemLeft" align="right" valign="top">hx509_cert_attribute&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga2038342b93f828789a241a7fee26f4c8">hx509_cert_get_attribute</a> (hx509_cert cert, const heim_oid *oid)</td></tr>
-<tr class="separator:ga2038342b93f828789a241a7fee26f4c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga972768dbcc822fed1b74e7686b407f78"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga972768dbcc822fed1b74e7686b407f78">hx509_cert_set_friendly_name</a> (hx509_cert cert, const char *name)</td></tr>
-<tr class="separator:ga972768dbcc822fed1b74e7686b407f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae2a1de96837304d68216c309e698c3fd"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#gae2a1de96837304d68216c309e698c3fd">hx509_cert_get_friendly_name</a> (hx509_cert cert)</td></tr>
-<tr class="separator:gae2a1de96837304d68216c309e698c3fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5833168d3181e12883b51284fd069543"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga5833168d3181e12883b51284fd069543">hx509_query_alloc</a> (hx509_context context, hx509_query **q)</td></tr>
-<tr class="separator:ga5833168d3181e12883b51284fd069543"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac708daef26edff5fd36f4587e61a9914"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#gac708daef26edff5fd36f4587e61a9914">hx509_query_match_option</a> (hx509_query *q, hx509_query_option option)</td></tr>
-<tr class="separator:gac708daef26edff5fd36f4587e61a9914"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad5d7a68cc8ca4c948ae99b7eb6f5bc2e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#gad5d7a68cc8ca4c948ae99b7eb6f5bc2e">hx509_query_match_issuer_serial</a> (hx509_query *q, const Name *issuer, const heim_integer *serialNumber)</td></tr>
-<tr class="separator:gad5d7a68cc8ca4c948ae99b7eb6f5bc2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5be7b5ece155f2577335b5575f141362"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga5be7b5ece155f2577335b5575f141362">hx509_query_match_friendly_name</a> (hx509_query *q, const char *name)</td></tr>
-<tr class="separator:ga5be7b5ece155f2577335b5575f141362"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5a7e01c75b7b8243356048a88133c2df"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga5a7e01c75b7b8243356048a88133c2df">hx509_query_match_eku</a> (hx509_query *q, const heim_oid *eku)</td></tr>
-<tr class="separator:ga5a7e01c75b7b8243356048a88133c2df"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae1660c0cf5a41f17db72a8c18e79c684"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#gae1660c0cf5a41f17db72a8c18e79c684">hx509_query_match_cmp_func</a> (hx509_query *q, int(*func)(hx509_context, hx509_cert, void *), void *ctx)</td></tr>
-<tr class="separator:gae1660c0cf5a41f17db72a8c18e79c684"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6aafd01e9215fef980a572b2c7289d8c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga6aafd01e9215fef980a572b2c7289d8c">hx509_query_free</a> (hx509_context context, hx509_query *q)</td></tr>
-<tr class="separator:ga6aafd01e9215fef980a572b2c7289d8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga94b4aa7d907d34914e161831e74440a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga94b4aa7d907d34914e161831e74440a8">hx509_query_statistic_file</a> (hx509_context context, const char *fn)</td></tr>
-<tr class="separator:ga94b4aa7d907d34914e161831e74440a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga522fb2a85515ce8debea860cdfeb94c0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga522fb2a85515ce8debea860cdfeb94c0">hx509_query_unparse_stats</a> (hx509_context context, int printtype, FILE *out)</td></tr>
-<tr class="separator:ga522fb2a85515ce8debea860cdfeb94c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1b329c40d7c17cc1b099ec0bd24d4dc9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga1b329c40d7c17cc1b099ec0bd24d4dc9">hx509_cert_check_eku</a> (hx509_context context, hx509_cert cert, const heim_oid *eku, int allow_any_eku)</td></tr>
-<tr class="separator:ga1b329c40d7c17cc1b099ec0bd24d4dc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gafa02f22b6db5ca3c19a488066fea5d7a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#gafa02f22b6db5ca3c19a488066fea5d7a">hx509_cert_binary</a> (hx509_context context, hx509_cert c, heim_octet_string *os)</td></tr>
-<tr class="separator:gafa02f22b6db5ca3c19a488066fea5d7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga32a804b17d97d71af17602fdf6b1c891"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cert.html#ga32a804b17d97d71af17602fdf6b1c891">hx509_print_cert</a> (hx509_context context, hx509_cert cert, FILE *out)</td></tr>
-<tr class="separator:ga32a804b17d97d71af17602fdf6b1c891"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>See the <a class="el" href="page_cert.html">The basic certificate</a> for description and examples. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="gafa02f22b6db5ca3c19a488066fea5d7a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gafa02f22b6db5ca3c19a488066fea5d7a">&#9670;&nbsp;</a></span>hx509_cert_binary()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cert_binary </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>c</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_octet_string *&#160;</td>
- <td class="paramname"><em>os</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Encodes the hx509 certificate as a DER encode binary.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">c</td><td>the certificate to encode. </td></tr>
- <tr><td class="paramname">os</td><td>the encode certificate, set to NULL, 0 on case of error. Free the os-&gt;data with <a class="el" href="group__hx509__misc.html#gaba6d3eb6abde539a3191269f785e3e61">hx509_xfree()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga1b329c40d7c17cc1b099ec0bd24d4dc9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga1b329c40d7c17cc1b099ec0bd24d4dc9">&#9670;&nbsp;</a></span>hx509_cert_check_eku()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cert_check_eku </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_oid *&#160;</td>
- <td class="paramname"><em>eku</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>allow_any_eku</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Check the extended key usage on the hx509 certificate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">cert</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">eku</td><td>the EKU to check for </td></tr>
- <tr><td class="paramname">allow_any_eku</td><td>if the any EKU is set, allow that to be a substitute.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gab84ed704b59c7965a598ef9c7c353216"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gab84ed704b59c7965a598ef9c7c353216">&#9670;&nbsp;</a></span>hx509_cert_cmp()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cert_cmp </td>
- <td>(</td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>p</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>q</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Compare to hx509 certificate object, useful for sorting.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">p</td><td>a hx509 certificate object. </td></tr>
- <tr><td class="paramname">q</td><td>a hx509 certificate object.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 the objects are the same, returns &gt; 0 is p is "larger" then q, &lt; 0 if p is "smaller" then q. </dd></dl>
-
-</div>
-</div>
-<a id="ga49e7c45c70442dcb81d394093d9cbe29"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga49e7c45c70442dcb81d394093d9cbe29">&#9670;&nbsp;</a></span>hx509_cert_find_subjectAltName_otherName()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cert_find_subjectAltName_otherName </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_oid *&#160;</td>
- <td class="paramname"><em>oid</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_octet_string_list *&#160;</td>
- <td class="paramname"><em>list</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return a list of subjectAltNames specified by oid in the certificate. On error the</p>
-<p>The returned list of octet string should be freed with <a class="el" href="group__hx509__misc.html#gaa39b9443f688a6d9152ff6dc05f3be8e">hx509_free_octet_string_list()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">cert</td><td>a hx509 certificate object. </td></tr>
- <tr><td class="paramname">oid</td><td>an oid to for SubjectAltName. </td></tr>
- <tr><td class="paramname">list</td><td>list of matching SubjectAltName.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gad2f9bb0ddc4babb26a8ccd983db8c948"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gad2f9bb0ddc4babb26a8ccd983db8c948">&#9670;&nbsp;</a></span>hx509_cert_free()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_cert_free </td>
- <td>(</td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free reference to the hx509 certificate object, if the refcounter reaches 0, the object if freed. Its allowed to pass in NULL.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">cert</td><td>the cert to free. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga2038342b93f828789a241a7fee26f4c8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga2038342b93f828789a241a7fee26f4c8">&#9670;&nbsp;</a></span>hx509_cert_get_attribute()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">hx509_cert_attribute hx509_cert_get_attribute </td>
- <td>(</td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_oid *&#160;</td>
- <td class="paramname"><em>oid</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get an external attribute for the certificate, examples are friendly name and id.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">cert</td><td>hx509 certificate object to search </td></tr>
- <tr><td class="paramname">oid</td><td>an oid to search for.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>an hx509_cert_attribute, only valid as long as the certificate is referenced. </dd></dl>
-
-</div>
-</div>
-<a id="ga5e8e38603eb13753912b0075aab276cf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga5e8e38603eb13753912b0075aab276cf">&#9670;&nbsp;</a></span>hx509_cert_get_base_subject()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cert_get_base_subject </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>c</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_name *&#160;</td>
- <td class="paramname"><em>name</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the name of the base subject of the hx509 certificate. If the certiicate is a verified proxy certificate, the this function return the base certificate (root of the proxy chain). If the proxy certificate is not verified with the base certificate HX509_PROXY_CERTIFICATE_NOT_CANONICALIZED is returned.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">c</td><td>a hx509 certificate object. </td></tr>
- <tr><td class="paramname">name</td><td>a pointer to a hx509 name, should be freed by <a class="el" href="group__hx509__name.html#gaaf351931efb02fc7aea736af9977155e">hx509_name_free()</a>. See also <a class="el" href="group__hx509__cert.html#ga9f64bb8083bb535ccba007b723c73619">hx509_cert_get_subject()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gae2a1de96837304d68216c309e698c3fd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gae2a1de96837304d68216c309e698c3fd">&#9670;&nbsp;</a></span>hx509_cert_get_friendly_name()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const char* hx509_cert_get_friendly_name </td>
- <td>(</td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get friendly name of the certificate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">cert</td><td>cert to get the friendly name from.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>an friendly name or NULL if there is. The friendly name is only valid as long as the certificate is referenced. </dd></dl>
-
-</div>
-</div>
-<a id="ga3c61a21c5a802b2f366c9610ff89fa90"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga3c61a21c5a802b2f366c9610ff89fa90">&#9670;&nbsp;</a></span>hx509_cert_get_issuer()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cert_get_issuer </td>
- <td>(</td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>p</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_name *&#160;</td>
- <td class="paramname"><em>name</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the name of the issuer of the hx509 certificate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">p</td><td>a hx509 certificate object. </td></tr>
- <tr><td class="paramname">name</td><td>a pointer to a hx509 name, should be freed by <a class="el" href="group__hx509__name.html#gaaf351931efb02fc7aea736af9977155e">hx509_name_free()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gac88fb8bf53b3e105f728251f6d4d4b1f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gac88fb8bf53b3e105f728251f6d4d4b1f">&#9670;&nbsp;</a></span>hx509_cert_get_issuer_unique_id()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cert_get_issuer_unique_id </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>p</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_bit_string *&#160;</td>
- <td class="paramname"><em>issuer</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get a copy of the Issuer Unique ID</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509_context </td></tr>
- <tr><td class="paramname">p</td><td>a hx509 certificate </td></tr>
- <tr><td class="paramname">issuer</td><td>the issuer id returned, free with der_free_bit_string()</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. The error code HX509_EXTENSION_NOT_FOUND is returned if the certificate doesn't have a issuerUniqueID </dd></dl>
-
-</div>
-</div>
-<a id="gad3e8410e9bb4d0bf61bc3e926a4049eb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gad3e8410e9bb4d0bf61bc3e926a4049eb">&#9670;&nbsp;</a></span>hx509_cert_get_notAfter()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">time_t hx509_cert_get_notAfter </td>
- <td>(</td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>p</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get notAfter time of the certificate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">p</td><td>a hx509 certificate object.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>return not after time. </dd></dl>
-
-</div>
-</div>
-<a id="ga2e36444c1bce8995ee193013364ce852"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga2e36444c1bce8995ee193013364ce852">&#9670;&nbsp;</a></span>hx509_cert_get_notBefore()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">time_t hx509_cert_get_notBefore </td>
- <td>(</td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>p</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get notBefore time of the certificate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">p</td><td>a hx509 certificate object.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>return not before time </dd></dl>
-
-</div>
-</div>
-<a id="ga2960bea38768b49c8b949fe2ea5320e3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga2960bea38768b49c8b949fe2ea5320e3">&#9670;&nbsp;</a></span>hx509_cert_get_serialnumber()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cert_get_serialnumber </td>
- <td>(</td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>p</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_integer *&#160;</td>
- <td class="paramname"><em>i</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get serial number of the certificate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">p</td><td>a hx509 certificate object. </td></tr>
- <tr><td class="paramname">i</td><td>serial number, should be freed ith der_free_heim_integer().</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gac9e328025dd91339cf73eecdeec4ffd6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gac9e328025dd91339cf73eecdeec4ffd6">&#9670;&nbsp;</a></span>hx509_cert_get_SPKI()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cert_get_SPKI </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>p</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">SubjectPublicKeyInfo *&#160;</td>
- <td class="paramname"><em>spki</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get the SubjectPublicKeyInfo structure from the hx509 certificate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">p</td><td>a hx509 certificate object. </td></tr>
- <tr><td class="paramname">spki</td><td>SubjectPublicKeyInfo, should be freed with free_SubjectPublicKeyInfo().</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gac2fd6cd8b1fbe0d470a88143a359c395"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gac2fd6cd8b1fbe0d470a88143a359c395">&#9670;&nbsp;</a></span>hx509_cert_get_SPKI_AlgorithmIdentifier()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cert_get_SPKI_AlgorithmIdentifier </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>p</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">AlgorithmIdentifier *&#160;</td>
- <td class="paramname"><em>alg</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get the AlgorithmIdentifier from the hx509 certificate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">p</td><td>a hx509 certificate object. </td></tr>
- <tr><td class="paramname">alg</td><td>AlgorithmIdentifier, should be freed with free_AlgorithmIdentifier(). The algorithmidentifier is typicly rsaEncryption, or id-ecPublicKey, or some other public key mechanism.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga9f64bb8083bb535ccba007b723c73619"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga9f64bb8083bb535ccba007b723c73619">&#9670;&nbsp;</a></span>hx509_cert_get_subject()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cert_get_subject </td>
- <td>(</td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>p</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_name *&#160;</td>
- <td class="paramname"><em>name</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Return the name of the subject of the hx509 certificate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">p</td><td>a hx509 certificate object. </td></tr>
- <tr><td class="paramname">name</td><td>a pointer to a hx509 name, should be freed by <a class="el" href="group__hx509__name.html#gaaf351931efb02fc7aea736af9977155e">hx509_name_free()</a>. See also <a class="el" href="group__hx509__cert.html#ga5e8e38603eb13753912b0075aab276cf">hx509_cert_get_base_subject()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gac7184f4f0249842866d51b17e4b101fb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gac7184f4f0249842866d51b17e4b101fb">&#9670;&nbsp;</a></span>hx509_cert_get_subject_unique_id()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cert_get_subject_unique_id </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>p</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_bit_string *&#160;</td>
- <td class="paramname"><em>subject</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get a copy of the Subect Unique ID</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509_context </td></tr>
- <tr><td class="paramname">p</td><td>a hx509 certificate </td></tr>
- <tr><td class="paramname">subject</td><td>the subject id returned, free with der_free_bit_string()</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. The error code HX509_EXTENSION_NOT_FOUND is returned if the certificate doesn't have a subjectUniqueID </dd></dl>
-
-</div>
-</div>
-<a id="ga31c3f5e9a6d7892729c56f0f86a76f4a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga31c3f5e9a6d7892729c56f0f86a76f4a">&#9670;&nbsp;</a></span>hx509_cert_init()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">hx509_cert hx509_cert_init </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const Certificate *&#160;</td>
- <td class="paramname"><em>c</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_error_t *&#160;</td>
- <td class="paramname"><em>error</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Allocate and init an hx509 certificate object from the decoded certificate `c´.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">c</td><td></td></tr>
- <tr><td class="paramname">error</td><td></td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 certificate </dd></dl>
-
-</div>
-</div>
-<a id="ga134b62e36ffcf09bbf866a88bc4c5010"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga134b62e36ffcf09bbf866a88bc4c5010">&#9670;&nbsp;</a></span>hx509_cert_init_data()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">hx509_cert hx509_cert_init_data </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>ptr</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>len</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_error_t *&#160;</td>
- <td class="paramname"><em>error</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Just like <a class="el" href="group__hx509__cert.html#ga31c3f5e9a6d7892729c56f0f86a76f4a">hx509_cert_init()</a>, but instead of a decode certificate takes an pointer and length to a memory region that contains a DER/BER encoded certificate.</p>
-<p>If the memory region doesn't contain just the certificate and nothing more the function will fail with HX509_EXTRA_DATA_AFTER_STRUCTURE.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">ptr</td><td>pointer to memory region containing encoded certificate. </td></tr>
- <tr><td class="paramname">len</td><td>length of memory region. </td></tr>
- <tr><td class="paramname">error</td><td>possibly returns an error</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 certificate </dd></dl>
-
-</div>
-</div>
-<a id="ga1870b485d4e8e53f75690f35f4526fcc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga1870b485d4e8e53f75690f35f4526fcc">&#9670;&nbsp;</a></span>hx509_cert_ref()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">hx509_cert hx509_cert_ref </td>
- <td>(</td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add a reference to a hx509 certificate object.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">cert</td><td>a pointer to an hx509 certificate object.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the same object as is passed in. </dd></dl>
-
-</div>
-</div>
-<a id="ga972768dbcc822fed1b74e7686b407f78"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga972768dbcc822fed1b74e7686b407f78">&#9670;&nbsp;</a></span>hx509_cert_set_friendly_name()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cert_set_friendly_name </td>
- <td>(</td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>name</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the friendly name on the certificate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">cert</td><td>The certificate to set the friendly name on </td></tr>
- <tr><td class="paramname">name</td><td>Friendly name.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga32a804b17d97d71af17602fdf6b1c891"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga32a804b17d97d71af17602fdf6b1c891">&#9670;&nbsp;</a></span>hx509_print_cert()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_print_cert </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">FILE *&#160;</td>
- <td class="paramname"><em>out</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Print a simple representation of a certificate</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context, can be NULL </td></tr>
- <tr><td class="paramname">cert</td><td>certificate to print </td></tr>
- <tr><td class="paramname">out</td><td>the stdio output stream, if NULL, stdout is used</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code </dd></dl>
-
-</div>
-</div>
-<a id="ga5833168d3181e12883b51284fd069543"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga5833168d3181e12883b51284fd069543">&#9670;&nbsp;</a></span>hx509_query_alloc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_query_alloc </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_query **&#160;</td>
- <td class="paramname"><em>q</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Allocate an query controller. Free using <a class="el" href="group__hx509__cert.html#ga6aafd01e9215fef980a572b2c7289d8c">hx509_query_free()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">q</td><td>return pointer to a hx509_query.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga6aafd01e9215fef980a572b2c7289d8c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga6aafd01e9215fef980a572b2c7289d8c">&#9670;&nbsp;</a></span>hx509_query_free()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_query_free </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_query *&#160;</td>
- <td class="paramname"><em>q</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free the query controller.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">q</td><td>a pointer to the query controller. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gae1660c0cf5a41f17db72a8c18e79c684"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gae1660c0cf5a41f17db72a8c18e79c684">&#9670;&nbsp;</a></span>hx509_query_match_cmp_func()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_query_match_cmp_func </td>
- <td>(</td>
- <td class="paramtype">hx509_query *&#160;</td>
- <td class="paramname"><em>q</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int(*)(hx509_context, hx509_cert, void *)&#160;</td>
- <td class="paramname"><em>func</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>ctx</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the query controller to match using a specific match function.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">q</td><td>a hx509 query controller. </td></tr>
- <tr><td class="paramname">func</td><td>function to use for matching, if the argument is NULL, the match function is removed. </td></tr>
- <tr><td class="paramname">ctx</td><td>context passed to the function.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga5a7e01c75b7b8243356048a88133c2df"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga5a7e01c75b7b8243356048a88133c2df">&#9670;&nbsp;</a></span>hx509_query_match_eku()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_query_match_eku </td>
- <td>(</td>
- <td class="paramtype">hx509_query *&#160;</td>
- <td class="paramname"><em>q</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_oid *&#160;</td>
- <td class="paramname"><em>eku</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the query controller to require an one specific EKU (extended key usage). Any previous EKU matching is overwitten. If NULL is passed in as the eku, the EKU requirement is reset.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">q</td><td>a hx509 query controller. </td></tr>
- <tr><td class="paramname">eku</td><td>an EKU to match on.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga5be7b5ece155f2577335b5575f141362"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga5be7b5ece155f2577335b5575f141362">&#9670;&nbsp;</a></span>hx509_query_match_friendly_name()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_query_match_friendly_name </td>
- <td>(</td>
- <td class="paramtype">hx509_query *&#160;</td>
- <td class="paramname"><em>q</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>name</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the query controller to match on a friendly name</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">q</td><td>a hx509 query controller. </td></tr>
- <tr><td class="paramname">name</td><td>a friendly name to match on</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gad5d7a68cc8ca4c948ae99b7eb6f5bc2e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gad5d7a68cc8ca4c948ae99b7eb6f5bc2e">&#9670;&nbsp;</a></span>hx509_query_match_issuer_serial()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_query_match_issuer_serial </td>
- <td>(</td>
- <td class="paramtype">hx509_query *&#160;</td>
- <td class="paramname"><em>q</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const Name *&#160;</td>
- <td class="paramname"><em>issuer</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_integer *&#160;</td>
- <td class="paramname"><em>serialNumber</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the issuer and serial number of match in the query controller. The function make copies of the isser and serial number.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">q</td><td>a hx509 query controller </td></tr>
- <tr><td class="paramname">issuer</td><td>issuer to search for </td></tr>
- <tr><td class="paramname">serialNumber</td><td>the serialNumber of the issuer.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gac708daef26edff5fd36f4587e61a9914"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gac708daef26edff5fd36f4587e61a9914">&#9670;&nbsp;</a></span>hx509_query_match_option()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_query_match_option </td>
- <td>(</td>
- <td class="paramtype">hx509_query *&#160;</td>
- <td class="paramname"><em>q</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_query_option&#160;</td>
- <td class="paramname"><em>option</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set match options for the hx509 query controller.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">q</td><td>query controller. </td></tr>
- <tr><td class="paramname">option</td><td>options to control the query controller.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga94b4aa7d907d34914e161831e74440a8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga94b4aa7d907d34914e161831e74440a8">&#9670;&nbsp;</a></span>hx509_query_statistic_file()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_query_statistic_file </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>fn</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set a statistic file for the query statistics.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">fn</td><td>statistics file name </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga522fb2a85515ce8debea860cdfeb94c0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga522fb2a85515ce8debea860cdfeb94c0">&#9670;&nbsp;</a></span>hx509_query_unparse_stats()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_query_unparse_stats </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>printtype</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">FILE *&#160;</td>
- <td class="paramname"><em>out</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Unparse the statistics file and print the result on a FILE descriptor.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">printtype</td><td>tyep to print </td></tr>
- <tr><td class="paramname">out</td><td>the FILE to write the data on. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gafb8063ac0396ad60392b8b9554c6b896"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gafb8063ac0396ad60392b8b9554c6b896">&#9670;&nbsp;</a></span>hx509_verify_ctx_f_allow_default_trustanchors()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_verify_ctx_f_allow_default_trustanchors </td>
- <td>(</td>
- <td class="paramtype">hx509_verify_ctx&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>boolean</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Allow using the operating system builtin trust anchors if no other trust anchors are configured.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>a verification context </td></tr>
- <tr><td class="paramname">boolean</td><td>if non zero, useing the operating systems builtin trust anchors.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga5dc160f02aeffffb0eea58b6203c856a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga5dc160f02aeffffb0eea58b6203c856a">&#9670;&nbsp;</a></span>hx509_verify_hostname()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_verify_hostname </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>flags</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_hostname_type&#160;</td>
- <td class="paramname"><em>type</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>hostname</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const struct sockaddr *&#160;</td>
- <td class="paramname"><em>sa</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>sa_size</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Verify that the certificate is allowed to be used for the hostname and address.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">cert</td><td>the certificate to match with </td></tr>
- <tr><td class="paramname">flags</td><td>Flags to modify the behavior:<ul>
-<li>HX509_VHN_F_ALLOW_NO_MATCH no match is ok </li>
-</ul>
-</td></tr>
- <tr><td class="paramname">type</td><td>type of hostname:<ul>
-<li>HX509_HN_HOSTNAME for plain hostname.</li>
-<li>HX509_HN_DNSSRV for DNS SRV names. </li>
-</ul>
-</td></tr>
- <tr><td class="paramname">hostname</td><td>the hostname to check </td></tr>
- <tr><td class="paramname">sa</td><td>address of the host </td></tr>
- <tr><td class="paramname">sa_size</td><td>length of address</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/group__hx509__cms.html b/doc/doxyout/hx509/html/group__hx509__cms.html
deleted file mode 100644
index 69577aa5a2e9..000000000000
--- a/doc/doxyout/hx509/html/group__hx509__cms.html
+++ /dev/null
@@ -1,521 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hx509 CMS/pkcs7 functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">hx509 CMS/pkcs7 functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga59a1f6dc31e384a0d378c8179f2be9c3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cms.html#ga59a1f6dc31e384a0d378c8179f2be9c3">hx509_cms_wrap_ContentInfo</a> (const heim_oid *oid, const heim_octet_string *buf, heim_octet_string *res)</td></tr>
-<tr class="separator:ga59a1f6dc31e384a0d378c8179f2be9c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaacbd636f3053c560782d83251f42b71a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cms.html#gaacbd636f3053c560782d83251f42b71a">hx509_cms_unwrap_ContentInfo</a> (const heim_octet_string *in, heim_oid *oid, heim_octet_string *out, int *have_data)</td></tr>
-<tr class="separator:gaacbd636f3053c560782d83251f42b71a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab13d28bf986e3b66c05e7e33799be07b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cms.html#gab13d28bf986e3b66c05e7e33799be07b">hx509_cms_unenvelope</a> (hx509_context context, hx509_certs certs, int flags, const void *data, size_t length, const heim_octet_string *encryptedContent, time_t time_now, heim_oid *contentType, heim_octet_string *content)</td></tr>
-<tr class="separator:gab13d28bf986e3b66c05e7e33799be07b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga618f32b35fa6f679cc5f32fb8abdbe85"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cms.html#ga618f32b35fa6f679cc5f32fb8abdbe85">hx509_cms_envelope_1</a> (hx509_context context, int flags, hx509_cert cert, const void *data, size_t length, const heim_oid *encryption_type, const heim_oid *contentType, heim_octet_string *content)</td></tr>
-<tr class="separator:ga618f32b35fa6f679cc5f32fb8abdbe85"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaedaf18507474021a8d092ca6ac90a1ad"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cms.html#gaedaf18507474021a8d092ca6ac90a1ad">hx509_cms_verify_signed</a> (hx509_context context, hx509_verify_ctx ctx, unsigned int flags, const void *data, size_t length, const heim_octet_string *signedContent, hx509_certs pool, heim_oid *contentType, heim_octet_string *content, hx509_certs *signer_certs)</td></tr>
-<tr class="separator:gaedaf18507474021a8d092ca6ac90a1ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga8dfb6d8d72f6a71caffaf11b9d847921"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__cms.html#ga8dfb6d8d72f6a71caffaf11b9d847921">hx509_cms_create_signed_1</a> (hx509_context context, int flags, const heim_oid *eContentType, const void *data, size_t length, const AlgorithmIdentifier *digest_alg, hx509_cert cert, hx509_peer_info peer, hx509_certs anchors, hx509_certs pool, heim_octet_string *signed_data)</td></tr>
-<tr class="separator:ga8dfb6d8d72f6a71caffaf11b9d847921"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>See the <a class="el" href="page_cms.html">CMS/PKCS7 message functions.</a> for description and examples. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="ga8dfb6d8d72f6a71caffaf11b9d847921"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga8dfb6d8d72f6a71caffaf11b9d847921">&#9670;&nbsp;</a></span>hx509_cms_create_signed_1()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cms_create_signed_1 </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>flags</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_oid *&#160;</td>
- <td class="paramname"><em>eContentType</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const AlgorithmIdentifier *&#160;</td>
- <td class="paramname"><em>digest_alg</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_peer_info&#160;</td>
- <td class="paramname"><em>peer</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>anchors</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>pool</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_octet_string *&#160;</td>
- <td class="paramname"><em>signed_data</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Decode SignedData and verify that the signature is correct.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">flags</td><td></td></tr>
- <tr><td class="paramname">eContentType</td><td>the type of the data. </td></tr>
- <tr><td class="paramname">data</td><td>data to sign </td></tr>
- <tr><td class="paramname">length</td><td>length of the data that data point to. </td></tr>
- <tr><td class="paramname">digest_alg</td><td>digest algorithm to use, use NULL to get the default or the peer determined algorithm. </td></tr>
- <tr><td class="paramname">cert</td><td>certificate to use for sign the data. </td></tr>
- <tr><td class="paramname">peer</td><td>info about the peer the message to send the message to, like what digest algorithm to use. </td></tr>
- <tr><td class="paramname">anchors</td><td>trust anchors that the client will use, used to polulate the certificates included in the message </td></tr>
- <tr><td class="paramname">pool</td><td>certificates to use in try to build the path to the trust anchors. </td></tr>
- <tr><td class="paramname">signed_data</td><td>the output of the function, free with der_free_octet_string().</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. </dd></dl>
-
-</div>
-</div>
-<a id="ga618f32b35fa6f679cc5f32fb8abdbe85"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga618f32b35fa6f679cc5f32fb8abdbe85">&#9670;&nbsp;</a></span>hx509_cms_envelope_1()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cms_envelope_1 </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>flags</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_oid *&#160;</td>
- <td class="paramname"><em>encryption_type</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_oid *&#160;</td>
- <td class="paramname"><em>contentType</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_octet_string *&#160;</td>
- <td class="paramname"><em>content</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Encrypt end encode EnvelopedData.</p>
-<p>Encrypt and encode EnvelopedData. The data is encrypted with a random key and the the random key is encrypted with the certificates private key. This limits what private key type can be used to RSA.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">flags</td><td>flags to control the behavior.<ul>
-<li>HX509_CMS_EV_NO_KU_CHECK - Don't check KU on certificate</li>
-<li>HX509_CMS_EV_ALLOW_WEAK - Allow weak crytpo</li>
-<li>HX509_CMS_EV_ID_NAME - prefer issuer name and serial number </li>
-</ul>
-</td></tr>
- <tr><td class="paramname">cert</td><td>Certificate to encrypt the EnvelopedData encryption key with. </td></tr>
- <tr><td class="paramname">data</td><td>pointer the data to encrypt. </td></tr>
- <tr><td class="paramname">length</td><td>length of the data that data point to. </td></tr>
- <tr><td class="paramname">encryption_type</td><td>Encryption cipher to use for the bulk data, use NULL to get default. </td></tr>
- <tr><td class="paramname">contentType</td><td>type of the data that is encrypted </td></tr>
- <tr><td class="paramname">content</td><td>the output of the function, free with der_free_octet_string().</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>an hx509 error code. </dd></dl>
-
-</div>
-</div>
-<a id="gab13d28bf986e3b66c05e7e33799be07b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gab13d28bf986e3b66c05e7e33799be07b">&#9670;&nbsp;</a></span>hx509_cms_unenvelope()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cms_unenvelope </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>certs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>flags</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_octet_string *&#160;</td>
- <td class="paramname"><em>encryptedContent</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">time_t&#160;</td>
- <td class="paramname"><em>time_now</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_oid *&#160;</td>
- <td class="paramname"><em>contentType</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_octet_string *&#160;</td>
- <td class="paramname"><em>content</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Decode and unencrypt EnvelopedData.</p>
-<p>Extract data and parameteres from from the EnvelopedData. Also supports using detached EnvelopedData.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">certs</td><td>Certificate that can decrypt the EnvelopedData encryption key. </td></tr>
- <tr><td class="paramname">flags</td><td>HX509_CMS_UE flags to control the behavior. </td></tr>
- <tr><td class="paramname">data</td><td>pointer the structure the contains the DER/BER encoded EnvelopedData stucture. </td></tr>
- <tr><td class="paramname">length</td><td>length of the data that data point to. </td></tr>
- <tr><td class="paramname">encryptedContent</td><td>in case of detached signature, this contains the actual encrypted data, othersize its should be NULL. </td></tr>
- <tr><td class="paramname">time_now</td><td>set the current time, if zero the library uses now as the date. </td></tr>
- <tr><td class="paramname">contentType</td><td>output type oid, should be freed with der_free_oid(). </td></tr>
- <tr><td class="paramname">content</td><td>the data, free with der_free_octet_string().</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>an hx509 error code. </dd></dl>
-
-</div>
-</div>
-<a id="gaacbd636f3053c560782d83251f42b71a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaacbd636f3053c560782d83251f42b71a">&#9670;&nbsp;</a></span>hx509_cms_unwrap_ContentInfo()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cms_unwrap_ContentInfo </td>
- <td>(</td>
- <td class="paramtype">const heim_octet_string *&#160;</td>
- <td class="paramname"><em>in</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_oid *&#160;</td>
- <td class="paramname"><em>oid</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_octet_string *&#160;</td>
- <td class="paramname"><em>out</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int *&#160;</td>
- <td class="paramname"><em>have_data</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Decode an ContentInfo and unwrap data and oid it.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">in</td><td>the encoded buffer. </td></tr>
- <tr><td class="paramname">oid</td><td>type of the content. </td></tr>
- <tr><td class="paramname">out</td><td>data to be wrapped. </td></tr>
- <tr><td class="paramname">have_data</td><td>since the data is optional, this flags show dthe diffrence between no data and the zero length data.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. </dd></dl>
-
-</div>
-</div>
-<a id="gaedaf18507474021a8d092ca6ac90a1ad"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaedaf18507474021a8d092ca6ac90a1ad">&#9670;&nbsp;</a></span>hx509_cms_verify_signed()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cms_verify_signed </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_verify_ctx&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned int&#160;</td>
- <td class="paramname"><em>flags</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_octet_string *&#160;</td>
- <td class="paramname"><em>signedContent</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>pool</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_oid *&#160;</td>
- <td class="paramname"><em>contentType</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_octet_string *&#160;</td>
- <td class="paramname"><em>content</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs *&#160;</td>
- <td class="paramname"><em>signer_certs</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Decode SignedData and verify that the signature is correct.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">ctx</td><td>a hx509 verify context. </td></tr>
- <tr><td class="paramname">flags</td><td>to control the behaivor of the function.<ul>
-<li>HX509_CMS_VS_NO_KU_CHECK - Don't check KeyUsage</li>
-<li>HX509_CMS_VS_ALLOW_DATA_OID_MISMATCH - allow oid mismatch</li>
-<li>HX509_CMS_VS_ALLOW_ZERO_SIGNER - no signer, see below. </li>
-</ul>
-</td></tr>
- <tr><td class="paramname">data</td><td>pointer to CMS SignedData encoded data. </td></tr>
- <tr><td class="paramname">length</td><td>length of the data that data point to. </td></tr>
- <tr><td class="paramname">signedContent</td><td>external data used for signature. </td></tr>
- <tr><td class="paramname">pool</td><td>certificate pool to build certificates paths. </td></tr>
- <tr><td class="paramname">contentType</td><td>free with der_free_oid(). </td></tr>
- <tr><td class="paramname">content</td><td>the output of the function, free with der_free_octet_string(). </td></tr>
- <tr><td class="paramname">signer_certs</td><td>list of the cerficates used to sign this request, free with <a class="el" href="group__hx509__keyset.html#gaa3df96cfe4137beaea7e7b87b95dbe3f">hx509_certs_free()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>an hx509 error code. </dd></dl>
-<p>If HX509_CMS_VS_NO_KU_CHECK is set, allow more liberal search for matching certificates by not considering KeyUsage bits on the certificates.</p>
-<p>If HX509_CMS_VS_ALLOW_DATA_OID_MISMATCH, allow encapContentInfo mismatch with the oid in signedAttributes (or if no signedAttributes where use, pkcs7-data oid). This is only needed to work with broken CMS implementations that doesn't follow CMS signedAttributes rules.</p>
-<p>If HX509_CMS_VS_NO_VALIDATE flags is set, do not verify the signing certificates and leave that up to the caller.</p>
-<p>If HX509_CMS_VS_ALLOW_ZERO_SIGNER is set, allow empty SignerInfo (no signatures). If SignedData have no signatures, the function will return 0 with signer_certs set to NULL. Zero signers is allowed by the standard, but since its only useful in corner cases, it make into a flag that the caller have to turn on.</p>
-
-</div>
-</div>
-<a id="ga59a1f6dc31e384a0d378c8179f2be9c3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga59a1f6dc31e384a0d378c8179f2be9c3">&#9670;&nbsp;</a></span>hx509_cms_wrap_ContentInfo()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cms_wrap_ContentInfo </td>
- <td>(</td>
- <td class="paramtype">const heim_oid *&#160;</td>
- <td class="paramname"><em>oid</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_octet_string *&#160;</td>
- <td class="paramname"><em>buf</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_octet_string *&#160;</td>
- <td class="paramname"><em>res</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Wrap data and oid in a ContentInfo and encode it.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">oid</td><td>type of the content. </td></tr>
- <tr><td class="paramname">buf</td><td>data to be wrapped. If a NULL pointer is passed in, the optional content field in the ContentInfo is not going be filled in. </td></tr>
- <tr><td class="paramname">res</td><td>the encoded buffer, the result should be freed with der_free_octet_string().</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/group__hx509__crypto.html b/doc/doxyout/hx509/html/group__hx509__crypto.html
deleted file mode 100644
index 5c2c44548414..000000000000
--- a/doc/doxyout/hx509/html/group__hx509__crypto.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hx509 crypto functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">hx509 crypto functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga0580de84a86f6d373f5121855bf3a7d5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__crypto.html#ga0580de84a86f6d373f5121855bf3a7d5">hx509_verify_signature</a> (hx509_context context, const hx509_cert signer, const AlgorithmIdentifier *alg, const heim_octet_string *data, const heim_octet_string *sig)</td></tr>
-<tr class="separator:ga0580de84a86f6d373f5121855bf3a7d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="ga0580de84a86f6d373f5121855bf3a7d5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga0580de84a86f6d373f5121855bf3a7d5">&#9670;&nbsp;</a></span>hx509_verify_signature()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_verify_signature </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const hx509_cert&#160;</td>
- <td class="paramname"><em>signer</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const AlgorithmIdentifier *&#160;</td>
- <td class="paramname"><em>alg</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_octet_string *&#160;</td>
- <td class="paramname"><em>data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const heim_octet_string *&#160;</td>
- <td class="paramname"><em>sig</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Verify a signature made using the private key of an certificate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">signer</td><td>the certificate that made the signature. </td></tr>
- <tr><td class="paramname">alg</td><td>algorthm that was used to sign the data. </td></tr>
- <tr><td class="paramname">data</td><td>the data that was signed. </td></tr>
- <tr><td class="paramname">sig</td><td>the sigature to verify.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/group__hx509__env.html b/doc/doxyout/hx509/html/group__hx509__env.html
deleted file mode 100644
index 11eed603a1ac..000000000000
--- a/doc/doxyout/hx509/html/group__hx509__env.html
+++ /dev/null
@@ -1,317 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hx509 environment functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">hx509 environment functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gad60c343e1400c16df1e2f00d2bdff9e9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__env.html#gad60c343e1400c16df1e2f00d2bdff9e9">hx509_env_add</a> (hx509_context context, hx509_env *env, const char *key, const char *value)</td></tr>
-<tr class="separator:gad60c343e1400c16df1e2f00d2bdff9e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf08b9d284b8845a7ce14ef1b21ec1adf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__env.html#gaf08b9d284b8845a7ce14ef1b21ec1adf">hx509_env_add_binding</a> (hx509_context context, hx509_env *env, const char *key, hx509_env list)</td></tr>
-<tr class="separator:gaf08b9d284b8845a7ce14ef1b21ec1adf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa4be057dabba9197ad9ada2594ad36e8"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__env.html#gaa4be057dabba9197ad9ada2594ad36e8">hx509_env_lfind</a> (hx509_context context, hx509_env env, const char *key, size_t len)</td></tr>
-<tr class="separator:gaa4be057dabba9197ad9ada2594ad36e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7e481b337974e7474f8bc7bd9199af13"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__env.html#ga7e481b337974e7474f8bc7bd9199af13">hx509_env_find</a> (hx509_context context, hx509_env env, const char *key)</td></tr>
-<tr class="separator:ga7e481b337974e7474f8bc7bd9199af13"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9f2ea48c27a58b690a218c44fd4c90a6"><td class="memItemLeft" align="right" valign="top">hx509_env&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__env.html#ga9f2ea48c27a58b690a218c44fd4c90a6">hx509_env_find_binding</a> (hx509_context context, hx509_env env, const char *key)</td></tr>
-<tr class="separator:ga9f2ea48c27a58b690a218c44fd4c90a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf5587becc945154ca8c6f1795db5c8da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__env.html#gaf5587becc945154ca8c6f1795db5c8da">hx509_env_free</a> (hx509_env *env)</td></tr>
-<tr class="separator:gaf5587becc945154ca8c6f1795db5c8da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="gad60c343e1400c16df1e2f00d2bdff9e9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gad60c343e1400c16df1e2f00d2bdff9e9">&#9670;&nbsp;</a></span>hx509_env_add()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_env_add </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_env *&#160;</td>
- <td class="paramname"><em>env</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>key</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>value</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add a new key/value pair to the hx509_env.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">env</td><td>environment to add the environment variable too. </td></tr>
- <tr><td class="paramname">key</td><td>key to add </td></tr>
- <tr><td class="paramname">value</td><td>value to add</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gaf08b9d284b8845a7ce14ef1b21ec1adf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaf08b9d284b8845a7ce14ef1b21ec1adf">&#9670;&nbsp;</a></span>hx509_env_add_binding()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_env_add_binding </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_env *&#160;</td>
- <td class="paramname"><em>env</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>key</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_env&#160;</td>
- <td class="paramname"><em>list</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add a new key/binding pair to the hx509_env.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">env</td><td>environment to add the environment variable too. </td></tr>
- <tr><td class="paramname">key</td><td>key to add </td></tr>
- <tr><td class="paramname">list</td><td>binding list to add</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga7e481b337974e7474f8bc7bd9199af13"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga7e481b337974e7474f8bc7bd9199af13">&#9670;&nbsp;</a></span>hx509_env_find()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const char* hx509_env_find </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_env&#160;</td>
- <td class="paramname"><em>env</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>key</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Search the hx509_env for a key.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">env</td><td>environment to add the environment variable too. </td></tr>
- <tr><td class="paramname">key</td><td>key to search for.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the value if the key is found, NULL otherwise. </dd></dl>
-
-</div>
-</div>
-<a id="ga9f2ea48c27a58b690a218c44fd4c90a6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga9f2ea48c27a58b690a218c44fd4c90a6">&#9670;&nbsp;</a></span>hx509_env_find_binding()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">hx509_env hx509_env_find_binding </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_env&#160;</td>
- <td class="paramname"><em>env</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>key</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Search the hx509_env for a binding.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">env</td><td>environment to add the environment variable too. </td></tr>
- <tr><td class="paramname">key</td><td>key to search for.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the binding if the key is found, NULL if not found. </dd></dl>
-
-</div>
-</div>
-<a id="gaf5587becc945154ca8c6f1795db5c8da"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaf5587becc945154ca8c6f1795db5c8da">&#9670;&nbsp;</a></span>hx509_env_free()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_env_free </td>
- <td>(</td>
- <td class="paramtype">hx509_env *&#160;</td>
- <td class="paramname"><em>env</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free an hx509_env environment context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">env</td><td>the environment to free. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gaa4be057dabba9197ad9ada2594ad36e8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaa4be057dabba9197ad9ada2594ad36e8">&#9670;&nbsp;</a></span>hx509_env_lfind()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const char* hx509_env_lfind </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_env&#160;</td>
- <td class="paramname"><em>env</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>key</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>len</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Search the hx509_env for a length based key.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">env</td><td>environment to add the environment variable too. </td></tr>
- <tr><td class="paramname">key</td><td>key to search for. </td></tr>
- <tr><td class="paramname">len</td><td>length of key.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>the value if the key is found, NULL otherwise. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/group__hx509__error.html b/doc/doxyout/hx509/html/group__hx509__error.html
deleted file mode 100644
index 3a6bf0bd89d4..000000000000
--- a/doc/doxyout/hx509/html/group__hx509__error.html
+++ /dev/null
@@ -1,316 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hx509 error functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">hx509 error functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga99a2f278c27355d474bc12e5809ae5ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__error.html#ga99a2f278c27355d474bc12e5809ae5ff">hx509_clear_error_string</a> (hx509_context context)</td></tr>
-<tr class="separator:ga99a2f278c27355d474bc12e5809ae5ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4d3505a920021f838cab2228cd197e3d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__error.html#ga4d3505a920021f838cab2228cd197e3d">hx509_set_error_stringv</a> (hx509_context context, int flags, int code, const char *fmt, va_list ap)</td></tr>
-<tr class="separator:ga4d3505a920021f838cab2228cd197e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gad9d4e6e56d2baef65f8c05ee53d6c198"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__error.html#gad9d4e6e56d2baef65f8c05ee53d6c198">hx509_set_error_string</a> (hx509_context context, int flags, int code, const char *fmt,...)</td></tr>
-<tr class="separator:gad9d4e6e56d2baef65f8c05ee53d6c198"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga15791abff76719acb531223fdcbcac87"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string</a> (hx509_context context, int error_code)</td></tr>
-<tr class="separator:ga15791abff76719acb531223fdcbcac87"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadd65f91b64ae79e6540708b9ab322992"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__error.html#gadd65f91b64ae79e6540708b9ab322992">hx509_free_error_string</a> (char *str)</td></tr>
-<tr class="separator:gadd65f91b64ae79e6540708b9ab322992"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga992270111a54a73af9f96216eb548aa4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__error.html#ga992270111a54a73af9f96216eb548aa4">hx509_err</a> (hx509_context context, int exit_code, int error_code, const char *fmt,...)</td></tr>
-<tr class="separator:ga992270111a54a73af9f96216eb548aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>See the <a class="el" href="page_error.html">Hx509 error reporting functions</a> for description and examples. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="ga99a2f278c27355d474bc12e5809ae5ff"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga99a2f278c27355d474bc12e5809ae5ff">&#9670;&nbsp;</a></span>hx509_clear_error_string()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_clear_error_string </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Resets the error strings the hx509 context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga992270111a54a73af9f96216eb548aa4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga992270111a54a73af9f96216eb548aa4">&#9670;&nbsp;</a></span>hx509_err()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_err </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>exit_code</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>error_code</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>fmt</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">&#160;</td>
- <td class="paramname"><em>...</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Print error message and fatally exit from error code</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">exit_code</td><td>exit() code from process. </td></tr>
- <tr><td class="paramname">error_code</td><td>Error code for the reason to exit. </td></tr>
- <tr><td class="paramname">fmt</td><td>format string with the exit message. </td></tr>
- <tr><td class="paramname">...</td><td>argument to format string. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gadd65f91b64ae79e6540708b9ab322992"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gadd65f91b64ae79e6540708b9ab322992">&#9670;&nbsp;</a></span>hx509_free_error_string()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_free_error_string </td>
- <td>(</td>
- <td class="paramtype">char *&#160;</td>
- <td class="paramname"><em>str</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free error string returned by <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">str</td><td>error string to free. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga15791abff76719acb531223fdcbcac87"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga15791abff76719acb531223fdcbcac87">&#9670;&nbsp;</a></span>hx509_get_error_string()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* hx509_get_error_string </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>error_code</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get an error string from context associated with error_code.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">error_code</td><td>Get error message for this error code.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>error string, free with <a class="el" href="group__hx509__error.html#gadd65f91b64ae79e6540708b9ab322992">hx509_free_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gad9d4e6e56d2baef65f8c05ee53d6c198"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gad9d4e6e56d2baef65f8c05ee53d6c198">&#9670;&nbsp;</a></span>hx509_set_error_string()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_set_error_string </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>flags</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>code</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>fmt</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">&#160;</td>
- <td class="paramname"><em>...</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>See <a class="el" href="group__hx509__error.html#ga4d3505a920021f838cab2228cd197e3d">hx509_set_error_stringv()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">flags</td><td><ul>
-<li>HX509_ERROR_APPEND appends the error string to the old messages (code is updated). </li>
-</ul>
-</td></tr>
- <tr><td class="paramname">code</td><td>error code related to error message </td></tr>
- <tr><td class="paramname">fmt</td><td>error message format </td></tr>
- <tr><td class="paramname">...</td><td>arguments to error message format </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga4d3505a920021f838cab2228cd197e3d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga4d3505a920021f838cab2228cd197e3d">&#9670;&nbsp;</a></span>hx509_set_error_stringv()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_set_error_stringv </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>flags</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>code</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>fmt</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">va_list&#160;</td>
- <td class="paramname"><em>ap</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add an error message to the hx509 context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">flags</td><td><ul>
-<li>HX509_ERROR_APPEND appends the error string to the old messages (code is updated). </li>
-</ul>
-</td></tr>
- <tr><td class="paramname">code</td><td>error code related to error message </td></tr>
- <tr><td class="paramname">fmt</td><td>error message format </td></tr>
- <tr><td class="paramname">ap</td><td>arguments to error message format </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/group__hx509__keyset.html b/doc/doxyout/hx509/html/group__hx509__keyset.html
deleted file mode 100644
index 3c66b24878e3..000000000000
--- a/doc/doxyout/hx509/html/group__hx509__keyset.html
+++ /dev/null
@@ -1,781 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hx509 certificate store functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">hx509 certificate store functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga38cec16ab23ae65a6113f6e323a38032"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__keyset.html#ga38cec16ab23ae65a6113f6e323a38032">hx509_certs_init</a> (hx509_context context, const char *name, int flags, hx509_lock lock, hx509_certs *certs)</td></tr>
-<tr class="separator:ga38cec16ab23ae65a6113f6e323a38032"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1dbde45fbffbaf909cd99b339f8641bd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__keyset.html#ga1dbde45fbffbaf909cd99b339f8641bd">hx509_certs_store</a> (hx509_context context, hx509_certs certs, int flags, hx509_lock lock)</td></tr>
-<tr class="separator:ga1dbde45fbffbaf909cd99b339f8641bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa3df96cfe4137beaea7e7b87b95dbe3f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__keyset.html#gaa3df96cfe4137beaea7e7b87b95dbe3f">hx509_certs_free</a> (hx509_certs *certs)</td></tr>
-<tr class="separator:gaa3df96cfe4137beaea7e7b87b95dbe3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga8734f5269e166329c0b66d546187a4a9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__keyset.html#ga8734f5269e166329c0b66d546187a4a9">hx509_certs_start_seq</a> (hx509_context context, hx509_certs certs, hx509_cursor *cursor)</td></tr>
-<tr class="separator:ga8734f5269e166329c0b66d546187a4a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga63c38b4729df8a074f191db831ac9db7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__keyset.html#ga63c38b4729df8a074f191db831ac9db7">hx509_certs_next_cert</a> (hx509_context context, hx509_certs certs, hx509_cursor cursor, hx509_cert *cert)</td></tr>
-<tr class="separator:ga63c38b4729df8a074f191db831ac9db7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga9f05c59f97dcfade924a72fe82cf9a16"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__keyset.html#ga9f05c59f97dcfade924a72fe82cf9a16">hx509_certs_end_seq</a> (hx509_context context, hx509_certs certs, hx509_cursor cursor)</td></tr>
-<tr class="separator:ga9f05c59f97dcfade924a72fe82cf9a16"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4ba1d8deb9545c59b8f6bde86585014b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__keyset.html#ga4ba1d8deb9545c59b8f6bde86585014b">hx509_certs_iter_f</a> (hx509_context context, hx509_certs certs, int(*func)(hx509_context, void *, hx509_cert), void *ctx)</td></tr>
-<tr class="separator:ga4ba1d8deb9545c59b8f6bde86585014b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaee9789b91e1b425c17ddd6a5c1f2a834"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__keyset.html#gaee9789b91e1b425c17ddd6a5c1f2a834">hx509_ci_print_names</a> (hx509_context context, void *ctx, hx509_cert c)</td></tr>
-<tr class="separator:gaee9789b91e1b425c17ddd6a5c1f2a834"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4ebe1ee219223b590bdf3e58dc2182da"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__keyset.html#ga4ebe1ee219223b590bdf3e58dc2182da">hx509_certs_add</a> (hx509_context context, hx509_certs certs, hx509_cert cert)</td></tr>
-<tr class="separator:ga4ebe1ee219223b590bdf3e58dc2182da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5f0c737b4dddb2a8c7bbab05b04ceb7a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__keyset.html#ga5f0c737b4dddb2a8c7bbab05b04ceb7a">hx509_certs_find</a> (hx509_context context, hx509_certs certs, const hx509_query *q, hx509_cert *r)</td></tr>
-<tr class="separator:ga5f0c737b4dddb2a8c7bbab05b04ceb7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1a7b21b477dc3a43286fd1ff96163609"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__keyset.html#ga1a7b21b477dc3a43286fd1ff96163609">hx509_certs_filter</a> (hx509_context context, hx509_certs certs, const hx509_query *q, hx509_certs *result)</td></tr>
-<tr class="separator:ga1a7b21b477dc3a43286fd1ff96163609"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga201bbf3425e451337abb26589202d9fe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__keyset.html#ga201bbf3425e451337abb26589202d9fe">hx509_certs_merge</a> (hx509_context context, hx509_certs to, hx509_certs from)</td></tr>
-<tr class="separator:ga201bbf3425e451337abb26589202d9fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5aa16e2f2d1bd1349e0586fdb53b85e6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__keyset.html#ga5aa16e2f2d1bd1349e0586fdb53b85e6">hx509_certs_append</a> (hx509_context context, hx509_certs to, hx509_lock lock, const char *name)</td></tr>
-<tr class="separator:ga5aa16e2f2d1bd1349e0586fdb53b85e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0457faff2ddddfbae50fa62ec1369072"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__keyset.html#ga0457faff2ddddfbae50fa62ec1369072">hx509_get_one_cert</a> (hx509_context context, hx509_certs certs, hx509_cert *c)</td></tr>
-<tr class="separator:ga0457faff2ddddfbae50fa62ec1369072"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga82fc84cff0a174d58e763ffe2c2a0aad"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__keyset.html#ga82fc84cff0a174d58e763ffe2c2a0aad">hx509_certs_info</a> (hx509_context context, hx509_certs certs, int(*func)(void *, const char *), void *ctx)</td></tr>
-<tr class="separator:ga82fc84cff0a174d58e763ffe2c2a0aad"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>See the <a class="el" href="page_keyset.html">Certificate store operations</a> for description and examples. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="ga4ebe1ee219223b590bdf3e58dc2182da"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga4ebe1ee219223b590bdf3e58dc2182da">&#9670;&nbsp;</a></span>hx509_certs_add()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_certs_add </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>certs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add a certificate to the certificiate store.</p>
-<p>The receiving keyset certs will either increase reference counter of the cert or make a deep copy, either way, the caller needs to free the cert itself.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">certs</td><td>certificate store to add the certificate to. </td></tr>
- <tr><td class="paramname">cert</td><td>certificate to add.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. </dd></dl>
-
-</div>
-</div>
-<a id="ga5aa16e2f2d1bd1349e0586fdb53b85e6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga5aa16e2f2d1bd1349e0586fdb53b85e6">&#9670;&nbsp;</a></span>hx509_certs_append()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_certs_append </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>to</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_lock&#160;</td>
- <td class="paramname"><em>lock</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>name</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Same a <a class="el" href="group__hx509__keyset.html#ga201bbf3425e451337abb26589202d9fe">hx509_certs_merge()</a> but use a lock and name to describe the from source.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">to</td><td>the store to merge into. </td></tr>
- <tr><td class="paramname">lock</td><td>a lock that unlocks the certificates store, use NULL to select no password/certifictes/prompt lock (see <a class="el" href="page_lock.html">Locking and unlocking certificates and encrypted data.</a>). </td></tr>
- <tr><td class="paramname">name</td><td>name of the source store</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. </dd></dl>
-
-</div>
-</div>
-<a id="ga9f05c59f97dcfade924a72fe82cf9a16"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga9f05c59f97dcfade924a72fe82cf9a16">&#9670;&nbsp;</a></span>hx509_certs_end_seq()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_certs_end_seq </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>certs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cursor&#160;</td>
- <td class="paramname"><em>cursor</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>End the iteration over certificates.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">certs</td><td>certificate store to iterate over. </td></tr>
- <tr><td class="paramname">cursor</td><td>cursor that will keep track of progress, freed.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. </dd></dl>
-
-</div>
-</div>
-<a id="ga1a7b21b477dc3a43286fd1ff96163609"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga1a7b21b477dc3a43286fd1ff96163609">&#9670;&nbsp;</a></span>hx509_certs_filter()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_certs_filter </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>certs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const hx509_query *&#160;</td>
- <td class="paramname"><em>q</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs *&#160;</td>
- <td class="paramname"><em>result</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Filter certificate matching the query.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">certs</td><td>certificate store to search. </td></tr>
- <tr><td class="paramname">q</td><td>query allocated with <a class="el" href="group__hx509__query.html">hx509 query functions</a> functions. </td></tr>
- <tr><td class="paramname">result</td><td>the filtered certificate store, caller must free with <a class="el" href="group__hx509__keyset.html#gaa3df96cfe4137beaea7e7b87b95dbe3f">hx509_certs_free()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. </dd></dl>
-<p>Return HX509_CERT_NOT_FOUND if no certificate in certs matched the query.</p>
-
-</div>
-</div>
-<a id="ga5f0c737b4dddb2a8c7bbab05b04ceb7a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga5f0c737b4dddb2a8c7bbab05b04ceb7a">&#9670;&nbsp;</a></span>hx509_certs_find()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_certs_find </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>certs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const hx509_query *&#160;</td>
- <td class="paramname"><em>q</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert *&#160;</td>
- <td class="paramname"><em>r</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Find a certificate matching the query.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">certs</td><td>certificate store to search. </td></tr>
- <tr><td class="paramname">q</td><td>query allocated with <a class="el" href="group__hx509__query.html">hx509 query functions</a> functions. </td></tr>
- <tr><td class="paramname">r</td><td>return certificate (or NULL on error), should be freed with <a class="el" href="group__hx509__cert.html#gad2f9bb0ddc4babb26a8ccd983db8c948">hx509_cert_free()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. </dd></dl>
-<p>Return HX509_CERT_NOT_FOUND if no certificate in certs matched the query.</p>
-
-</div>
-</div>
-<a id="gaa3df96cfe4137beaea7e7b87b95dbe3f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaa3df96cfe4137beaea7e7b87b95dbe3f">&#9670;&nbsp;</a></span>hx509_certs_free()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_certs_free </td>
- <td>(</td>
- <td class="paramtype">hx509_certs *&#160;</td>
- <td class="paramname"><em>certs</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free a certificate store.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">certs</td><td>certificate store to free. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga82fc84cff0a174d58e763ffe2c2a0aad"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga82fc84cff0a174d58e763ffe2c2a0aad">&#9670;&nbsp;</a></span>hx509_certs_info()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_certs_info </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>certs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int(*)(void *, const char *)&#160;</td>
- <td class="paramname"><em>func</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>ctx</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Print some info about the certificate store.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">certs</td><td>certificate store to print information about. </td></tr>
- <tr><td class="paramname">func</td><td>function that will get each line of the information, if NULL is used the data is printed on a FILE descriptor that should be passed in ctx, if ctx also is NULL, stdout is used. </td></tr>
- <tr><td class="paramname">ctx</td><td>parameter to func.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. </dd></dl>
-
-</div>
-</div>
-<a id="ga38cec16ab23ae65a6113f6e323a38032"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga38cec16ab23ae65a6113f6e323a38032">&#9670;&nbsp;</a></span>hx509_certs_init()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_certs_init </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>name</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>flags</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_lock&#160;</td>
- <td class="paramname"><em>lock</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs *&#160;</td>
- <td class="paramname"><em>certs</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Open or creates a new hx509 certificate store.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context </td></tr>
- <tr><td class="paramname">name</td><td>name of the store, format is TYPE:type-specific-string, if NULL is used the MEMORY store is used. </td></tr>
- <tr><td class="paramname">flags</td><td>list of flags:<ul>
-<li>HX509_CERTS_CREATE create a new keystore of the specific TYPE.</li>
-<li>HX509_CERTS_UNPROTECT_ALL fails if any private key failed to be extracted. </li>
-</ul>
-</td></tr>
- <tr><td class="paramname">lock</td><td>a lock that unlocks the certificates store, use NULL to select no password/certifictes/prompt lock (see <a class="el" href="page_lock.html">Locking and unlocking certificates and encrypted data.</a>). </td></tr>
- <tr><td class="paramname">certs</td><td>return pointer, free with <a class="el" href="group__hx509__keyset.html#gaa3df96cfe4137beaea7e7b87b95dbe3f">hx509_certs_free()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. </dd></dl>
-
-</div>
-</div>
-<a id="ga4ba1d8deb9545c59b8f6bde86585014b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga4ba1d8deb9545c59b8f6bde86585014b">&#9670;&nbsp;</a></span>hx509_certs_iter_f()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_certs_iter_f </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>certs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int(*)(hx509_context, void *, hx509_cert)&#160;</td>
- <td class="paramname"><em>func</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>ctx</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Iterate over all certificates in a keystore and call a function for each of them.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">certs</td><td>certificate store to iterate over. </td></tr>
- <tr><td class="paramname">func</td><td>function to call for each certificate. The function should return non-zero to abort the iteration, that value is passed back to the caller of <a class="el" href="group__hx509__keyset.html#ga4ba1d8deb9545c59b8f6bde86585014b">hx509_certs_iter_f()</a>. </td></tr>
- <tr><td class="paramname">ctx</td><td>context variable that will passed to the function.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. </dd></dl>
-
-</div>
-</div>
-<a id="ga201bbf3425e451337abb26589202d9fe"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga201bbf3425e451337abb26589202d9fe">&#9670;&nbsp;</a></span>hx509_certs_merge()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_certs_merge </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>to</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>from</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Merge a certificate store into another. The from store is keep intact.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">to</td><td>the store to merge into. </td></tr>
- <tr><td class="paramname">from</td><td>the store to copy the object from.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. </dd></dl>
-
-</div>
-</div>
-<a id="ga63c38b4729df8a074f191db831ac9db7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga63c38b4729df8a074f191db831ac9db7">&#9670;&nbsp;</a></span>hx509_certs_next_cert()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_certs_next_cert </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>certs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cursor&#160;</td>
- <td class="paramname"><em>cursor</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert *&#160;</td>
- <td class="paramname"><em>cert</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get next ceritificate from the certificate keystore pointed out by cursor.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">certs</td><td>certificate store to iterate over. </td></tr>
- <tr><td class="paramname">cursor</td><td>cursor that keeps track of progress. </td></tr>
- <tr><td class="paramname">cert</td><td>return certificate next in store, NULL if the store contains no more certificates. Free with <a class="el" href="group__hx509__cert.html#gad2f9bb0ddc4babb26a8ccd983db8c948">hx509_cert_free()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. </dd></dl>
-
-</div>
-</div>
-<a id="ga8734f5269e166329c0b66d546187a4a9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga8734f5269e166329c0b66d546187a4a9">&#9670;&nbsp;</a></span>hx509_certs_start_seq()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_certs_start_seq </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>certs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cursor *&#160;</td>
- <td class="paramname"><em>cursor</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Start the integration</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">certs</td><td>certificate store to iterate over </td></tr>
- <tr><td class="paramname">cursor</td><td>cursor that will keep track of progress, free with <a class="el" href="group__hx509__keyset.html#ga9f05c59f97dcfade924a72fe82cf9a16">hx509_certs_end_seq()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. HX509_UNSUPPORTED_OPERATION is returned if the certificate store doesn't support the iteration operation. </dd></dl>
-
-</div>
-</div>
-<a id="ga1dbde45fbffbaf909cd99b339f8641bd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga1dbde45fbffbaf909cd99b339f8641bd">&#9670;&nbsp;</a></span>hx509_certs_store()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_certs_store </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>certs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>flags</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_lock&#160;</td>
- <td class="paramname"><em>lock</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Write the certificate store to stable storage.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">certs</td><td>a certificate store to store. </td></tr>
- <tr><td class="paramname">flags</td><td>currently unused, use 0. </td></tr>
- <tr><td class="paramname">lock</td><td>a lock that unlocks the certificates store, use NULL to select no password/certifictes/prompt lock (see <a class="el" href="page_lock.html">Locking and unlocking certificates and encrypted data.</a>).</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. HX509_UNSUPPORTED_OPERATION if the certificate store doesn't support the store operation. </dd></dl>
-
-</div>
-</div>
-<a id="gaee9789b91e1b425c17ddd6a5c1f2a834"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaee9789b91e1b425c17ddd6a5c1f2a834">&#9670;&nbsp;</a></span>hx509_ci_print_names()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ci_print_names </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>c</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Function to use to <a class="el" href="group__hx509__keyset.html#ga4ba1d8deb9545c59b8f6bde86585014b">hx509_certs_iter_f()</a> as a function argument, the ctx variable to <a class="el" href="group__hx509__keyset.html#ga4ba1d8deb9545c59b8f6bde86585014b">hx509_certs_iter_f()</a> should be a FILE file descriptor.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">ctx</td><td>used by <a class="el" href="group__hx509__keyset.html#ga4ba1d8deb9545c59b8f6bde86585014b">hx509_certs_iter_f()</a>. </td></tr>
- <tr><td class="paramname">c</td><td>a certificate</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. </dd></dl>
-
-</div>
-</div>
-<a id="ga0457faff2ddddfbae50fa62ec1369072"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga0457faff2ddddfbae50fa62ec1369072">&#9670;&nbsp;</a></span>hx509_get_one_cert()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_get_one_cert </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>certs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert *&#160;</td>
- <td class="paramname"><em>c</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Get one random certificate from the certificate store.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">certs</td><td>a certificate store to get the certificate from. </td></tr>
- <tr><td class="paramname">c</td><td>return certificate, should be freed with <a class="el" href="group__hx509__cert.html#gad2f9bb0ddc4babb26a8ccd983db8c948">hx509_cert_free()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>Returns an hx509 error code. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/group__hx509__lock.html b/doc/doxyout/hx509/html/group__hx509__lock.html
deleted file mode 100644
index 2a74cd1afdc6..000000000000
--- a/doc/doxyout/hx509/html/group__hx509__lock.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hx509 lock functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">hx509 lock functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<p>See the <a class="el" href="page_lock.html">Locking and unlocking certificates and encrypted data.</a> for description and examples. </p>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/group__hx509__misc.html b/doc/doxyout/hx509/html/group__hx509__misc.html
deleted file mode 100644
index 66e53a5fced0..000000000000
--- a/doc/doxyout/hx509/html/group__hx509__misc.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hx509 misc functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">hx509 misc functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gaa39b9443f688a6d9152ff6dc05f3be8e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__misc.html#gaa39b9443f688a6d9152ff6dc05f3be8e">hx509_free_octet_string_list</a> (hx509_octet_string_list *list)</td></tr>
-<tr class="separator:gaa39b9443f688a6d9152ff6dc05f3be8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaba6d3eb6abde539a3191269f785e3e61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__misc.html#gaba6d3eb6abde539a3191269f785e3e61">hx509_xfree</a> (void *ptr)</td></tr>
-<tr class="separator:gaba6d3eb6abde539a3191269f785e3e61"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="gaa39b9443f688a6d9152ff6dc05f3be8e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaa39b9443f688a6d9152ff6dc05f3be8e">&#9670;&nbsp;</a></span>hx509_free_octet_string_list()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_free_octet_string_list </td>
- <td>(</td>
- <td class="paramtype">hx509_octet_string_list *&#160;</td>
- <td class="paramname"><em>list</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free a list of octet strings returned by another hx509 library function.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">list</td><td>list to be freed. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gaba6d3eb6abde539a3191269f785e3e61"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaba6d3eb6abde539a3191269f785e3e61">&#9670;&nbsp;</a></span>hx509_xfree()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_xfree </td>
- <td>(</td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>ptr</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free a data element allocated in the library.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ptr</td><td>data to be freed. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/group__hx509__name.html b/doc/doxyout/hx509/html/group__hx509__name.html
deleted file mode 100644
index 3aeb910a5ca8..000000000000
--- a/doc/doxyout/hx509/html/group__hx509__name.html
+++ /dev/null
@@ -1,475 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hx509 name functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">hx509 name functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga1bd74b34e0aa88b083678ba231d38718"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#ga1bd74b34e0aa88b083678ba231d38718">hx509_name_to_string</a> (const hx509_name name, char **str)</td></tr>
-<tr class="separator:ga1bd74b34e0aa88b083678ba231d38718"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabd49c49301d601bc53371b867a7eac54"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#gabd49c49301d601bc53371b867a7eac54">hx509_name_cmp</a> (hx509_name n1, hx509_name n2)</td></tr>
-<tr class="separator:gabd49c49301d601bc53371b867a7eac54"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga0565f607a4e57d0911ee7081ad9548c5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#ga0565f607a4e57d0911ee7081ad9548c5">hx509_parse_name</a> (hx509_context context, const char *str, hx509_name *name)</td></tr>
-<tr class="separator:ga0565f607a4e57d0911ee7081ad9548c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gacf9b6bfcdd810bed71e98f7e04d918ca"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#gacf9b6bfcdd810bed71e98f7e04d918ca">hx509_name_copy</a> (hx509_context context, const hx509_name from, hx509_name *to)</td></tr>
-<tr class="separator:gacf9b6bfcdd810bed71e98f7e04d918ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6e65dc67aa48bb87e4fb98ecfe512fbd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#ga6e65dc67aa48bb87e4fb98ecfe512fbd">hx509_name_to_Name</a> (const hx509_name from, Name *to)</td></tr>
-<tr class="separator:ga6e65dc67aa48bb87e4fb98ecfe512fbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga42015083c70b6aa29c4f082998dbbece"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#ga42015083c70b6aa29c4f082998dbbece">hx509_name_expand</a> (hx509_context context, hx509_name name, hx509_env env)</td></tr>
-<tr class="separator:ga42015083c70b6aa29c4f082998dbbece"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf351931efb02fc7aea736af9977155e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#gaaf351931efb02fc7aea736af9977155e">hx509_name_free</a> (hx509_name *name)</td></tr>
-<tr class="separator:gaaf351931efb02fc7aea736af9977155e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaf8f73e0a75da2189b1815d8c968750df"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#gaf8f73e0a75da2189b1815d8c968750df">hx509_unparse_der_name</a> (const void *data, size_t length, char **str)</td></tr>
-<tr class="separator:gaf8f73e0a75da2189b1815d8c968750df"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1838777e576422c1cb17093bbf7fa018"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#ga1838777e576422c1cb17093bbf7fa018">hx509_name_binary</a> (const hx509_name name, heim_octet_string *os)</td></tr>
-<tr class="separator:ga1838777e576422c1cb17093bbf7fa018"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4f6715dcabbbcb5d48512e504eae8352"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#ga4f6715dcabbbcb5d48512e504eae8352">hx509_name_is_null_p</a> (const hx509_name name)</td></tr>
-<tr class="separator:ga4f6715dcabbbcb5d48512e504eae8352"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga678a0bf7676746ea1827efe951042f1e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__name.html#ga678a0bf7676746ea1827efe951042f1e">hx509_general_name_unparse</a> (GeneralName *name, char **str)</td></tr>
-<tr class="separator:ga678a0bf7676746ea1827efe951042f1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>See the <a class="el" href="page_name.html">PKIX/X.509 Names</a> for description and examples. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="ga678a0bf7676746ea1827efe951042f1e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga678a0bf7676746ea1827efe951042f1e">&#9670;&nbsp;</a></span>hx509_general_name_unparse()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_general_name_unparse </td>
- <td>(</td>
- <td class="paramtype">GeneralName *&#160;</td>
- <td class="paramname"><em>name</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char **&#160;</td>
- <td class="paramname"><em>str</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Unparse the hx509 name in name into a string.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">name</td><td>the name to print </td></tr>
- <tr><td class="paramname">str</td><td>an allocated string returns the name in string form</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga1838777e576422c1cb17093bbf7fa018"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga1838777e576422c1cb17093bbf7fa018">&#9670;&nbsp;</a></span>hx509_name_binary()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_name_binary </td>
- <td>(</td>
- <td class="paramtype">const hx509_name&#160;</td>
- <td class="paramname"><em>name</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_octet_string *&#160;</td>
- <td class="paramname"><em>os</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Convert a hx509_name object to DER encoded name.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">name</td><td>name to concert </td></tr>
- <tr><td class="paramname">os</td><td>data to a DER encoded name, free the resulting octet string with hx509_xfree(os-&gt;data).</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gabd49c49301d601bc53371b867a7eac54"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gabd49c49301d601bc53371b867a7eac54">&#9670;&nbsp;</a></span>hx509_name_cmp()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_name_cmp </td>
- <td>(</td>
- <td class="paramtype">hx509_name&#160;</td>
- <td class="paramname"><em>n1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_name&#160;</td>
- <td class="paramname"><em>n2</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Compare to hx509 name object, useful for sorting.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">n1</td><td>a hx509 name object. </td></tr>
- <tr><td class="paramname">n2</td><td>a hx509 name object.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>0 the objects are the same, returns &gt; 0 is n2 is "larger" then n2, &lt; 0 if n1 is "smaller" then n2. </dd></dl>
-
-</div>
-</div>
-<a id="gacf9b6bfcdd810bed71e98f7e04d918ca"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gacf9b6bfcdd810bed71e98f7e04d918ca">&#9670;&nbsp;</a></span>hx509_name_copy()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_name_copy </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const hx509_name&#160;</td>
- <td class="paramname"><em>from</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_name *&#160;</td>
- <td class="paramname"><em>to</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Copy a hx509 name object.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 cotext. </td></tr>
- <tr><td class="paramname">from</td><td>the name to copy from </td></tr>
- <tr><td class="paramname">to</td><td>the name to copy to</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga42015083c70b6aa29c4f082998dbbece"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga42015083c70b6aa29c4f082998dbbece">&#9670;&nbsp;</a></span>hx509_name_expand()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_name_expand </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_name&#160;</td>
- <td class="paramname"><em>name</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_env&#160;</td>
- <td class="paramname"><em>env</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Expands variables in the name using env. Variables are on the form ${name}. Useful when dealing with certificate templates.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 cotext. </td></tr>
- <tr><td class="paramname">name</td><td>the name to expand. </td></tr>
- <tr><td class="paramname">env</td><td>environment variable to expand.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-<p>Only UTF8String rdnSequence names are allowed</p>
-
-</div>
-</div>
-<a id="gaaf351931efb02fc7aea736af9977155e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaaf351931efb02fc7aea736af9977155e">&#9670;&nbsp;</a></span>hx509_name_free()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_name_free </td>
- <td>(</td>
- <td class="paramtype">hx509_name *&#160;</td>
- <td class="paramname"><em>name</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free a hx509 name object, upond return *name will be NULL.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">name</td><td>a hx509 name object to be freed. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga4f6715dcabbbcb5d48512e504eae8352"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga4f6715dcabbbcb5d48512e504eae8352">&#9670;&nbsp;</a></span>hx509_name_is_null_p()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_name_is_null_p </td>
- <td>(</td>
- <td class="paramtype">const hx509_name&#160;</td>
- <td class="paramname"><em>name</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Unparse the hx509 name in name into a string.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">name</td><td>the name to check if its empty/null.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>non zero if the name is empty/null. </dd></dl>
-
-</div>
-</div>
-<a id="ga6e65dc67aa48bb87e4fb98ecfe512fbd"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga6e65dc67aa48bb87e4fb98ecfe512fbd">&#9670;&nbsp;</a></span>hx509_name_to_Name()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_name_to_Name </td>
- <td>(</td>
- <td class="paramtype">const hx509_name&#160;</td>
- <td class="paramname"><em>from</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">Name *&#160;</td>
- <td class="paramname"><em>to</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Convert a hx509_name into a Name.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">from</td><td>the name to copy from </td></tr>
- <tr><td class="paramname">to</td><td>the name to copy to</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga1bd74b34e0aa88b083678ba231d38718"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga1bd74b34e0aa88b083678ba231d38718">&#9670;&nbsp;</a></span>hx509_name_to_string()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_name_to_string </td>
- <td>(</td>
- <td class="paramtype">const hx509_name&#160;</td>
- <td class="paramname"><em>name</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char **&#160;</td>
- <td class="paramname"><em>str</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Convert the hx509 name object into a printable string. The resulting string should be freed with free().</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">name</td><td>name to print </td></tr>
- <tr><td class="paramname">str</td><td>the string to return</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga0565f607a4e57d0911ee7081ad9548c5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga0565f607a4e57d0911ee7081ad9548c5">&#9670;&nbsp;</a></span>hx509_parse_name()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_parse_name </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>str</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_name *&#160;</td>
- <td class="paramname"><em>name</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Parse a string into a hx509 name object.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">str</td><td>a string to parse. </td></tr>
- <tr><td class="paramname">name</td><td>the resulting object, NULL in case of error.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gaf8f73e0a75da2189b1815d8c968750df"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaf8f73e0a75da2189b1815d8c968750df">&#9670;&nbsp;</a></span>hx509_unparse_der_name()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_unparse_der_name </td>
- <td>(</td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char **&#160;</td>
- <td class="paramname"><em>str</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Convert a DER encoded name info a string.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">data</td><td>data to a DER/BER encoded name </td></tr>
- <tr><td class="paramname">length</td><td>length of data </td></tr>
- <tr><td class="paramname">str</td><td>the resulting string, is NULL on failure.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/group__hx509__peer.html b/doc/doxyout/hx509/html/group__hx509__peer.html
deleted file mode 100644
index 026562e9a045..000000000000
--- a/doc/doxyout/hx509/html/group__hx509__peer.html
+++ /dev/null
@@ -1,243 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hx509 certificate selecting functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">hx509 certificate selecting functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gaf4093f25751c1974c7fc65b882aac4d8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__peer.html#gaf4093f25751c1974c7fc65b882aac4d8">hx509_peer_info_alloc</a> (hx509_context context, hx509_peer_info *peer)</td></tr>
-<tr class="separator:gaf4093f25751c1974c7fc65b882aac4d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae7b541b7b98303050e8ecc85935d2abc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__peer.html#gae7b541b7b98303050e8ecc85935d2abc">hx509_peer_info_free</a> (hx509_peer_info peer)</td></tr>
-<tr class="separator:gae7b541b7b98303050e8ecc85935d2abc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga6462bcb987ee03fcb181834f127e5d3e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__peer.html#ga6462bcb987ee03fcb181834f127e5d3e">hx509_peer_info_set_cert</a> (hx509_peer_info peer, hx509_cert cert)</td></tr>
-<tr class="separator:ga6462bcb987ee03fcb181834f127e5d3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5ca456f9cc2d27e4cf034f342324f0d1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__peer.html#ga5ca456f9cc2d27e4cf034f342324f0d1">hx509_peer_info_add_cms_alg</a> (hx509_context context, hx509_peer_info peer, const AlgorithmIdentifier *val)</td></tr>
-<tr class="separator:ga5ca456f9cc2d27e4cf034f342324f0d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga4f61c86442845518d86bc2c5b30fcdb5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__peer.html#ga4f61c86442845518d86bc2c5b30fcdb5">hx509_peer_info_set_cms_algs</a> (hx509_context context, hx509_peer_info peer, const AlgorithmIdentifier *val, size_t len)</td></tr>
-<tr class="separator:ga4f61c86442845518d86bc2c5b30fcdb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="ga5ca456f9cc2d27e4cf034f342324f0d1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga5ca456f9cc2d27e4cf034f342324f0d1">&#9670;&nbsp;</a></span>hx509_peer_info_add_cms_alg()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_peer_info_add_cms_alg </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_peer_info&#160;</td>
- <td class="paramname"><em>peer</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const AlgorithmIdentifier *&#160;</td>
- <td class="paramname"><em>val</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add an additional algorithm that the peer supports.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">peer</td><td>the peer to set the new algorithms for </td></tr>
- <tr><td class="paramname">val</td><td>an AlgorithmsIdentier to add</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gaf4093f25751c1974c7fc65b882aac4d8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaf4093f25751c1974c7fc65b882aac4d8">&#9670;&nbsp;</a></span>hx509_peer_info_alloc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_peer_info_alloc </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_peer_info *&#160;</td>
- <td class="paramname"><em>peer</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Allocate a new peer info structure an init it to default values.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">peer</td><td>return an allocated peer, free with <a class="el" href="group__hx509__peer.html#gae7b541b7b98303050e8ecc85935d2abc">hx509_peer_info_free()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gae7b541b7b98303050e8ecc85935d2abc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gae7b541b7b98303050e8ecc85935d2abc">&#9670;&nbsp;</a></span>hx509_peer_info_free()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_peer_info_free </td>
- <td>(</td>
- <td class="paramtype">hx509_peer_info&#160;</td>
- <td class="paramname"><em>peer</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free a peer info structure.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">peer</td><td>peer info to be freed. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga6462bcb987ee03fcb181834f127e5d3e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga6462bcb987ee03fcb181834f127e5d3e">&#9670;&nbsp;</a></span>hx509_peer_info_set_cert()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_peer_info_set_cert </td>
- <td>(</td>
- <td class="paramtype">hx509_peer_info&#160;</td>
- <td class="paramname"><em>peer</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the certificate that remote peer is using.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">peer</td><td>peer info to update </td></tr>
- <tr><td class="paramname">cert</td><td>cerificate of the remote peer.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga4f61c86442845518d86bc2c5b30fcdb5"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga4f61c86442845518d86bc2c5b30fcdb5">&#9670;&nbsp;</a></span>hx509_peer_info_set_cms_algs()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_peer_info_set_cms_algs </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_peer_info&#160;</td>
- <td class="paramname"><em>peer</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const AlgorithmIdentifier *&#160;</td>
- <td class="paramname"><em>val</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>len</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the algorithms that the peer supports.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">peer</td><td>the peer to set the new algorithms for </td></tr>
- <tr><td class="paramname">val</td><td>array of supported AlgorithmsIdentiers </td></tr>
- <tr><td class="paramname">len</td><td>length of array val.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/group__hx509__print.html b/doc/doxyout/hx509/html/group__hx509__print.html
deleted file mode 100644
index 4cf69d1b744e..000000000000
--- a/doc/doxyout/hx509/html/group__hx509__print.html
+++ /dev/null
@@ -1,460 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hx509 printing functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">hx509 printing functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gae27c328d203e88c87cf81b6eb1d1fe66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__print.html#gae27c328d203e88c87cf81b6eb1d1fe66">hx509_print_stdout</a> (void *ctx, const char *fmt, va_list va)</td></tr>
-<tr class="separator:gae27c328d203e88c87cf81b6eb1d1fe66"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac116d19332498d183eb055452d682d81"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__print.html#gac116d19332498d183eb055452d682d81">hx509_oid_sprint</a> (const heim_oid *oid, char **str)</td></tr>
-<tr class="separator:gac116d19332498d183eb055452d682d81"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga984e34629525e8c301b237c158c34d23"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__print.html#ga984e34629525e8c301b237c158c34d23">hx509_oid_print</a> (const heim_oid *oid, hx509_vprint_func func, void *ctx)</td></tr>
-<tr class="separator:ga984e34629525e8c301b237c158c34d23"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga274370b840dec6de699577e3d203e6b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__print.html#ga274370b840dec6de699577e3d203e6b2">hx509_bitstring_print</a> (const heim_bit_string *b, hx509_vprint_func func, void *ctx)</td></tr>
-<tr class="separator:ga274370b840dec6de699577e3d203e6b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaafcf2f11a60a1f9b6ccabaacef0e697f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__print.html#gaafcf2f11a60a1f9b6ccabaacef0e697f">hx509_cert_keyusage_print</a> (hx509_context context, hx509_cert c, char **s)</td></tr>
-<tr class="separator:gaafcf2f11a60a1f9b6ccabaacef0e697f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga582e93c29a1becbe5c2ac1ac758e09f4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__print.html#ga582e93c29a1becbe5c2ac1ac758e09f4">hx509_validate_ctx_init</a> (hx509_context context, hx509_validate_ctx *ctx)</td></tr>
-<tr class="separator:ga582e93c29a1becbe5c2ac1ac758e09f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga2fab228a24716340f368fa729b5722b1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__print.html#ga2fab228a24716340f368fa729b5722b1">hx509_validate_ctx_set_print</a> (hx509_validate_ctx ctx, hx509_vprint_func func, void *c)</td></tr>
-<tr class="separator:ga2fab228a24716340f368fa729b5722b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gadfc4c934e63c8c7b10661520de70411e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__print.html#gadfc4c934e63c8c7b10661520de70411e">hx509_validate_ctx_add_flags</a> (hx509_validate_ctx ctx, int flags)</td></tr>
-<tr class="separator:gadfc4c934e63c8c7b10661520de70411e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga72409ecab29eec94cc0215ed21ecca8e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__print.html#ga72409ecab29eec94cc0215ed21ecca8e">hx509_validate_ctx_free</a> (hx509_validate_ctx ctx)</td></tr>
-<tr class="separator:ga72409ecab29eec94cc0215ed21ecca8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga5e3ded9ba5c466a2c6f80b9d233b69c3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__print.html#ga5e3ded9ba5c466a2c6f80b9d233b69c3">hx509_validate_cert</a> (hx509_context context, hx509_validate_ctx ctx, hx509_cert cert)</td></tr>
-<tr class="separator:ga5e3ded9ba5c466a2c6f80b9d233b69c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="ga274370b840dec6de699577e3d203e6b2"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga274370b840dec6de699577e3d203e6b2">&#9670;&nbsp;</a></span>hx509_bitstring_print()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_bitstring_print </td>
- <td>(</td>
- <td class="paramtype">const heim_bit_string *&#160;</td>
- <td class="paramname"><em>b</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_vprint_func&#160;</td>
- <td class="paramname"><em>func</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>ctx</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Print a bitstring using a hx509_vprint_func function. To print to stdout use <a class="el" href="group__hx509__print.html#gae27c328d203e88c87cf81b6eb1d1fe66">hx509_print_stdout()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">b</td><td>bit string to print. </td></tr>
- <tr><td class="paramname">func</td><td>hx509_vprint_func to print with. </td></tr>
- <tr><td class="paramname">ctx</td><td>context variable to hx509_vprint_func function. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gaafcf2f11a60a1f9b6ccabaacef0e697f"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaafcf2f11a60a1f9b6ccabaacef0e697f">&#9670;&nbsp;</a></span>hx509_cert_keyusage_print()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_cert_keyusage_print </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>c</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char **&#160;</td>
- <td class="paramname"><em>s</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Print certificate usage for a certificate to a string.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">c</td><td>a certificate print the keyusage for. </td></tr>
- <tr><td class="paramname">s</td><td>the return string with the keysage printed in to, free with <a class="el" href="group__hx509__misc.html#gaba6d3eb6abde539a3191269f785e3e61">hx509_xfree()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga984e34629525e8c301b237c158c34d23"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga984e34629525e8c301b237c158c34d23">&#9670;&nbsp;</a></span>hx509_oid_print()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_oid_print </td>
- <td>(</td>
- <td class="paramtype">const heim_oid *&#160;</td>
- <td class="paramname"><em>oid</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_vprint_func&#160;</td>
- <td class="paramname"><em>func</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>ctx</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Print a oid using a hx509_vprint_func function. To print to stdout use <a class="el" href="group__hx509__print.html#gae27c328d203e88c87cf81b6eb1d1fe66">hx509_print_stdout()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">oid</td><td>oid to print </td></tr>
- <tr><td class="paramname">func</td><td>hx509_vprint_func to print with. </td></tr>
- <tr><td class="paramname">ctx</td><td>context variable to hx509_vprint_func function. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gac116d19332498d183eb055452d682d81"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gac116d19332498d183eb055452d682d81">&#9670;&nbsp;</a></span>hx509_oid_sprint()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_oid_sprint </td>
- <td>(</td>
- <td class="paramtype">const heim_oid *&#160;</td>
- <td class="paramname"><em>oid</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char **&#160;</td>
- <td class="paramname"><em>str</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Print a oid to a string.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">oid</td><td>oid to print </td></tr>
- <tr><td class="paramname">str</td><td>allocated string, free with <a class="el" href="group__hx509__misc.html#gaba6d3eb6abde539a3191269f785e3e61">hx509_xfree()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gae27c328d203e88c87cf81b6eb1d1fe66"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gae27c328d203e88c87cf81b6eb1d1fe66">&#9670;&nbsp;</a></span>hx509_print_stdout()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_print_stdout </td>
- <td>(</td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>fmt</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">va_list&#160;</td>
- <td class="paramname"><em>va</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Helper function to print on stdout for:</p><ul>
-<li><a class="el" href="group__hx509__print.html#ga984e34629525e8c301b237c158c34d23">hx509_oid_print()</a>,</li>
-<li><a class="el" href="group__hx509__print.html#ga274370b840dec6de699577e3d203e6b2">hx509_bitstring_print()</a>,</li>
-<li><a class="el" href="group__hx509__print.html#ga2fab228a24716340f368fa729b5722b1">hx509_validate_ctx_set_print()</a>.</li>
-</ul>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the context to the print function. If the ctx is NULL, stdout is used. </td></tr>
- <tr><td class="paramname">fmt</td><td>the printing format. </td></tr>
- <tr><td class="paramname">va</td><td>the argumet list. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga5e3ded9ba5c466a2c6f80b9d233b69c3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga5e3ded9ba5c466a2c6f80b9d233b69c3">&#9670;&nbsp;</a></span>hx509_validate_cert()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_validate_cert </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_validate_ctx&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Validate/Print the status of the certificate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">ctx</td><td>A hx509 validation context. </td></tr>
- <tr><td class="paramname">cert</td><td>the cerificate to validate/print.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gadfc4c934e63c8c7b10661520de70411e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gadfc4c934e63c8c7b10661520de70411e">&#9670;&nbsp;</a></span>hx509_validate_ctx_add_flags()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_validate_ctx_add_flags </td>
- <td>(</td>
- <td class="paramtype">hx509_validate_ctx&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>flags</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add flags to control the behaivor of the <a class="el" href="group__hx509__print.html#ga5e3ded9ba5c466a2c6f80b9d233b69c3">hx509_validate_cert()</a> function.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>A hx509 validation context. </td></tr>
- <tr><td class="paramname">flags</td><td>flags to add to the validation context.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga72409ecab29eec94cc0215ed21ecca8e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga72409ecab29eec94cc0215ed21ecca8e">&#9670;&nbsp;</a></span>hx509_validate_ctx_free()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_validate_ctx_free </td>
- <td>(</td>
- <td class="paramtype">hx509_validate_ctx&#160;</td>
- <td class="paramname"><em>ctx</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free an hx509 validate context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the hx509 validate context to free. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga582e93c29a1becbe5c2ac1ac758e09f4"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga582e93c29a1becbe5c2ac1ac758e09f4">&#9670;&nbsp;</a></span>hx509_validate_ctx_init()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_validate_ctx_init </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_validate_ctx *&#160;</td>
- <td class="paramname"><em>ctx</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Allocate a hx509 validation/printing context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">ctx</td><td>a new allocated hx509 validation context, free with <a class="el" href="group__hx509__print.html#ga72409ecab29eec94cc0215ed21ecca8e">hx509_validate_ctx_free()</a>.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga2fab228a24716340f368fa729b5722b1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga2fab228a24716340f368fa729b5722b1">&#9670;&nbsp;</a></span>hx509_validate_ctx_set_print()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_validate_ctx_set_print </td>
- <td>(</td>
- <td class="paramtype">hx509_validate_ctx&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_vprint_func&#160;</td>
- <td class="paramname"><em>func</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&#160;</td>
- <td class="paramname"><em>c</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the printing functions for the validation context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>a hx509 valication context. </td></tr>
- <tr><td class="paramname">func</td><td>the printing function to usea. </td></tr>
- <tr><td class="paramname">c</td><td>the context variable to the printing function.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/group__hx509__query.html b/doc/doxyout/hx509/html/group__hx509__query.html
deleted file mode 100644
index 9fd5b37b7dad..000000000000
--- a/doc/doxyout/hx509/html/group__hx509__query.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hx509 query functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">hx509 query functions</div> </div>
-</div><!--header-->
-<div class="contents">
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/group__hx509__revoke.html b/doc/doxyout/hx509/html/group__hx509__revoke.html
deleted file mode 100644
index 91b462d0f6ac..000000000000
--- a/doc/doxyout/hx509/html/group__hx509__revoke.html
+++ /dev/null
@@ -1,385 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hx509 revokation checking functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">hx509 revokation checking functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:ga83057d3c52d4b298b92571d48cf7099e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__revoke.html#ga83057d3c52d4b298b92571d48cf7099e">hx509_revoke_init</a> (hx509_context context, hx509_revoke_ctx *ctx)</td></tr>
-<tr class="separator:ga83057d3c52d4b298b92571d48cf7099e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gac0928df8a473e5a76fd8a2785d43ea9b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__revoke.html#gac0928df8a473e5a76fd8a2785d43ea9b">hx509_revoke_free</a> (hx509_revoke_ctx *ctx)</td></tr>
-<tr class="separator:gac0928df8a473e5a76fd8a2785d43ea9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabda08999b0473bda2077b54c96be79e9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__revoke.html#gabda08999b0473bda2077b54c96be79e9">hx509_revoke_add_ocsp</a> (hx509_context context, hx509_revoke_ctx ctx, const char *path)</td></tr>
-<tr class="separator:gabda08999b0473bda2077b54c96be79e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga90c30e6adae77012e1360bb502b57c72"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__revoke.html#ga90c30e6adae77012e1360bb502b57c72">hx509_revoke_add_crl</a> (hx509_context context, hx509_revoke_ctx ctx, const char *path)</td></tr>
-<tr class="separator:ga90c30e6adae77012e1360bb502b57c72"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga3faf6194dc7429f8850e02b3ae2bbeeb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__revoke.html#ga3faf6194dc7429f8850e02b3ae2bbeeb">hx509_revoke_verify</a> (hx509_context context, hx509_revoke_ctx ctx, hx509_certs certs, time_t now, hx509_cert cert, hx509_cert parent_cert)</td></tr>
-<tr class="separator:ga3faf6194dc7429f8850e02b3ae2bbeeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaef3bddfe2f6b619ced673cf9aef07c37"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__revoke.html#gaef3bddfe2f6b619ced673cf9aef07c37">hx509_ocsp_request</a> (hx509_context context, hx509_certs reqcerts, hx509_certs pool, hx509_cert signer, const AlgorithmIdentifier *digest, heim_octet_string *request, heim_octet_string *nonce)</td></tr>
-<tr class="separator:gaef3bddfe2f6b619ced673cf9aef07c37"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab55b117222f61fd628744f2cd6d5a218"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__revoke.html#gab55b117222f61fd628744f2cd6d5a218">hx509_revoke_ocsp_print</a> (hx509_context context, const char *path, FILE *out)</td></tr>
-<tr class="separator:gab55b117222f61fd628744f2cd6d5a218"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>See the <a class="el" href="page_revoke.html">Revocation methods</a> for description and examples. </p>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="gaef3bddfe2f6b619ced673cf9aef07c37"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaef3bddfe2f6b619ced673cf9aef07c37">&#9670;&nbsp;</a></span>hx509_ocsp_request()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ocsp_request </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>reqcerts</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>pool</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>signer</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const AlgorithmIdentifier *&#160;</td>
- <td class="paramname"><em>digest</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_octet_string *&#160;</td>
- <td class="paramname"><em>request</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_octet_string *&#160;</td>
- <td class="paramname"><em>nonce</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Create an OCSP request for a set of certificates.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context </td></tr>
- <tr><td class="paramname">reqcerts</td><td>list of certificates to request ocsp data for </td></tr>
- <tr><td class="paramname">pool</td><td>certificate pool to use when signing </td></tr>
- <tr><td class="paramname">signer</td><td>certificate to use to sign the request </td></tr>
- <tr><td class="paramname">digest</td><td>the signing algorithm in the request, if NULL use the default signature algorithm, </td></tr>
- <tr><td class="paramname">request</td><td>the encoded request, free with free_heim_octet_string(). </td></tr>
- <tr><td class="paramname">nonce</td><td>nonce in the request, free with free_heim_octet_string().</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga90c30e6adae77012e1360bb502b57c72"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga90c30e6adae77012e1360bb502b57c72">&#9670;&nbsp;</a></span>hx509_revoke_add_crl()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_revoke_add_crl </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_revoke_ctx&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>path</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add a CRL file to the revokation context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>hx509 context </td></tr>
- <tr><td class="paramname">ctx</td><td>hx509 revokation context </td></tr>
- <tr><td class="paramname">path</td><td>path to file that is going to be added to the context.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gabda08999b0473bda2077b54c96be79e9"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gabda08999b0473bda2077b54c96be79e9">&#9670;&nbsp;</a></span>hx509_revoke_add_ocsp()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_revoke_add_ocsp </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_revoke_ctx&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>path</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add a OCSP file to the revokation context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>hx509 context </td></tr>
- <tr><td class="paramname">ctx</td><td>hx509 revokation context </td></tr>
- <tr><td class="paramname">path</td><td>path to file that is going to be added to the context.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gac0928df8a473e5a76fd8a2785d43ea9b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gac0928df8a473e5a76fd8a2785d43ea9b">&#9670;&nbsp;</a></span>hx509_revoke_free()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_revoke_free </td>
- <td>(</td>
- <td class="paramtype">hx509_revoke_ctx *&#160;</td>
- <td class="paramname"><em>ctx</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free a hx509 revokation context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>context to be freed </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga83057d3c52d4b298b92571d48cf7099e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga83057d3c52d4b298b92571d48cf7099e">&#9670;&nbsp;</a></span>hx509_revoke_init()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_revoke_init </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_revoke_ctx *&#160;</td>
- <td class="paramname"><em>ctx</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Allocate a revokation context. Free with <a class="el" href="group__hx509__revoke.html#gac0928df8a473e5a76fd8a2785d43ea9b">hx509_revoke_free()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">ctx</td><td>returns a newly allocated revokation context.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gab55b117222f61fd628744f2cd6d5a218"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gab55b117222f61fd628744f2cd6d5a218">&#9670;&nbsp;</a></span>hx509_revoke_ocsp_print()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_revoke_ocsp_print </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&#160;</td>
- <td class="paramname"><em>path</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">FILE *&#160;</td>
- <td class="paramname"><em>out</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Print the OCSP reply stored in a file.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context </td></tr>
- <tr><td class="paramname">path</td><td>path to a file with a OCSP reply </td></tr>
- <tr><td class="paramname">out</td><td>the out FILE descriptor to print the reply on</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga3faf6194dc7429f8850e02b3ae2bbeeb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga3faf6194dc7429f8850e02b3ae2bbeeb">&#9670;&nbsp;</a></span>hx509_revoke_verify()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_revoke_verify </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_revoke_ctx&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>certs</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">time_t&#160;</td>
- <td class="paramname"><em>now</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>parent_cert</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Check that a certificate is not expired according to a revokation context. Also need the parent certificte to the check OCSP parent identifier.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>hx509 context </td></tr>
- <tr><td class="paramname">ctx</td><td>hx509 revokation context </td></tr>
- <tr><td class="paramname">certs</td><td></td></tr>
- <tr><td class="paramname">now</td><td></td></tr>
- <tr><td class="paramname">cert</td><td></td></tr>
- <tr><td class="paramname">parent_cert</td><td></td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/group__hx509__verify.html b/doc/doxyout/hx509/html/group__hx509__verify.html
deleted file mode 100644
index 6b2f968dbf98..000000000000
--- a/doc/doxyout/hx509/html/group__hx509__verify.html
+++ /dev/null
@@ -1,720 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>hx509 verification functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="summary">
-<a href="#func-members">Functions</a> </div>
- <div class="headertitle">
-<div class="title">hx509 verification functions</div> </div>
-</div><!--header-->
-<div class="contents">
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gacf53ef0c8202b75d946b47266e4777da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#gacf53ef0c8202b75d946b47266e4777da">hx509_context_set_missing_revoke</a> (hx509_context context, int flag)</td></tr>
-<tr class="separator:gacf53ef0c8202b75d946b47266e4777da"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga53a78d7c374e238354600b754f8ef4c7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga53a78d7c374e238354600b754f8ef4c7">hx509_verify_init_ctx</a> (hx509_context context, hx509_verify_ctx *ctx)</td></tr>
-<tr class="separator:ga53a78d7c374e238354600b754f8ef4c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaa90ca3387075fbdf3ae014beda0b4108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#gaa90ca3387075fbdf3ae014beda0b4108">hx509_verify_destroy_ctx</a> (hx509_verify_ctx ctx)</td></tr>
-<tr class="separator:gaa90ca3387075fbdf3ae014beda0b4108"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaacc284cfe15ebfd4372aa0725d24e8a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#gaacc284cfe15ebfd4372aa0725d24e8a0">hx509_verify_attach_anchors</a> (hx509_verify_ctx ctx, hx509_certs set)</td></tr>
-<tr class="separator:gaacc284cfe15ebfd4372aa0725d24e8a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaf1e783c744e3ce3918d7c00f101f1fc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#gaaf1e783c744e3ce3918d7c00f101f1fc">hx509_verify_attach_revoke</a> (hx509_verify_ctx ctx, hx509_revoke_ctx revoke_ctx)</td></tr>
-<tr class="separator:gaaf1e783c744e3ce3918d7c00f101f1fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1490c2944163f25cf02377bae5d0ab37"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga1490c2944163f25cf02377bae5d0ab37">hx509_verify_set_time</a> (hx509_verify_ctx ctx, time_t t)</td></tr>
-<tr class="separator:ga1490c2944163f25cf02377bae5d0ab37"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga11a6fe7afbd5cee1af2dedeffcaad33c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga11a6fe7afbd5cee1af2dedeffcaad33c">hx509_verify_set_max_depth</a> (hx509_verify_ctx ctx, unsigned int max_depth)</td></tr>
-<tr class="separator:ga11a6fe7afbd5cee1af2dedeffcaad33c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga50cae1e3d318471ff444770cfec4b0a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga50cae1e3d318471ff444770cfec4b0a8">hx509_verify_set_proxy_certificate</a> (hx509_verify_ctx ctx, int boolean)</td></tr>
-<tr class="separator:ga50cae1e3d318471ff444770cfec4b0a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7c301cedab40be9a495dea2778202140"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga7c301cedab40be9a495dea2778202140">hx509_verify_set_strict_rfc3280_verification</a> (hx509_verify_ctx ctx, int boolean)</td></tr>
-<tr class="separator:ga7c301cedab40be9a495dea2778202140"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga1e84c0d08972e2dd87ba89f105183914"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga1e84c0d08972e2dd87ba89f105183914">hx509_verify_path</a> (hx509_context context, hx509_verify_ctx ctx, hx509_cert cert, hx509_certs pool)</td></tr>
-<tr class="separator:ga1e84c0d08972e2dd87ba89f105183914"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gae7e5973c6c9a66d599c44d9473ade82a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#gae7e5973c6c9a66d599c44d9473ade82a">hx509_ocsp_verify</a> (hx509_context context, time_t now, hx509_cert cert, int flags, const void *data, size_t length, time_t *expiration)</td></tr>
-<tr class="separator:gae7e5973c6c9a66d599c44d9473ade82a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga8b46fa446893a189808deabc2bc630d1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga8b46fa446893a189808deabc2bc630d1">hx509_crl_alloc</a> (hx509_context context, hx509_crl *crl)</td></tr>
-<tr class="separator:ga8b46fa446893a189808deabc2bc630d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga51a77209dd8f88e8ca52ad618dc62fe6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga51a77209dd8f88e8ca52ad618dc62fe6">hx509_crl_add_revoked_certs</a> (hx509_context context, hx509_crl crl, hx509_certs certs)</td></tr>
-<tr class="separator:ga51a77209dd8f88e8ca52ad618dc62fe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gaaff0e82873a480d002cc7f1b69f430e8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#gaaff0e82873a480d002cc7f1b69f430e8">hx509_crl_lifetime</a> (hx509_context context, hx509_crl crl, int delta)</td></tr>
-<tr class="separator:gaaff0e82873a480d002cc7f1b69f430e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gab59b054be16d4607aed4001ee071ecb6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#gab59b054be16d4607aed4001ee071ecb6">hx509_crl_free</a> (hx509_context context, hx509_crl *crl)</td></tr>
-<tr class="separator:gab59b054be16d4607aed4001ee071ecb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga7361cfd5f3b413ea4715977fae210760"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hx509__verify.html#ga7361cfd5f3b413ea4715977fae210760">hx509_crl_sign</a> (hx509_context context, hx509_cert signer, hx509_crl crl, heim_octet_string *os)</td></tr>
-<tr class="separator:ga7361cfd5f3b413ea4715977fae210760"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="gacf53ef0c8202b75d946b47266e4777da"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gacf53ef0c8202b75d946b47266e4777da">&#9670;&nbsp;</a></span>hx509_context_set_missing_revoke()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_context_set_missing_revoke </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>flag</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Selects if the <a class="el" href="group__hx509__revoke.html#ga3faf6194dc7429f8850e02b3ae2bbeeb">hx509_revoke_verify()</a> function is going to require the existans of a revokation method (OCSP, CRL) or not. Note that <a class="el" href="group__hx509__verify.html#ga1e84c0d08972e2dd87ba89f105183914">hx509_verify_path()</a>, <a class="el" href="group__hx509__cms.html#gaedaf18507474021a8d092ca6ac90a1ad">hx509_cms_verify_signed()</a>, and other function call <a class="el" href="group__hx509__revoke.html#ga3faf6194dc7429f8850e02b3ae2bbeeb">hx509_revoke_verify()</a>.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>hx509 context to change the flag for. </td></tr>
- <tr><td class="paramname">flag</td><td>zero, revokation method required, non zero missing revokation method ok </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga51a77209dd8f88e8ca52ad618dc62fe6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga51a77209dd8f88e8ca52ad618dc62fe6">&#9670;&nbsp;</a></span>hx509_crl_add_revoked_certs()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_crl_add_revoked_certs </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_crl&#160;</td>
- <td class="paramname"><em>crl</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>certs</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Add revoked certificate to an CRL context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">crl</td><td>the CRL to add the revoked certificate to. </td></tr>
- <tr><td class="paramname">certs</td><td>keyset of certificate to revoke.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga8b46fa446893a189808deabc2bc630d1"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga8b46fa446893a189808deabc2bc630d1">&#9670;&nbsp;</a></span>hx509_crl_alloc()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_crl_alloc </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_crl *&#160;</td>
- <td class="paramname"><em>crl</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Create a CRL context. Use <a class="el" href="group__hx509__verify.html#gab59b054be16d4607aed4001ee071ecb6">hx509_crl_free()</a> to free the CRL context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">crl</td><td>return pointer to a newly allocated CRL context.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gab59b054be16d4607aed4001ee071ecb6"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gab59b054be16d4607aed4001ee071ecb6">&#9670;&nbsp;</a></span>hx509_crl_free()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_crl_free </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_crl *&#160;</td>
- <td class="paramname"><em>crl</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free a CRL context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">crl</td><td>a CRL context to free. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gaaff0e82873a480d002cc7f1b69f430e8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaaff0e82873a480d002cc7f1b69f430e8">&#9670;&nbsp;</a></span>hx509_crl_lifetime()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_crl_lifetime </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_crl&#160;</td>
- <td class="paramname"><em>crl</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>delta</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the lifetime of a CRL context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">crl</td><td>a CRL context </td></tr>
- <tr><td class="paramname">delta</td><td>delta time the certificate is valid, library adds the current time to this.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga7361cfd5f3b413ea4715977fae210760"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga7361cfd5f3b413ea4715977fae210760">&#9670;&nbsp;</a></span>hx509_crl_sign()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_crl_sign </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>signer</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_crl&#160;</td>
- <td class="paramname"><em>crl</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">heim_octet_string *&#160;</td>
- <td class="paramname"><em>os</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Sign a CRL and return an encode certificate.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context. </td></tr>
- <tr><td class="paramname">signer</td><td>certificate to sign the CRL with </td></tr>
- <tr><td class="paramname">crl</td><td>the CRL to sign </td></tr>
- <tr><td class="paramname">os</td><td>return the signed and encoded CRL, free with free_heim_octet_string()</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gae7e5973c6c9a66d599c44d9473ade82a"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gae7e5973c6c9a66d599c44d9473ade82a">&#9670;&nbsp;</a></span>hx509_ocsp_verify()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_ocsp_verify </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">time_t&#160;</td>
- <td class="paramname"><em>now</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>flags</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const void *&#160;</td>
- <td class="paramname"><em>data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">size_t&#160;</td>
- <td class="paramname"><em>length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">time_t *&#160;</td>
- <td class="paramname"><em>expiration</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Verify that the certificate is part of the OCSP reply and it's not expired. Doesn't verify signature the OCSP reply or it's done by a authorized sender, that is assumed to be already done.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>a hx509 context </td></tr>
- <tr><td class="paramname">now</td><td>the time right now, if 0, use the current time. </td></tr>
- <tr><td class="paramname">cert</td><td>the certificate to verify </td></tr>
- <tr><td class="paramname">flags</td><td>flags control the behavior </td></tr>
- <tr><td class="paramname">data</td><td>pointer to the encode ocsp reply </td></tr>
- <tr><td class="paramname">length</td><td>the length of the encode ocsp reply </td></tr>
- <tr><td class="paramname">expiration</td><td>return the time the OCSP will expire and need to be rechecked.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="gaacc284cfe15ebfd4372aa0725d24e8a0"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaacc284cfe15ebfd4372aa0725d24e8a0">&#9670;&nbsp;</a></span>hx509_verify_attach_anchors()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_verify_attach_anchors </td>
- <td>(</td>
- <td class="paramtype">hx509_verify_ctx&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>set</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the trust anchors in the verification context, makes an reference to the keyset, so the consumer can free the keyset independent of the destruction of the verification context (ctx). If there already is a keyset attached, it's released.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>a verification context </td></tr>
- <tr><td class="paramname">set</td><td>a keyset containing the trust anchors. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gaaf1e783c744e3ce3918d7c00f101f1fc"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaaf1e783c744e3ce3918d7c00f101f1fc">&#9670;&nbsp;</a></span>hx509_verify_attach_revoke()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_verify_attach_revoke </td>
- <td>(</td>
- <td class="paramtype">hx509_verify_ctx&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_revoke_ctx&#160;</td>
- <td class="paramname"><em>revoke_ctx</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Attach an revocation context to the verfication context, , makes an reference to the revoke context, so the consumer can free the revoke context independent of the destruction of the verification context. If there is no revoke context, the verification process is NOT going to check any verification status.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>a verification context. </td></tr>
- <tr><td class="paramname">revoke_ctx</td><td>a revoke context. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="gaa90ca3387075fbdf3ae014beda0b4108"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaa90ca3387075fbdf3ae014beda0b4108">&#9670;&nbsp;</a></span>hx509_verify_destroy_ctx()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_verify_destroy_ctx </td>
- <td>(</td>
- <td class="paramtype">hx509_verify_ctx&#160;</td>
- <td class="paramname"><em>ctx</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Free an hx509 verification context.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>the context to be freed. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga53a78d7c374e238354600b754f8ef4c7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga53a78d7c374e238354600b754f8ef4c7">&#9670;&nbsp;</a></span>hx509_verify_init_ctx()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_verify_init_ctx </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_verify_ctx *&#160;</td>
- <td class="paramname"><em>ctx</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Allocate an verification context that is used fo control the verification process.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">ctx</td><td>returns a pointer to a hx509_verify_ctx object.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga1e84c0d08972e2dd87ba89f105183914"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga1e84c0d08972e2dd87ba89f105183914">&#9670;&nbsp;</a></span>hx509_verify_path()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int hx509_verify_path </td>
- <td>(</td>
- <td class="paramtype">hx509_context&#160;</td>
- <td class="paramname"><em>context</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_verify_ctx&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_cert&#160;</td>
- <td class="paramname"><em>cert</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">hx509_certs&#160;</td>
- <td class="paramname"><em>pool</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Build and verify the path for the certificate to the trust anchor specified in the verify context. The path is constructed from the certificate, the pool and the trust anchors.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">context</td><td>A hx509 context. </td></tr>
- <tr><td class="paramname">ctx</td><td>A hx509 verification context. </td></tr>
- <tr><td class="paramname">cert</td><td>the certificate to build the path from. </td></tr>
- <tr><td class="paramname">pool</td><td>A keyset of certificates to build the chain from.</td></tr>
- </table>
- </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>An hx509 error code, see <a class="el" href="group__hx509__error.html#ga15791abff76719acb531223fdcbcac87">hx509_get_error_string()</a>. </dd></dl>
-
-</div>
-</div>
-<a id="ga11a6fe7afbd5cee1af2dedeffcaad33c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga11a6fe7afbd5cee1af2dedeffcaad33c">&#9670;&nbsp;</a></span>hx509_verify_set_max_depth()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_verify_set_max_depth </td>
- <td>(</td>
- <td class="paramtype">hx509_verify_ctx&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">unsigned int&#160;</td>
- <td class="paramname"><em>max_depth</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the maximum depth of the certificate chain that the path builder is going to try.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>a verification context </td></tr>
- <tr><td class="paramname">max_depth</td><td>maxium depth of the certificate chain, include trust anchor. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga50cae1e3d318471ff444770cfec4b0a8"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga50cae1e3d318471ff444770cfec4b0a8">&#9670;&nbsp;</a></span>hx509_verify_set_proxy_certificate()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_verify_set_proxy_certificate </td>
- <td>(</td>
- <td class="paramtype">hx509_verify_ctx&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>boolean</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Allow or deny the use of proxy certificates</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>a verification context </td></tr>
- <tr><td class="paramname">boolean</td><td>if non zero, allow proxy certificates. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga7c301cedab40be9a495dea2778202140"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga7c301cedab40be9a495dea2778202140">&#9670;&nbsp;</a></span>hx509_verify_set_strict_rfc3280_verification()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_verify_set_strict_rfc3280_verification </td>
- <td>(</td>
- <td class="paramtype">hx509_verify_ctx&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&#160;</td>
- <td class="paramname"><em>boolean</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Select strict RFC3280 verification of certificiates. This means checking key usage on CA certificates, this will make version 1 certificiates unuseable.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>a verification context </td></tr>
- <tr><td class="paramname">boolean</td><td>if non zero, use strict verification. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-<a id="ga1490c2944163f25cf02377bae5d0ab37"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga1490c2944163f25cf02377bae5d0ab37">&#9670;&nbsp;</a></span>hx509_verify_set_time()</h2>
-
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void hx509_verify_set_time </td>
- <td>(</td>
- <td class="paramtype">hx509_verify_ctx&#160;</td>
- <td class="paramname"><em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">time_t&#160;</td>
- <td class="paramname"><em>t</em>&#160;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
-</div><div class="memdoc">
-<p>Set the clock time the the verification process is going to use. Used to check certificate in the past and future time. If not set the current time will be used.</p>
-<dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">ctx</td><td>a verification context. </td></tr>
- <tr><td class="paramname">t</td><td>the time the verifiation is using. </td></tr>
- </table>
- </dd>
-</dl>
-
-</div>
-</div>
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/index.html b/doc/doxyout/hx509/html/index.html
deleted file mode 100644
index 6c929ad62f27..000000000000
--- a/doc/doxyout/hx509/html/index.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Heimdal PKIX/X.509 library</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">Heimdal PKIX/X.509 library </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><h1><a class="anchor" id="intro"></a>
-Introduction</h1>
-<p>Heimdal libhx509 library is a implementation of the PKIX/X.509 and related protocols.</p>
-<p>PKIX/X.509 is ...</p>
-<p>Sections in this manual are:</p><ul>
-<li><a class="el" href="page_name.html">PKIX/X.509 Names</a></li>
-<li><a class="el" href="page_cert.html">The basic certificate</a></li>
-<li><a class="el" href="page_keyset.html">Certificate store operations</a></li>
-<li><a class="el" href="page_error.html">Hx509 error reporting functions</a></li>
-<li><a class="el" href="page_lock.html">Locking and unlocking certificates and encrypted data.</a></li>
-<li><a class="el" href="page_cms.html">CMS/PKCS7 message functions.</a></li>
-<li><a class="el" href="page_ca.html">Hx509 CA functions</a></li>
-<li><a class="el" href="page_revoke.html">Revocation methods</a></li>
-<li><a class="el" href="page_print.html">Hx509 printing functions</a></li>
-<li><a class="el" href="page_env.html">Hx509 environment functions</a></li>
-</ul>
-<p>The project web page: <a href="http://www.h5l.org/">http://www.h5l.org/</a> </p>
-</div></div><!-- PageDoc -->
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/jquery.js b/doc/doxyout/hx509/html/jquery.js
deleted file mode 100644
index 103c32d79b74..000000000000
--- a/doc/doxyout/hx509/html/jquery.js
+++ /dev/null
@@ -1,35 +0,0 @@
-/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Pt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k});
-/*! jQuery UI - v1.12.1 - 2019-01-27
-* http://jqueryui.com
-* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/resizable.js, widgets/mouse.js
-* Copyright jQuery Foundation and other contributors; Licensed MIT */
-
-(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}t.ui=t.ui||{},t.ui.version="1.12.1";var i=0,s=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0];e=e.split(".")[1];var l=h+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,n,o=s.call(arguments,1),a=0,r=o.length;r>a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,m,g,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),x={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,m=_.offset,g=t.extend({},m),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):h.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=h.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),x[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?g.left+=p:"center"===n.at[0]&&(g.left+=p/2),"bottom"===n.at[1]?g.top+=f:"center"===n.at[1]&&(g.top+=f/2),u=e(x.at,p,f),g.left+=u[0],g.top+=u[1],this.each(function(){var s,r,h=t(this),l=h.outerWidth(),c=h.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),k=l+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},g),T=e(x.my,h.outerWidth(),h.outerHeight());"right"===n.my[0]?D.left-=l:"center"===n.my[0]&&(D.left-=l/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=T[0],D.top+=T[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:l,elemHeight:c,collisionPosition:s,collisionWidth:k,collisionHeight:C,offset:[u[0]+T[0],u[1]+T[1]],my:n.my,at:n.at,within:b,elem:h})}),n.using&&(r=function(t){var e=m.left-D.left,i=e+p-l,s=m.top-D.top,r=s+f-c,u={target:{element:v,left:m.left,top:m.top,width:p,height:f},element:{element:h,left:D.left,top:D.top,width:l,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("<div>"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element
-},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/**
- * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler
- * Licensed under MIT
- * @author Ariel Flesler
- * @version 2.1.2
- */
-;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1<b.axis.length;u&&(d/=2);b.offset=h(b.offset);b.over=h(b.over);return this.each(function(){function k(a){var k=$.extend({},b,{queue:!0,duration:d,complete:a&&function(){a.call(q,e,b)}});r.animate(f,k)}if(null!==a){var l=n(this),q=l?this.contentWindow||window:this,r=$(q),e=a,f={},t;switch(typeof e){case "number":case "string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(e)){e= h(e);break}e=l?$(e):$(e,q);case "object":if(e.length===0)return;if(e.is||e.style)t=(e=$(e)).offset()}var v=$.isFunction(b.offset)&&b.offset(q,e)||b.offset;$.each(b.axis.split(""),function(a,c){var d="x"===c?"Left":"Top",m=d.toLowerCase(),g="scroll"+d,h=r[g](),n=p.max(q,c);t?(f[g]=t[m]+(l?0:h-r.offset()[m]),b.margin&&(f[g]-=parseInt(e.css("margin"+d),10)||0,f[g]-=parseInt(e.css("border"+d+"Width"),10)||0),f[g]+=v[m]||0,b.over[m]&&(f[g]+=e["x"===c?"width":"height"]()*b.over[m])):(d=e[m],f[g]=d.slice&& "%"===d.slice(-1)?parseFloat(d)/100*n:d);b.limit&&/^\d+$/.test(f[g])&&(f[g]=0>=f[g]?0:Math.min(f[g],n));!a&&1<b.axis.length&&(h===f[g]?f={}:u&&(k(b.onAfterFirst),f={}))});k(b.onAfter)}})};p.max=function(a,d){var b="x"===d?"Width":"Height",h="scroll"+b;if(!n(a))return a[h]-$(a)[b.toLowerCase()]();var b="client"+b,k=a.ownerDocument||a.document,l=k.documentElement,k=k.body;return Math.max(l[h],k[h])-Math.min(l[b],k[b])};$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(a){return $(a.elem)[a.prop]()}, set:function(a){var d=this.get(a);if(a.options.interrupt&&a._last&&a._last!==d)return $(a.elem).stop();var b=Math.round(a.now);d!==b&&($(a.elem)[a.prop](b),a._last=this.get(a))}};return p});
-/*!
- PowerTip v1.3.1 (2018-04-15)
- https://stevenbenner.github.io/jquery-powertip/
- Copyright (c) 2018 Steven Benner (http://stevenbenner.com/).
- Released under MIT license.
- https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt
-*/
-(function(root,factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof module==="object"&&module.exports){module.exports=factory(require("jquery"))}else{factory(root.jQuery)}})(this,function($){var $document=$(document),$window=$(window),$body=$("body");var DATA_DISPLAYCONTROLLER="displayController",DATA_HASACTIVEHOVER="hasActiveHover",DATA_FORCEDOPEN="forcedOpen",DATA_HASMOUSEMOVE="hasMouseMove",DATA_MOUSEONTOTIP="mouseOnToPopup",DATA_ORIGINALTITLE="originalTitle",DATA_POWERTIP="powertip",DATA_POWERTIPJQ="powertipjq",DATA_POWERTIPTARGET="powertiptarget",EVENT_NAMESPACE=".powertip",RAD2DEG=180/Math.PI,MOUSE_EVENTS=["click","dblclick","mousedown","mouseup","mousemove","mouseover","mouseout","mouseenter","mouseleave","contextmenu"];var session={tooltips:null,isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,closeDelayTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var Collision={none:0,top:1,bottom:2,left:4,right:8};$.fn.powerTip=function(opts,arg){var targetElements=this,options,tipController;if(!targetElements.length){return targetElements}if($.type(opts)==="string"&&$.powerTip[opts]){return $.powerTip[opts].call(targetElements,targetElements,arg)}options=$.extend({},$.fn.powerTip.defaults,opts);tipController=new TooltipController(options);initTracking();targetElements.each(function elementSetup(){var $this=$(this),dataPowertip=$this.data(DATA_POWERTIP),dataElem=$this.data(DATA_POWERTIPJQ),dataTarget=$this.data(DATA_POWERTIPTARGET),title=$this.attr("title");if(!dataPowertip&&!dataTarget&&!dataElem&&title){$this.data(DATA_POWERTIP,title);$this.data(DATA_ORIGINALTITLE,title);$this.removeAttr("title")}$this.data(DATA_DISPLAYCONTROLLER,new DisplayController($this,options,tipController))});if(!options.manual){$.each(options.openEvents,function(idx,evt){if($.inArray(evt,options.closeEvents)>-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference<options.intentSensitivity){cancelClose();closeAnyDelayed();tipController.showTip(element)}else{session.previousX=session.currentX;session.previousY=session.currentY;openTooltip()}}function cancelTimer(stopClose){hoverTimer=clearTimeout(hoverTimer);if(session.closeDelayTimeout&&myCloseDelay===session.closeDelayTimeout||stopClose){cancelClose()}}function cancelClose(){session.closeDelayTimeout=clearTimeout(session.closeDelayTimeout);session.delayInProgress=false}function closeAnyDelayed(){if(session.delayInProgress&&session.activeHover&&!session.activeHover.is(element)){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide(true)}}function repositionTooltip(){tipController.resetPosition(element)}this.show=openTooltip;this.hide=closeTooltip;this.cancel=cancelTimer;this.resetPosition=repositionTooltip}function PlacementCalculator(){function computePlacementCoords(element,placement,tipWidth,tipHeight,offset){var placementBase=placement.split("-")[0],coords=new CSSCoordinates,position;if(isSvgElement(element)){position=getSvgPlacement(element,placementBase)}else{position=getHtmlPlacement(element,placementBase)}switch(placement){case"n":coords.set("left",position.left-tipWidth/2);coords.set("bottom",session.windowHeight-position.top+offset);break;case"e":coords.set("left",position.left+offset);coords.set("top",position.top-tipHeight/2);break;case"s":coords.set("left",position.left-tipWidth/2);coords.set("top",position.top+offset);break;case"w":coords.set("top",position.top-tipHeight/2);coords.set("right",session.windowWidth-position.left+offset);break;case"nw":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"nw-alt":coords.set("left",position.left);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne":coords.set("left",position.left-20);coords.set("bottom",session.windowHeight-position.top+offset);break;case"ne-alt":coords.set("bottom",session.windowHeight-position.top+offset);coords.set("right",session.windowWidth-position.left);break;case"sw":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left-20);break;case"sw-alt":coords.set("left",position.left);coords.set("top",position.top+offset);break;case"se":coords.set("left",position.left-20);coords.set("top",position.top+offset);break;case"se-alt":coords.set("top",position.top+offset);coords.set("right",session.windowWidth-position.left);break}return coords}function getHtmlPlacement(element,placement){var objectOffset=element.offset(),objectWidth=element.outerWidth(),objectHeight=element.outerHeight(),left,top;switch(placement){case"n":left=objectOffset.left+objectWidth/2;top=objectOffset.top;break;case"e":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight/2;break;case"s":left=objectOffset.left+objectWidth/2;top=objectOffset.top+objectHeight;break;case"w":left=objectOffset.left;top=objectOffset.top+objectHeight/2;break;case"nw":left=objectOffset.left;top=objectOffset.top;break;case"ne":left=objectOffset.left+objectWidth;top=objectOffset.top;break;case"sw":left=objectOffset.left;top=objectOffset.top+objectHeight;break;case"se":left=objectOffset.left+objectWidth;top=objectOffset.top+objectHeight;break}return{top:top,left:left}}function getSvgPlacement(element,placement){var svgElement=element.closest("svg")[0],domElement=element[0],point=svgElement.createSVGPoint(),boundingBox=domElement.getBBox(),matrix=domElement.getScreenCTM(),halfWidth=boundingBox.width/2,halfHeight=boundingBox.height/2,placements=[],placementKeys=["nw","n","ne","e","se","s","sw","w"],coords,rotation,steps,x;function pushPlacement(){placements.push(point.matrixTransform(matrix))}point.x=boundingBox.x;point.y=boundingBox.y;pushPlacement();point.x+=halfWidth;pushPlacement();point.x+=halfWidth;pushPlacement();point.y+=halfHeight;pushPlacement();point.y+=halfHeight;pushPlacement();point.x-=halfWidth;pushPlacement();point.x-=halfWidth;pushPlacement();point.y-=halfHeight;pushPlacement();if(placements[0].y!==placements[1].y||placements[0].x!==placements[7].x){rotation=Math.atan2(matrix.b,matrix.a)*RAD2DEG;steps=Math.ceil((rotation%360-22.5)/45);if(steps<1){steps+=8}while(steps--){placementKeys.push(placementKeys.shift())}}for(x=0;x<placements.length;x++){if(placementKeys[x]===placement){coords=placements[x];break}}return{top:coords.y+session.scrollTop,left:coords.x+session.scrollLeft}}this.compute=computePlacementCoords}function TooltipController(options){var placementCalculator=new PlacementCalculator,tipElement=$("#"+options.popupId);if(tipElement.length===0){tipElement=$("<div/>",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.top<viewportTop||Math.abs(coords.bottom-session.windowHeight)-elementHeight<viewportTop){collisions|=Collision.top}if(coords.top+elementHeight>viewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.left<viewportLeft||coords.right+elementWidth>viewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right<viewportLeft){collisions|=Collision.right}return collisions}function countFlags(value){var count=0;while(value){value&=value-1;count++}return count}return $.powerTip});/*!
- * jQuery UI Touch Punch 0.2.3
- *
- * Copyright 2011–2014, Dave Furfero
- * Dual licensed under the MIT or GPL Version 2 licenses.
- *
- * Depends:
- * jquery.ui.widget.js
- * jquery.ui.mouse.js
- */
-!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017
- * http://www.smartmenus.org/
- * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("<span/>").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('<div class="sm-jquery-disable-overlay"/>').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('<span class="scroll-up"><span class="scroll-up-arrow"></span></span>')[0],$('<span class="scroll-down"><span class="scroll-down-arrow"></span></span>')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y<o.upEnd)&&a.eq(o.up?1:0).show(),o.y==n)mouse&&a.eq(o.up?0:1).hide(),this.menuScrollStop(t);else if(!e){this.opts.scrollAccelerate&&o.step<this.opts.scrollStep&&(o.step+=.2);var h=this;this.scrollTimeout=requestAnimationFrame(function(){h.menuScroll(t)})}},menuScrollMousewheel:function(t,e){if(this.getClosestMenu(e.target)==t[0]){e=e.originalEvent;var i=(e.wheelDelta||-e.detail)>0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file
diff --git a/doc/doxyout/hx509/html/menu.js b/doc/doxyout/hx509/html/menu.js
deleted file mode 100644
index 2fe2214f26aa..000000000000
--- a/doc/doxyout/hx509/html/menu.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- @licstart The following is the entire license notice for the JavaScript code in this file.
-
- The MIT License (MIT)
-
- Copyright (C) 1997-2020 by Dimitri van Heesch
-
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software
- and associated documentation files (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge, publish, distribute,
- sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all copies or
- substantial portions of the Software.
-
- 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. 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.
-
- @licend The above is the entire license notice for the JavaScript code in this file
- */
-function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
- function makeTree(data,relPath) {
- var result='';
- if ('children' in data) {
- result+='<ul>';
- for (var i in data.children) {
- result+='<li><a href="'+relPath+data.children[i].url+'">'+
- data.children[i].text+'</a>'+
- makeTree(data.children[i],relPath)+'</li>';
- }
- result+='</ul>';
- }
- return result;
- }
-
- $('#main-nav').append(makeTree(menudata,relPath));
- $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
- if (searchEnabled) {
- if (serverSide) {
- $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+relPath+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.svg" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
- } else {
- $('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.svg" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.svg" alt=""/></a></span></div></li>');
- }
- }
- $('#main-menu').smartmenus();
-}
-/* @license-end */
diff --git a/doc/doxyout/hx509/html/menudata.js b/doc/doxyout/hx509/html/menudata.js
deleted file mode 100644
index d7c847bce623..000000000000
--- a/doc/doxyout/hx509/html/menudata.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- @licstart The following is the entire license notice for the JavaScript code in this file.
-
- The MIT License (MIT)
-
- Copyright (C) 1997-2020 by Dimitri van Heesch
-
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software
- and associated documentation files (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge, publish, distribute,
- sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all copies or
- substantial portions of the Software.
-
- 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. 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.
-
- @licend The above is the entire license notice for the JavaScript code in this file
-*/
-var menudata={children:[
-{text:"Main Page",url:"index.html"},
-{text:"Related Pages",url:"pages.html"},
-{text:"Modules",url:"modules.html"}]}
diff --git a/doc/doxyout/hx509/html/modules.html b/doc/doxyout/hx509/html/modules.html
deleted file mode 100644
index 000222c73057..000000000000
--- a/doc/doxyout/hx509/html/modules.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Modules</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Modules</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here is a list of all modules:</div><div class="directory">
-<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hx509.html" target="_self">hx509 library</a></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hx509__error.html" target="_self">hx509 error functions</a></td><td class="desc"></td></tr>
-<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hx509__cert.html" target="_self">hx509 certificate functions</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hx509__keyset.html" target="_self">hx509 certificate store functions</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hx509__cms.html" target="_self">hx509 CMS/pkcs7 functions</a></td><td class="desc"></td></tr>
-<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hx509__crypto.html" target="_self">hx509 crypto functions</a></td><td class="desc"></td></tr>
-<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hx509__misc.html" target="_self">hx509 misc functions</a></td><td class="desc"></td></tr>
-<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hx509__name.html" target="_self">hx509 name functions</a></td><td class="desc"></td></tr>
-<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hx509__revoke.html" target="_self">hx509 revokation checking functions</a></td><td class="desc"></td></tr>
-<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hx509__verify.html" target="_self">hx509 verification functions</a></td><td class="desc"></td></tr>
-<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hx509__lock.html" target="_self">hx509 lock functions</a></td><td class="desc"></td></tr>
-<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hx509__query.html" target="_self">hx509 query functions</a></td><td class="desc"></td></tr>
-<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hx509__ca.html" target="_self">hx509 CA functions</a></td><td class="desc"></td></tr>
-<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hx509__peer.html" target="_self">hx509 certificate selecting functions</a></td><td class="desc"></td></tr>
-<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hx509__print.html" target="_self">hx509 printing functions</a></td><td class="desc"></td></tr>
-<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="group__hx509__env.html" target="_self">hx509 environment functions</a></td><td class="desc"></td></tr>
-</table>
-</div><!-- directory -->
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/nav_f.png b/doc/doxyout/hx509/html/nav_f.png
deleted file mode 100644
index 72a58a529ed3..000000000000
--- a/doc/doxyout/hx509/html/nav_f.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/nav_g.png b/doc/doxyout/hx509/html/nav_g.png
deleted file mode 100644
index 2093a237a94f..000000000000
--- a/doc/doxyout/hx509/html/nav_g.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/nav_h.png b/doc/doxyout/hx509/html/nav_h.png
deleted file mode 100644
index 33389b101d9c..000000000000
--- a/doc/doxyout/hx509/html/nav_h.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/open.png b/doc/doxyout/hx509/html/open.png
deleted file mode 100644
index 30f75c7efe2d..000000000000
--- a/doc/doxyout/hx509/html/open.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/page_ca.html b/doc/doxyout/hx509/html/page_ca.html
deleted file mode 100644
index a987aa60f7bc..000000000000
--- a/doc/doxyout/hx509/html/page_ca.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Hx509 CA functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">Hx509 CA functions </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><p>See the library functions here: <a class="el" href="group__hx509__ca.html">hx509 CA functions</a> </p>
-</div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/page_cert.html b/doc/doxyout/hx509/html/page_cert.html
deleted file mode 100644
index aa9c5d4e5ee8..000000000000
--- a/doc/doxyout/hx509/html/page_cert.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>The basic certificate</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">The basic certificate </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><p>The basic hx509 cerificate object in hx509 is hx509_cert. The hx509_cert object is representing one X509/PKIX certificate and associated attributes; like private key, friendly name, etc.</p>
-<p>A hx509_cert object is usully found via the keyset interfaces (<a class="el" href="page_keyset.html">Certificate store operations</a>), but its also possible to create a certificate directly from a parsed object with <a class="el" href="group__hx509__cert.html#ga31c3f5e9a6d7892729c56f0f86a76f4a">hx509_cert_init()</a> and <a class="el" href="group__hx509__cert.html#ga134b62e36ffcf09bbf866a88bc4c5010">hx509_cert_init_data()</a>.</p>
-<p>See the library functions here: <a class="el" href="group__hx509__cert.html">hx509 certificate functions</a> </p>
-</div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/page_cms.html b/doc/doxyout/hx509/html/page_cms.html
deleted file mode 100644
index 48a2397fbee2..000000000000
--- a/doc/doxyout/hx509/html/page_cms.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>CMS/PKCS7 message functions.</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">CMS/PKCS7 message functions. </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><p>CMS is defined in RFC 3369 and is an continuation of the RSA Labs standard PKCS7. The basic messages in CMS is</p>
-<ul>
-<li>SignedData Data signed with private key (RSA, DSA, ECDSA) or secret (symmetric) key</li>
-<li>EnvelopedData Data encrypted with private key (RSA)</li>
-<li>EncryptedData Data encrypted with secret (symmetric) key.</li>
-<li>ContentInfo Wrapper structure including type and data.</li>
-</ul>
-<p>See the library functions here: <a class="el" href="group__hx509__cms.html">hx509 CMS/pkcs7 functions</a> </p>
-</div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/page_env.html b/doc/doxyout/hx509/html/page_env.html
deleted file mode 100644
index 4acde3a0a3fd..000000000000
--- a/doc/doxyout/hx509/html/page_env.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Hx509 environment functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">Hx509 environment functions </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><p>See the library functions here: <a class="el" href="group__hx509__env.html">hx509 environment functions</a> </p>
-</div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/page_error.html b/doc/doxyout/hx509/html/page_error.html
deleted file mode 100644
index 60aef31bb106..000000000000
--- a/doc/doxyout/hx509/html/page_error.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Hx509 error reporting functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">Hx509 error reporting functions </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><p>See the library functions here: <a class="el" href="group__hx509__error.html">hx509 error functions</a> </p>
-</div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/page_keyset.html b/doc/doxyout/hx509/html/page_keyset.html
deleted file mode 100644
index e408f49a101a..000000000000
--- a/doc/doxyout/hx509/html/page_keyset.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Certificate store operations</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">Certificate store operations </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><p>Type of certificates store:</p><ul>
-<li>MEMORY In memory based format. Doesnt support storing.</li>
-<li>FILE FILE supports raw DER certicates and PEM certicates. When PEM is used the file can contain may certificates and match private keys. Support storing the certificates. DER format only supports on certificate and no private key.</li>
-<li>PEM-FILE Same as FILE, defaulting to PEM encoded certificates.</li>
-<li>PEM-FILE Same as FILE, defaulting to DER encoded certificates.</li>
-<li>PKCS11</li>
-<li>PKCS12</li>
-<li>DIR</li>
-<li>KEYCHAIN Apple Mac OS X KeyChain backed keychain object.</li>
-</ul>
-<p>See the library functions here: <a class="el" href="group__hx509__keyset.html">hx509 certificate store functions</a> </p>
-</div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/page_lock.html b/doc/doxyout/hx509/html/page_lock.html
deleted file mode 100644
index 3975feca6e48..000000000000
--- a/doc/doxyout/hx509/html/page_lock.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Locking and unlocking certificates and encrypted data.</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">Locking and unlocking certificates and encrypted data. </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><p>See the library functions here: <a class="el" href="group__hx509__lock.html">hx509 lock functions</a> </p>
-</div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/page_name.html b/doc/doxyout/hx509/html/page_name.html
deleted file mode 100644
index 2c1386e1c0af..000000000000
--- a/doc/doxyout/hx509/html/page_name.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>PKIX/X.509 Names</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">PKIX/X.509 Names </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><p>There are several names in PKIX/X.509, GeneralName and Name.</p>
-<p>A Name consists of an ordered list of Relative Distinguished Names (RDN). Each RDN consists of an unordered list of typed strings. The types are defined by OID and have long and short description. For example id-at-commonName (2.5.4.3) have the long name CommonName and short name CN. The string itself can be of several encoding, UTF8, UTF16, Teltex string, etc. The type limit what encoding should be used.</p>
-<p>GeneralName is a broader nametype that can contains al kind of stuff like Name, IP addresses, partial Name, etc.</p>
-<p>Name is mapped into a hx509_name object.</p>
-<p>Parse and string name into a hx509_name object with <a class="el" href="group__hx509__name.html#ga0565f607a4e57d0911ee7081ad9548c5">hx509_parse_name()</a>, make it back into string representation with <a class="el" href="group__hx509__name.html#ga1bd74b34e0aa88b083678ba231d38718">hx509_name_to_string()</a>.</p>
-<p>Name string are defined rfc2253, rfc1779 and X.501.</p>
-<p>See the library functions here: <a class="el" href="group__hx509__name.html">hx509 name functions</a> </p>
-</div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/page_peer.html b/doc/doxyout/hx509/html/page_peer.html
deleted file mode 100644
index 35baa7b7f44b..000000000000
--- a/doc/doxyout/hx509/html/page_peer.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Hx509 crypto selecting functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">Hx509 crypto selecting functions </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><p>Peer info structures are used togeter with hx509_crypto_select() to select the best avaible crypto algorithm to use.</p>
-<p>See the library functions here: <a class="el" href="group__hx509__peer.html">hx509 certificate selecting functions</a> </p>
-</div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/page_print.html b/doc/doxyout/hx509/html/page_print.html
deleted file mode 100644
index 5791cbcc030e..000000000000
--- a/doc/doxyout/hx509/html/page_print.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Hx509 printing functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">Hx509 printing functions </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><p>See the library functions here: <a class="el" href="group__hx509__print.html">hx509 printing functions</a> </p>
-</div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/page_revoke.html b/doc/doxyout/hx509/html/page_revoke.html
deleted file mode 100644
index 12b7ffb18b1b..000000000000
--- a/doc/doxyout/hx509/html/page_revoke.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Revocation methods</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="PageDoc"><div class="header">
- <div class="headertitle">
-<div class="title">Revocation methods </div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock"><p>There are two revocation method for PKIX/X.509: CRL and OCSP. Revocation is needed if the private key is lost and stolen. Depending on how picky you are, you might want to make revocation for destroyed private keys too (smartcard broken), but that should not be a problem.</p>
-<p>CRL is a list of certifiates that have expired.</p>
-<p>OCSP is an online checking method where the requestor sends a list of certificates to the OCSP server to return a signed reply if they are valid or not. Some services sends a OCSP reply as part of the hand-shake to make the revoktion decision simpler/faster for the client. </p>
-</div></div><!-- contents -->
-</div><!-- PageDoc -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/pages.html b/doc/doxyout/hx509/html/pages.html
deleted file mode 100644
index 2c19edda40cc..000000000000
--- a/doc/doxyout/hx509/html/pages.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
-<title>Related Pages</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<p>
-<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a>
-</p>
-<!-- end of header marker -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
- initMenu('',false,false,'search.php','Search');
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-</div><!-- top -->
-<div class="header">
- <div class="headertitle">
-<div class="title">Related Pages</div> </div>
-</div><!--header-->
-<div class="contents">
-<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
-<table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="page_ca.html" target="_self">Hx509 CA functions</a></td><td class="desc"></td></tr>
-<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="page_cert.html" target="_self">The basic certificate</a></td><td class="desc"></td></tr>
-<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="page_cms.html" target="_self">CMS/PKCS7 message functions.</a></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="page_env.html" target="_self">Hx509 environment functions</a></td><td class="desc"></td></tr>
-<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="page_error.html" target="_self">Hx509 error reporting functions</a></td><td class="desc"></td></tr>
-<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="page_keyset.html" target="_self">Certificate store operations</a></td><td class="desc"></td></tr>
-<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="page_lock.html" target="_self">Locking and unlocking certificates and encrypted data.</a></td><td class="desc"></td></tr>
-<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="page_name.html" target="_self">PKIX/X.509 Names</a></td><td class="desc"></td></tr>
-<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="page_peer.html" target="_self">Hx509 crypto selecting functions</a></td><td class="desc"></td></tr>
-<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="page_print.html" target="_self">Hx509 printing functions</a></td><td class="desc"></td></tr>
-<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="page_revoke.html" target="_self">Revocation methods</a></td><td class="desc"></td></tr>
-</table>
-</div><!-- directory -->
-</div><!-- contents -->
-<hr size="1"><address style="text-align: right;"><small>
-Generated on Tue Nov 15 2022 14:04:25 for Heimdal x509 library by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.9.1</small></address>
-</body>
-</html>
diff --git a/doc/doxyout/hx509/html/splitbar.png b/doc/doxyout/hx509/html/splitbar.png
deleted file mode 100644
index fe895f2c5817..000000000000
--- a/doc/doxyout/hx509/html/splitbar.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/sync_off.png b/doc/doxyout/hx509/html/sync_off.png
deleted file mode 100644
index 3b443fc62892..000000000000
--- a/doc/doxyout/hx509/html/sync_off.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/sync_on.png b/doc/doxyout/hx509/html/sync_on.png
deleted file mode 100644
index e08320fb64e6..000000000000
--- a/doc/doxyout/hx509/html/sync_on.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/tab_a.png b/doc/doxyout/hx509/html/tab_a.png
deleted file mode 100644
index 3b725c41c5a5..000000000000
--- a/doc/doxyout/hx509/html/tab_a.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/tab_b.png b/doc/doxyout/hx509/html/tab_b.png
deleted file mode 100644
index e2b4a8638cb3..000000000000
--- a/doc/doxyout/hx509/html/tab_b.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/tab_h.png b/doc/doxyout/hx509/html/tab_h.png
deleted file mode 100644
index fd5cb705488e..000000000000
--- a/doc/doxyout/hx509/html/tab_h.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/tab_s.png b/doc/doxyout/hx509/html/tab_s.png
deleted file mode 100644
index ab478c95b673..000000000000
--- a/doc/doxyout/hx509/html/tab_s.png
+++ /dev/null
Binary files differ
diff --git a/doc/doxyout/hx509/html/tabs.css b/doc/doxyout/hx509/html/tabs.css
deleted file mode 100644
index 85a0cd5b5857..000000000000
--- a/doc/doxyout/hx509/html/tabs.css
+++ /dev/null
@@ -1 +0,0 @@
-.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file