diff --git a/ceo/utils.py b/ceo/utils.py index 57c62ba..abc96bb 100644 --- a/ceo/utils.py +++ b/ceo/utils.py @@ -136,6 +136,8 @@ def user_dict_kv(d: Dict) -> List[Tuple[str]]: pairs.append(('non-member terms', ','.join(_terms))) if 'password' in d: pairs.append(('password', d['password'])) + if 'groups' in d: + pairs.append(('groups', ','.join(d['groups']))) return pairs diff --git a/ceod/api/members.py b/ceod/api/members.py index 0fe36fb..5557c49 100644 --- a/ceod/api/members.py +++ b/ceod/api/members.py @@ -71,7 +71,9 @@ def get_user(auth_user: str, username: str): get_forwarding_addresses = True ldap_srv = component.getUtility(ILDAPService) user = ldap_srv.get_user(username) - return user.to_dict(get_forwarding_addresses) + user_dict = user.to_dict(get_forwarding_addresses) + user_dict['groups'] = ldap_srv.get_groups_for_user(username) + return user_dict @bp.route('/', methods=['PATCH']) diff --git a/ceod/model/LDAPService.py b/ceod/model/LDAPService.py index c15f916..cb25462 100644 --- a/ceod/model/LDAPService.py +++ b/ceod/model/LDAPService.py @@ -103,7 +103,7 @@ class LDAPService: conn.search(self.ldap_groups_base, f'(uniqueMember={self.uid_to_dn(username)})', attributes=['cn']) - return [entry.cn.value for entry in conn.entries] + return sorted([entry.cn.value for entry in conn.entries]) def get_display_info_for_users(self, usernames: List[str]) -> List[Dict[str, str]]: if not usernames: diff --git a/docs/openapi.yaml b/docs/openapi.yaml index 8361a97..3bbe59d 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -942,6 +942,11 @@ components: $ref: "#/components/schemas/NonMemberTerms" forwarding_addresses: $ref: "#/components/schemas/ForwardingAddresses" + groups: + type: array + description: Groups for which this user is a member of + items: + $ref: "#/components/schemas/GroupCN" UWLDAPUser: type: object properties: diff --git a/docs/redoc-static.html b/docs/redoc-static.html index f857536..23f935e 100644 --- a/docs/redoc-static.html +++ b/docs/redoc-static.html @@ -13,34 +13,1837 @@ } "},this.getStyleTags=function(){return e.sealed?Ho(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return Ho(2);var r=((t={})[Uo]="",t["data-styled-version"]="5.3.0",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),o=oi();return o&&(r.nonce=o),[n.createElement("style",To({},r,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new pi({isServer:!0}),this.sealed=!1}var t=e.prototype;return t.collectStyles=function(e){return this.sealed?Ho(2):n.createElement(Ci,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return Ho(3)},e}(),aa=function(e){var t=n.forwardRef((function(t,r){var o=(0,n.useContext)(Qi),i=e.defaultProps,a=zi(t,o,i);return n.createElement(e,To({},t,{theme:a,ref:r}))}));return jo()(t,e),t.displayName="WithTheme("+Fo(e)+")",t},sa=function(){return(0,n.useContext)(Qi)},la={StyleSheet:pi,masterSheet:Ei},ca=ta;const{default:ua,css:pa,createGlobalStyle:da,keyframes:fa,ThemeProvider:ha}=e,ma=(e,t,n)=>(...r)=>pa` + @media ${t?"print, ":""} screen and (max-width: ${t=>t.theme.breakpoints[e]}) ${n||""} { + ${pa(...r)}; + } + `;var ga=ua;function ya(e){return t=>{if(t.theme.extensionsHook)return t.theme.extensionsHook(e,t)}}const va=ga.div` + padding: 20px; + color: red; +`;class ba extends n.Component{constructor(e){super(e),this.state={error:void 0}}componentDidCatch(e){return this.setState({error:e}),!1}render(){return this.state.error?n.createElement(va,null,n.createElement("h1",null,"Something went wrong..."),n.createElement("small",null," ",this.state.error.message," "),n.createElement("p",null,n.createElement("details",null,n.createElement("summary",null,"Stack trace"),n.createElement("pre",null,this.state.error.stack))),n.createElement("small",null," ReDoc Version: ","2.0.0-rc.77")," ",n.createElement("br",null),n.createElement("small",null," Commit: ","580f883")):n.createElement(n.Fragment,null,n.Children.only(this.props.children))}}const wa=fa` + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(360deg); + } +`,xa=ga((e=>n.createElement("svg",{className:e.className,version:"1.1",width:"512",height:"512",viewBox:"0 0 512 512"},n.createElement("path",{d:"M275.682 147.999c0 10.864-8.837 19.661-19.682 19.661v0c-10.875 0-19.681-8.796-19.681-19.661v-96.635c0-10.885 8.806-19.661 19.681-19.661v0c10.844 0 19.682 8.776 19.682 19.661v96.635z"}),n.createElement("path",{d:"M275.682 460.615c0 10.865-8.837 19.682-19.682 19.682v0c-10.875 0-19.681-8.817-19.681-19.682v-96.604c0-10.885 8.806-19.681 19.681-19.681v0c10.844 0 19.682 8.796 19.682 19.682v96.604z"}),n.createElement("path",{d:"M147.978 236.339c10.885 0 19.681 8.755 19.681 19.641v0c0 10.885-8.796 19.702-19.681 19.702h-96.624c-10.864 0-19.661-8.817-19.661-19.702v0c0-10.885 8.796-19.641 19.661-19.641h96.624z"}),n.createElement("path",{d:"M460.615 236.339c10.865 0 19.682 8.755 19.682 19.641v0c0 10.885-8.817 19.702-19.682 19.702h-96.584c-10.885 0-19.722-8.817-19.722-19.702v0c0-10.885 8.837-19.641 19.722-19.641h96.584z"}),n.createElement("path",{d:"M193.546 165.703c7.69 7.66 7.68 20.142 0 27.822v0c-7.701 7.701-20.162 7.701-27.853 0.020l-68.311-68.322c-7.68-7.701-7.68-20.142 0-27.863v0c7.68-7.68 20.121-7.68 27.822 0l68.342 68.342z"}),n.createElement("path",{d:"M414.597 386.775c7.7 7.68 7.7 20.163 0.021 27.863v0c-7.7 7.659-20.142 7.659-27.843-0.062l-68.311-68.26c-7.68-7.7-7.68-20.204 0-27.863v0c7.68-7.7 20.163-7.7 27.842 0l68.291 68.322z"}),n.createElement("path",{d:"M165.694 318.464c7.69-7.7 20.153-7.7 27.853 0v0c7.68 7.659 7.69 20.163 0 27.863l-68.342 68.322c-7.67 7.659-20.142 7.659-27.822-0.062v0c-7.68-7.68-7.68-20.122 0-27.801l68.311-68.322z"}),n.createElement("path",{d:"M386.775 97.362c7.7-7.68 20.142-7.68 27.822 0v0c7.7 7.68 7.7 20.183 0.021 27.863l-68.322 68.311c-7.68 7.68-20.163 7.68-27.843-0.020v0c-7.68-7.68-7.68-20.162 0-27.822l68.322-68.332z"}))))` + animation: 2s ${wa} linear infinite; + width: 50px; + height: 50px; + content: ''; + display: inline-block; + margin-left: -25px; + + path { + fill: ${e=>e.color}; + } +`,ka=ga.div` + font-family: helvetica, sans; + width: 100%; + text-align: center; + font-size: 25px; + margin: 30px 0 20px 0; + color: ${e=>e.color}; +`;class _a extends n.PureComponent{render(){return n.createElement("div",{style:{textAlign:"center"}},n.createElement(ka,{color:this.props.color},"Loading ..."),n.createElement(xa,{color:this.props.color}))}}var Oa=r(5697);const Sa=n.createContext(new xo({})),Ea=Sa.Provider,Pa=Sa.Consumer;var Aa=r(3675),$a=r(3777),Ca=r(8925);var Ra=r(1851),ja=r(6729),Ta=r(3573),Ia=r.n(Ta);const Na=Ta.parse;class Da{static baseName(e,t=1){const n=Da.parse(e);return n[n.length-t]}static dirName(e,t=1){const n=Da.parse(e);return Ta.compile(n.slice(0,n.length-t))}static relative(e,t){const n=Da.parse(e);return Da.parse(t).slice(n.length)}static parse(e){let t=e;return"#"===t.charAt(0)&&(t=t.substring(1)),Na(t)}static join(e,t){const n=Da.parse(e).concat(t);return Ta.compile(n)}static get(e,t){return Ta.get(e,t)}static compile(e){return Ta.compile(e)}static escape(e){return Ta.escape(e)}}Ta.parse=Da.parse,Object.assign(Da,Ta);var La=r(6470),Ma=r(3578),Fa=Object.defineProperty,za=Object.defineProperties,Ua=Object.getOwnPropertyDescriptors,Va=Object.getOwnPropertySymbols,Ba=Object.prototype.hasOwnProperty,qa=Object.prototype.propertyIsEnumerable,Wa=(e,t,n)=>t in e?Fa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ha=(e,t)=>{for(var n in t||(t={}))Ba.call(t,n)&&Wa(e,n,t[n]);if(Va)for(var n of Va(t))qa.call(t,n)&&Wa(e,n,t[n]);return e},Ya=(e,t)=>za(e,Ua(t));function Ka(e){return"string"==typeof e&&/\dxx/i.test(e)}function Ga(e,t=!1){if("default"===e)return t?"error":"success";let n="string"==typeof e?parseInt(e,10):e;if(Ka(e)&&(n*=100),n<100||n>599)throw new Error("invalid HTTP code");let r="success";return n>=300&&n<400?r="redirect":n>=400?r="error":n<200&&(r="info"),r}const Qa={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};function Xa(e){return e in Qa}const Ja={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",contentEncoding:"string",contentMediaType:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",unevaluatedProperties:"object",properties:"object",patternProperties:"object"};function Za(e,t=e.type){if(e["x-circular-ref"])return!0;if(void 0!==e.oneOf||void 0!==e.anyOf)return!1;if(e.if&&e.then||e.if&&e.else)return!1;let n=!0;const r=io(t);return("object"===t||r&&(null==t?void 0:t.includes("object")))&&(n=void 0!==e.properties?0===Object.keys(e.properties).length:void 0===e.additionalProperties&&void 0===e.unevaluatedProperties&&void 0===e.patternProperties),!io(e.items)&&!io(e.prefixItems)&&(void 0!==e.items&&!ao(e.items)&&("array"===t||r&&(null==t?void 0:t.includes("array")))&&(n=Za(e.items,e.items.type)),n)}function es(e){return-1!==e.search(/json/i)}function ts(e,t,n){return io(e)?e.map((e=>e.toString())).join(n):"object"==typeof e?Object.keys(e).map((t=>`${t}${n}${e[t]}`)).join(n):t+"="+e.toString()}function ns(e,t){return io(e)?(console.warn("deepObject style cannot be used with array value:"+e.toString()),""):"object"==typeof e?Object.keys(e).map((n=>`${t}[${n}]=${e[n]}`)).join("&"):(console.warn("deepObject style cannot be used with non-object value:"+e.toString()),"")}function rs(e,t,n){const r="__redoc_param_name__",o=t?"*":"";return Ma.parse(`{?${r}${o}}`).expand({[r]:n}).substring(1).replace(/__redoc_param_name__/g,e)}function os(e,t){return es(t)?JSON.stringify(e):(console.warn(`Parameter serialization as ${t} is not supported`),"")}function is(e,t){return e.in?decodeURIComponent(function(e,t){const{name:n,style:r,explode:o=!1,serializationMime:i}=e;if(i)switch(e.in){case"path":case"header":return os(t,i);case"cookie":case"query":return`${n}=${os(t,i)}`;default:return console.warn("Unexpected parameter location: "+e.in),""}if(!r)return console.warn(`Missing style attribute or content for parameter ${n}`),"";switch(e.in){case"path":return function(e,t,n,r){const o=n?"*":"";let i="";"label"===t?i=".":"matrix"===t&&(i=";");const a="__redoc_param_name__";return Ma.parse(`{${i}${a}${o}}`).expand({[a]:r}).replace(/__redoc_param_name__/g,e)}(n,r,o,t);case"query":return function(e,t,n,r){switch(t){case"form":return rs(e,n,r);case"spaceDelimited":return io(r)?n?rs(e,n,r):`${e}=${r.join("%20")}`:(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return io(r)?n?rs(e,n,r):`${e}=${r.join("|")}`:(console.warn("The style pipeDelimited is only applicable to arrays"),"");case"deepObject":return!n||io(r)||"object"!=typeof r?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):ns(r,e);default:return console.warn("Unexpected style for query: "+t),""}}(n,r,o,t);case"header":return function(e,t,n){if("simple"===e){const e=t?"*":"",r="__redoc_param_name__",o=Ma.parse(`{${r}${e}}`);return decodeURIComponent(o.expand({[r]:n}))}return console.warn("Unexpected style for header: "+e),""}(r,o,t);case"cookie":return function(e,t,n,r){return"form"===t?rs(e,n,r):(console.warn("Unexpected style for cookie: "+t),"")}(n,r,o,t);default:return console.warn("Unexpected parameter location: "+e.in),""}}(e,t)):t}const as=/^#\/components\/(schemas|pathItems)\/([^/]+)$/;function ss(e){return as.test(e||"")}function ls(e){var t;const[n]=(null==(t=null==e?void 0:e.match(as))?void 0:t.reverse())||[];return n}function cs(e,t,n){let r;return void 0!==t&&void 0!==n?r=t===n?`= ${t} ${e}`:`[ ${t} .. ${n} ] ${e}`:void 0!==n?r=`<= ${n} ${e}`:void 0!==t&&(r=1===t?"non-empty":`>= ${t} ${e}`),r}function us(e){const t=[],n=cs("characters",e.minLength,e.maxLength);void 0!==n&&t.push(n);const r=cs("items",e.minItems,e.maxItems);void 0!==r&&t.push(r);const o=cs("properties",e.minProperties,e.maxProperties);void 0!==o&&t.push(o);const i=function(e){if(void 0===e)return;const t=e.toString(10);return/^0\.0*1$/.test(t)?`decimal places <= ${t.split(".")[1].length}`:`multiple of ${t}`}(e.multipleOf);void 0!==i&&t.push(i);const a=function(e){var t,n;const r="number"==typeof e.exclusiveMinimum?Math.min(e.exclusiveMinimum,null!=(t=e.minimum)?t:1/0):e.minimum,o="number"==typeof e.exclusiveMaximum?Math.max(e.exclusiveMaximum,null!=(n=e.maximum)?n:-1/0):e.maximum,i="number"==typeof e.exclusiveMinimum||e.exclusiveMinimum,a="number"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==r&&void 0!==o?`${i?"( ":"[ "}${r} .. ${o}${a?" )":" ]"}`:void 0!==o?`${a?"< ":"<= "}${o}`:void 0!==r?`${i?"> ":">= "}${r}`:void 0}(e);return void 0!==a&&t.push(a),e.uniqueItems&&t.push("unique"),t}function ps(e,t=[]){const n=[],r=[],o=[];return e.forEach((e=>{e.required?t.includes(e.name)?r.push(e):o.push(e):n.push(e)})),r.sort(((e,n)=>t.indexOf(e.name)-t.indexOf(n.name))),[...r,...o,...n]}function ds(e,t){return[...e].sort(((e,n)=>e[t].localeCompare(n[t])))}function fs(e,t){const n=void 0===e?function(e){try{const t=ro(e);return t.search="",t.hash="",t.toString()}catch(t){return e}}((()=>{if(!qr)return"";const e=window.location.href;return e.endsWith(".html")?(0,La.dirname)(e):e})()):(0,La.dirname)(e);return 0===t.length&&(t=[{url:"/"}]),t.map((e=>{return Ya(Ha({},e),{url:(t=e.url,function(e,t){let n;if(t.startsWith("//"))try{n=`${new URL(e).protocol||"https:"}${t}`}catch(e){n=`https:${t}`}else if(function(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}(t))n=t;else if(t.startsWith("/"))try{const r=new URL(e);r.pathname=t,n=r.href}catch(e){n=t}else n=Xr(e)+"/"+t;return Xr(n)}(n,t)),description:e.description||""});var t}))}let hs="section/Authentication/";const ms=e=>({delete:"del",options:"opts"}[e]||e);function gs(e,t){return Object.keys(e).filter((e=>!0===t?e.startsWith("x-")&&!function(e){return e in{"x-circular-ref":!0,"x-parentRefs":!0,"x-refsStack":!0,"x-code-samples":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-ignoredHeaderParameters":!0,"x-logo":!0,"x-nullable":!0,"x-servers":!0,"x-tagGroups":!0,"x-traitTag":!0,"x-additionalPropertiesName":!0,"x-explicitMappingOnly":!0}}(e):e.startsWith("x-")&&t.indexOf(e)>-1)).reduce(((t,n)=>(t[n]=e[n],t)),{})}var ys=r(5660);r(7874),r(4279),r(5433),r(6213),r(2731),r(3967),r(7046),r(57),r(2503),r(6841),r(6854),r(4335),r(1426),r(8246),r(9945),r(366),r(2939),r(9385),r(2886),r(5266),r(874),r(3358),r(8052);function vs(e,t="clike"){t=t.toLowerCase();let n=ys.languages[t];return n||(n=ys.languages[function(e){return{json:"js","c++":"cpp","c#":"csharp","objective-c":"objectivec",shell:"bash",viml:"vim"}[e]||"clike"}(t)]),ys.highlight(e.toString(),n,t)}ys.languages.insertBefore("javascript","string",{"property string":{pattern:/([{,]\s*)"(?:\\.|[^\\"\r\n])*"(?=\s*:)/i,lookbehind:!0}},void 0),ys.languages.insertBefore("javascript","punctuation",{property:{pattern:/([{,]\s*)[a-z]\w*(?=\s*:)/i,lookbehind:!0}},void 0);var bs=Object.defineProperty,ws=Object.defineProperties,xs=Object.getOwnPropertyDescriptors,ks=Object.getOwnPropertySymbols,_s=Object.prototype.hasOwnProperty,Os=Object.prototype.propertyIsEnumerable,Ss=(e,t,n)=>t in e?bs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Es=(e,t)=>{for(var n in t||(t={}))_s.call(t,n)&&Ss(e,n,t[n]);if(ks)for(var n of ks(t))Os.call(t,n)&&Ss(e,n,t[n]);return e},Ps=(e,t)=>ws(e,xs(t));const As={};function $s(e,t,n){if("function"==typeof n.value)return function(e,t,n){if(!n.value||n.value.length>0)throw new Error("@memoize decorator can only be applied to methods of zero arguments");const r=`_memoized_${t}`,o=n.value;return e[r]=As,Ps(Es({},n),{value(){return this[r]===As&&(this[r]=o.call(this)),this[r]}})}(e,t,n);if("function"==typeof n.get)return function(e,t,n){const r=`_memoized_${t}`,o=n.get;return e[r]=As,Ps(Es({},n),{get(){return this[r]===As&&(this[r]=o.call(this)),this[r]}})}(e,t,n);throw new Error("@memoize decorator can be applied to methods or getters, got "+String(n.value)+" instead")}function Cs(e){let t=1;return"-"===e[0]&&(t=-1,e=e.substr(1)),(n,r)=>-1==t?r[e].localeCompare(n[e]):n[e].localeCompare(r[e])}var Rs=Object.defineProperty,js=Object.getOwnPropertyDescriptor;const Ts="hashchange";class Is{constructor(){this.emit=()=>{this._emiter.emit(Ts,this.currentId)},this._emiter=new ja.EventEmitter,this.bind()}get currentId(){return qr?decodeURIComponent(window.location.hash.substring(1)):""}linkForId(e){return e?"#"+e:""}subscribe(e){const t=this._emiter.addListener(Ts,e);return()=>t.removeListener(Ts,e)}bind(){qr&&window.addEventListener("hashchange",this.emit,!1)}dispose(){qr&&window.removeEventListener("hashchange",this.emit)}replace(e,t=!1){qr&&null!=e&&e!==this.currentId&&(t?window.history.replaceState(null,"",window.location.href.split("#")[0]+this.linkForId(e)):(window.history.pushState(null,"",window.location.href.split("#")[0]+this.linkForId(e)),this.emit()))}}((e,t,n,r)=>{for(var o,i=js(t,n),a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(t,n,i)||i);i&&Rs(t,n,i)})([Ra.bind,Ra.debounce],Is.prototype,"replace");const Ns=new Is;var Ds=r(813);class Ls{constructor(){this.map=new Map,this.prevTerm=""}add(e){this.map.set(e,new Ds(e))}delete(e){this.map.delete(e)}addOnly(e){this.map.forEach(((t,n)=>{-1===e.indexOf(n)&&(t.unmark(),this.map.delete(n))}));for(const t of e)this.map.has(t)||this.map.set(t,new Ds(t))}clearAll(){this.unmark(),this.map.clear()}mark(e){(e||this.prevTerm)&&(this.map.forEach((t=>{t.unmark(),t.mark(e||this.prevTerm)})),this.prevTerm=e||this.prevTerm)}unmark(){this.map.forEach((e=>e.unmark())),this.prevTerm=""}}let Ms={baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};const Fs=/[&<>"']/,zs=/[&<>"']/g,Us=/[<>"']|&(?!#?\w+;)/,Vs=/[<>"']|&(?!#?\w+;)/g,Bs={"&":"&","<":"<",">":">",'"':""","'":"'"},qs=e=>Bs[e];function Ws(e,t){if(t){if(Fs.test(e))return e.replace(zs,qs)}else if(Us.test(e))return e.replace(Vs,qs);return e}const Hs=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function Ys(e){return e.replace(Hs,((e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""))}const Ks=/(^|[^\[])\^/g;function Gs(e,t){e="string"==typeof e?e:e.source,t=t||"";const n={replace:(t,r)=>(r=(r=r.source||r).replace(Ks,"$1"),e=e.replace(t,r),n),getRegex:()=>new RegExp(e,t)};return n}const Qs=/[^\w:]/g,Xs=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function Js(e,t,n){if(e){let e;try{e=decodeURIComponent(Ys(n)).replace(Qs,"").toLowerCase()}catch(e){return null}if(0===e.indexOf("javascript:")||0===e.indexOf("vbscript:")||0===e.indexOf("data:"))return null}t&&!Xs.test(n)&&(n=function(e,t){Zs[" "+e]||(el.test(e)?Zs[" "+e]=e+"/":Zs[" "+e]=al(e,"/",!0));const n=-1===(e=Zs[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(tl,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(nl,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(e){return null}return n}const Zs={},el=/^[^:]+:\/*[^/]*$/,tl=/^([^:]+:)[\s\S]*$/,nl=/^([^:]+:\/*[^/]*)[\s\S]*$/,rl={exec:function(){}};function ol(e){let t,n,r=1;for(;r{let r=!1,o=t;for(;--o>=0&&"\\"===n[o];)r=!r;return r?"|":" |"})).split(/ \|/);let r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),n.length>t)n.splice(t);else for(;n.length1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}function cl(e,t,n,r){const o=t.href,i=t.title?Ws(t.title):null,a=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){r.state.inLink=!0;const e={type:"link",raw:n,href:o,title:i,text:a,tokens:r.inlineTokens(a,[])};return r.state.inLink=!1,e}return{type:"image",raw:n,href:o,title:i,text:Ws(a)}}class ul{constructor(e){this.options=e||Ms}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:al(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\s+)(?:```)/);if(null===n)return t;const r=n[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=r.length?e.slice(r.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim():t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=al(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}const n={type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:[]};return this.lexer.inline(n.text,n.tokens),n}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){const e=t[0].replace(/^ *>[ \t]?/gm,"");return{type:"blockquote",raw:t[0],tokens:this.lexer.blockTokens(e,[]),text:e}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n,r,o,i,a,s,l,c,u,p,d,f,h=t[1].trim();const m=h.length>1,g={type:"list",raw:"",ordered:m,start:m?+h.slice(0,-1):"",loose:!1,items:[]};h=m?`\\d{1,9}\\${h.slice(-1)}`:`\\${h}`,this.options.pedantic&&(h=m?h:"[*+-]");const y=new RegExp(`^( {0,3}${h})((?:[\t ][^\\n]*)?(?:\\n|$))`);for(;e&&(f=!1,t=y.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),c=t[2].split("\n",1)[0],u=e.split("\n",1)[0],this.options.pedantic?(i=2,d=c.trimLeft()):(i=t[2].search(/[^ ]/),i=i>4?1:i,d=c.slice(i),i+=t[1].length),s=!1,!c&&/^ *$/.test(u)&&(n+=u+"\n",e=e.substring(u.length+1),f=!0),!f){const t=new RegExp(`^ {0,${Math.min(3,i-1)}}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))`),r=new RegExp(`^ {0,${Math.min(3,i-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`);for(;e&&(p=e.split("\n",1)[0],c=p,this.options.pedantic&&(c=c.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!t.test(c))&&!r.test(e);){if(c.search(/[^ ]/)>=i||!c.trim())d+="\n"+c.slice(i);else{if(s)break;d+="\n"+c}s||c.trim()||(s=!0),n+=p+"\n",e=e.substring(p.length+1)}}g.loose||(l?g.loose=!0:/\n *\n *$/.test(n)&&(l=!0)),this.options.gfm&&(r=/^\[[ xX]\] /.exec(d),r&&(o="[ ] "!==r[0],d=d.replace(/^\[[ xX]\] +/,""))),g.items.push({type:"list_item",raw:n,task:!!r,checked:o,loose:!1,text:d}),g.raw+=n}g.items[g.items.length-1].raw=n.trimRight(),g.items[g.items.length-1].text=d.trimRight(),g.raw=g.raw.trimRight();const v=g.items.length;for(a=0;a"space"===e.type)),t=e.every((e=>{const t=e.raw.split("");let n=0;for(const e of t)if("\n"===e&&(n+=1),n>1)return!0;return!1}));!g.loose&&e.length&&t&&(g.loose=!0,g.items[a].loose=!0)}return g}}html(e){const t=this.rules.block.html.exec(e);if(t){const e={type:"html",raw:t[0],pre:!this.options.sanitizer&&("pre"===t[1]||"script"===t[1]||"style"===t[1]),text:t[0]};return this.options.sanitize&&(e.type="paragraph",e.text=this.options.sanitizer?this.options.sanitizer(t[0]):Ws(t[0]),e.tokens=[],this.lexer.inline(e.text,e.tokens)),e}}def(e){const t=this.rules.block.def.exec(e);if(t)return t[3]&&(t[3]=t[3].substring(1,t[3].length-1)),{type:"def",tag:t[1].toLowerCase().replace(/\s+/g," "),raw:t[0],href:t[2],title:t[3]}}table(e){const t=this.rules.block.table.exec(e);if(t){const e={type:"table",header:il(t[1]).map((e=>({text:e}))),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(e.header.length===e.align.length){e.raw=t[0];let n,r,o,i,a=e.align.length;for(n=0;n({text:e})));for(a=e.header.length,r=0;r/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):Ws(t[0]):t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const t=al(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{const e=function(e,t){if(-1===e.indexOf(t[1]))return-1;const n=e.length;let r=0,o=0;for(;o-1){const n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],r="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^$/.test(e)?n.slice(1):n.slice(1,-1)),cl(t,{href:n?n.replace(this.rules.inline._escapes,"$1"):n,title:r?r.replace(this.rules.inline._escapes,"$1"):r},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=(n[2]||n[1]).replace(/\s+/g," ");if(e=t[e.toLowerCase()],!e||!e.href){const e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return cl(n,e,n[0],this.lexer)}}emStrong(e,t,n=""){let r=this.rules.inline.emStrong.lDelim.exec(e);if(!r)return;if(r[3]&&n.match(/[\p{L}\p{N}]/u))return;const o=r[1]||r[2]||"";if(!o||o&&(""===n||this.rules.inline.punctuation.exec(n))){const n=r[0].length-1;let o,i,a=n,s=0;const l="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(l.lastIndex=0,t=t.slice(-1*e.length+n);null!=(r=l.exec(t));){if(o=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!o)continue;if(i=o.length,r[3]||r[4]){a+=i;continue}if((r[5]||r[6])&&n%3&&!((n+i)%3)){s+=i;continue}if(a-=i,a>0)continue;if(i=Math.min(i,i+a+s),Math.min(n,i)%2){const t=e.slice(1,n+r.index+i);return{type:"em",raw:e.slice(0,n+r.index+i+1),text:t,tokens:this.lexer.inlineTokens(t,[])}}const t=e.slice(2,n+r.index+i-1);return{type:"strong",raw:e.slice(0,n+r.index+i+1),text:t,tokens:this.lexer.inlineTokens(t,[])}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const n=/[^ ]/.test(e),r=/^ /.test(e)&&/ $/.test(e);return n&&r&&(e=e.substring(1,e.length-1)),e=Ws(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2],[])}}autolink(e,t){const n=this.rules.inline.autolink.exec(e);if(n){let e,r;return"@"===n[2]?(e=Ws(this.options.mangle?t(n[1]):n[1]),r="mailto:"+e):(e=Ws(n[1]),r=e),{type:"link",raw:n[0],text:e,href:r,tokens:[{type:"text",raw:e,text:e}]}}}url(e,t){let n;if(n=this.rules.inline.url.exec(e)){let e,r;if("@"===n[2])e=Ws(this.options.mangle?t(n[0]):n[0]),r="mailto:"+e;else{let t;do{t=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(t!==n[0]);e=Ws(n[0]),r="www."===n[1]?"http://"+e:e}return{type:"link",raw:n[0],text:e,href:r,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e,t){const n=this.rules.inline.text.exec(e);if(n){let e;return e=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):Ws(n[0]):n[0]:Ws(this.options.smartypants?t(n[0]):n[0]),{type:"text",raw:n[0],text:e}}}}const pl={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:rl,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};pl.def=Gs(pl.def).replace("label",pl._label).replace("title",pl._title).getRegex(),pl.bullet=/(?:[*+-]|\d{1,9}[.)])/,pl.listItemStart=Gs(/^( *)(bull) */).replace("bull",pl.bullet).getRegex(),pl.list=Gs(pl.list).replace(/bull/g,pl.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+pl.def.source+")").getRegex(),pl._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",pl._comment=/|$)/,pl.html=Gs(pl.html,"i").replace("comment",pl._comment).replace("tag",pl._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),pl.paragraph=Gs(pl._paragraph).replace("hr",pl.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",pl._tag).getRegex(),pl.blockquote=Gs(pl.blockquote).replace("paragraph",pl.paragraph).getRegex(),pl.normal=ol({},pl),pl.gfm=ol({},pl.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),pl.gfm.table=Gs(pl.gfm.table).replace("hr",pl.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",pl._tag).getRegex(),pl.gfm.paragraph=Gs(pl._paragraph).replace("hr",pl.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",pl.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",pl._tag).getRegex(),pl.pedantic=ol({},pl.normal,{html:Gs("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",pl._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:rl,paragraph:Gs(pl.normal._paragraph).replace("hr",pl.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",pl.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});const dl={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:rl,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:rl,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}dl._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",dl.punctuation=Gs(dl.punctuation).replace(/punctuation/g,dl._punctuation).getRegex(),dl.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,dl.escapedEmSt=/\\\*|\\_/g,dl._comment=Gs(pl._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),dl.emStrong.lDelim=Gs(dl.emStrong.lDelim).replace(/punct/g,dl._punctuation).getRegex(),dl.emStrong.rDelimAst=Gs(dl.emStrong.rDelimAst,"g").replace(/punct/g,dl._punctuation).getRegex(),dl.emStrong.rDelimUnd=Gs(dl.emStrong.rDelimUnd,"g").replace(/punct/g,dl._punctuation).getRegex(),dl._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,dl._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,dl._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,dl.autolink=Gs(dl.autolink).replace("scheme",dl._scheme).replace("email",dl._email).getRegex(),dl._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,dl.tag=Gs(dl.tag).replace("comment",dl._comment).replace("attribute",dl._attribute).getRegex(),dl._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,dl._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,dl._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,dl.link=Gs(dl.link).replace("label",dl._label).replace("href",dl._href).replace("title",dl._title).getRegex(),dl.reflink=Gs(dl.reflink).replace("label",dl._label).replace("ref",pl._label).getRegex(),dl.nolink=Gs(dl.nolink).replace("ref",pl._label).getRegex(),dl.reflinkSearch=Gs(dl.reflinkSearch,"g").replace("reflink",dl.reflink).replace("nolink",dl.nolink).getRegex(),dl.normal=ol({},dl),dl.pedantic=ol({},dl.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Gs(/^!?\[(label)\]\((.*?)\)/).replace("label",dl._label).getRegex(),reflink:Gs(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",dl._label).getRegex()}),dl.gfm=ol({},dl.normal,{escape:Gs(dl.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\t+" ".repeat(n.length)));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((r=>!!(n=r.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.space(e))e=e.substring(n.raw.length),1===n.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(n);else if(n=this.tokenizer.code(e))e=e.substring(n.raw.length),r=t[t.length-1],!r||"paragraph"!==r.type&&"text"!==r.type?t.push(n):(r.raw+="\n"+n.raw,r.text+="\n"+n.text,this.inlineQueue[this.inlineQueue.length-1].src=r.text);else if(n=this.tokenizer.fences(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.heading(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.hr(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.blockquote(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.list(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.html(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.def(e))e=e.substring(n.raw.length),r=t[t.length-1],!r||"paragraph"!==r.type&&"text"!==r.type?this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title}):(r.raw+="\n"+n.raw,r.text+="\n"+n.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text);else if(n=this.tokenizer.table(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.lheading(e))e=e.substring(n.raw.length),t.push(n);else{if(o=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const n=e.slice(1);let r;this.options.extensions.startBlock.forEach((function(e){r=e.call({lexer:this},n),"number"==typeof r&&r>=0&&(t=Math.min(t,r))})),t<1/0&&t>=0&&(o=e.substring(0,t+1))}if(this.state.top&&(n=this.tokenizer.paragraph(o)))r=t[t.length-1],i&&"paragraph"===r.type?(r.raw+="\n"+n.raw,r.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(n),i=o.length!==e.length,e=e.substring(n.raw.length);else if(n=this.tokenizer.text(e))e=e.substring(n.raw.length),r=t[t.length-1],r&&"text"===r.type?(r.raw+="\n"+n.raw,r.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t){this.inlineQueue.push({src:e,tokens:t})}inlineTokens(e,t=[]){let n,r,o,i,a,s,l=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(l));)e.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,i.index)+"["+ll("a",i[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(i=this.tokenizer.rules.inline.blockSkip.exec(l));)l=l.slice(0,i.index)+"["+ll("a",i[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(i=this.tokenizer.rules.inline.escapedEmSt.exec(l));)l=l.slice(0,i.index)+"++"+l.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(a||(s=""),a=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((r=>!!(n=r.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))))if(n=this.tokenizer.escape(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.tag(e))e=e.substring(n.raw.length),r=t[t.length-1],r&&"text"===n.type&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(n=this.tokenizer.link(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(n.raw.length),r=t[t.length-1],r&&"text"===n.type&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(n=this.tokenizer.emStrong(e,l,s))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.codespan(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.br(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.del(e))e=e.substring(n.raw.length),t.push(n);else if(n=this.tokenizer.autolink(e,hl))e=e.substring(n.raw.length),t.push(n);else if(this.state.inLink||!(n=this.tokenizer.url(e,hl))){if(o=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const n=e.slice(1);let r;this.options.extensions.startInline.forEach((function(e){r=e.call({lexer:this},n),"number"==typeof r&&r>=0&&(t=Math.min(t,r))})),t<1/0&&t>=0&&(o=e.substring(0,t+1))}if(n=this.tokenizer.inlineText(o,fl))e=e.substring(n.raw.length),"_"!==n.raw.slice(-1)&&(s=n.raw.slice(-1)),a=!0,r=t[t.length-1],r&&"text"===r.type?(r.raw+=n.raw,r.text+=n.text):t.push(n);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(n.raw.length),t.push(n);return t}}class gl{constructor(e){this.options=e||Ms}code(e,t,n){const r=(t||"").match(/\S*/)[0];if(this.options.highlight){const t=this.options.highlight(e,r);null!=t&&t!==e&&(n=!0,e=t)}return e=e.replace(/\n$/,"")+"\n",r?'
'+(n?e:Ws(e,!0))+"
\n":"
"+(n?e:Ws(e,!0))+"
\n"}blockquote(e){return`
\n${e}
\n`}html(e){return e}heading(e,t,n,r){return this.options.headerIds?`${e}\n`:`${e}\n`}hr(){return this.options.xhtml?"
\n":"
\n"}list(e,t,n){const r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"}listitem(e){return`
  • ${e}
  • \n`}checkbox(e){return" "}paragraph(e){return`

    ${e}

    \n`}table(e,t){return t&&(t=`${t}`),"\n\n"+e+"\n"+t+"
    \n"}tablerow(e){return`\n${e}\n`}tablecell(e,t){const n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`\n`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return this.options.xhtml?"
    ":"
    "}del(e){return`${e}`}link(e,t,n){if(null===(e=Js(this.options.sanitize,this.options.baseUrl,e)))return n;let r='",r}image(e,t,n){if(null===(e=Js(this.options.sanitize,this.options.baseUrl,e)))return n;let r=`${n}":">",r}text(e){return e}}class yl{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,n){return""+n}image(e,t,n){return""+n}br(){return""}}class vl{constructor(){this.seen={}}serialize(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(e,t){let n=e,r=0;if(this.seen.hasOwnProperty(n)){r=this.seen[e];do{r++,n=e+"-"+r}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=r,this.seen[n]=0),n}slug(e,t={}){const n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)}}class bl{constructor(e){this.options=e||Ms,this.options.renderer=this.options.renderer||new gl,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new yl,this.slugger=new vl}static parse(e,t){return new bl(t).parse(e)}static parseInline(e,t){return new bl(t).parseInline(e)}parse(e,t=!0){let n,r,o,i,a,s,l,c,u,p,d,f,h,m,g,y,v,b,w,x="";const k=e.length;for(n=0;n0&&"paragraph"===g.tokens[0].type?(g.tokens[0].text=b+" "+g.tokens[0].text,g.tokens[0].tokens&&g.tokens[0].tokens.length>0&&"text"===g.tokens[0].tokens[0].type&&(g.tokens[0].tokens[0].text=b+" "+g.tokens[0].tokens[0].text)):g.tokens.unshift({type:"text",text:b}):m+=b),m+=this.parse(g.tokens,h),u+=this.renderer.listitem(m,v,y);x+=this.renderer.list(u,d,f);continue;case"html":x+=this.renderer.html(p.text);continue;case"paragraph":x+=this.renderer.paragraph(this.parseInline(p.tokens));continue;case"text":for(u=p.tokens?this.parseInline(p.tokens):p.text;n+1{r(e.text,e.lang,(function(t,n){if(t)return i(t);null!=n&&n!==e.text&&(e.text=n,e.escaped=!0),a--,0===a&&i()}))}),0))})),void(0===a&&i())}try{const n=ml.lex(e,t);return t.walkTokens&&wl.walkTokens(n,t.walkTokens),bl.parse(n,t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"

    An error occurred:

    "+Ws(e.message+"",!0)+"
    ";throw e}}wl.options=wl.setOptions=function(e){var t;return ol(wl.defaults,e),t=wl.defaults,Ms=t,wl},wl.getDefaults=function(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}},wl.defaults=Ms,wl.use=function(...e){const t=ol({},...e),n=wl.defaults.extensions||{renderers:{},childTokens:{}};let r;e.forEach((e=>{if(e.extensions&&(r=!0,e.extensions.forEach((e=>{if(!e.name)throw new Error("extension name required");if(e.renderer){const t=n.renderers?n.renderers[e.name]:null;n.renderers[e.name]=t?function(...n){let r=e.renderer.apply(this,n);return!1===r&&(r=t.apply(this,n)),r}:e.renderer}if(e.tokenizer){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");n[e.level]?n[e.level].unshift(e.tokenizer):n[e.level]=[e.tokenizer],e.start&&("block"===e.level?n.startBlock?n.startBlock.push(e.start):n.startBlock=[e.start]:"inline"===e.level&&(n.startInline?n.startInline.push(e.start):n.startInline=[e.start]))}e.childTokens&&(n.childTokens[e.name]=e.childTokens)}))),e.renderer){const n=wl.defaults.renderer||new gl;for(const t in e.renderer){const r=n[t];n[t]=(...o)=>{let i=e.renderer[t].apply(n,o);return!1===i&&(i=r.apply(n,o)),i}}t.renderer=n}if(e.tokenizer){const n=wl.defaults.tokenizer||new ul;for(const t in e.tokenizer){const r=n[t];n[t]=(...o)=>{let i=e.tokenizer[t].apply(n,o);return!1===i&&(i=r.apply(n,o)),i}}t.tokenizer=n}if(e.walkTokens){const n=wl.defaults.walkTokens;t.walkTokens=function(t){e.walkTokens.call(this,t),n&&n.call(this,t)}}r&&(t.extensions=n),wl.setOptions(t)}))},wl.walkTokens=function(e,t){for(const n of e)switch(t.call(wl,n),n.type){case"table":for(const e of n.header)wl.walkTokens(e.tokens,t);for(const e of n.rows)for(const n of e)wl.walkTokens(n.tokens,t);break;case"list":wl.walkTokens(n.items,t);break;default:wl.defaults.extensions&&wl.defaults.extensions.childTokens&&wl.defaults.extensions.childTokens[n.type]?wl.defaults.extensions.childTokens[n.type].forEach((function(e){wl.walkTokens(n[e],t)})):n.tokens&&wl.walkTokens(n.tokens,t)}},wl.parseInline=function(e,t){if(null==e)throw new Error("marked.parseInline(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");sl(t=ol({},wl.defaults,t||{}));try{const n=ml.lexInline(e,t);return t.walkTokens&&wl.walkTokens(n,t.walkTokens),bl.parseInline(n,t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"

    An error occurred:

    "+Ws(e.message+"",!0)+"
    ";throw e}},wl.Parser=bl,wl.parser=bl.parse,wl.Renderer=gl,wl.TextRenderer=yl,wl.Lexer=ml,wl.lexer=ml.lex,wl.Tokenizer=ul,wl.Slugger=vl,wl.parse=wl,wl.options,wl.setOptions,wl.use,wl.walkTokens,wl.parseInline,bl.parse,ml.lex;var xl=Object.defineProperty,kl=Object.defineProperties,_l=Object.getOwnPropertyDescriptors,Ol=Object.getOwnPropertySymbols,Sl=Object.prototype.hasOwnProperty,El=Object.prototype.propertyIsEnumerable,Pl=(e,t,n)=>t in e?xl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Al=(e,t)=>{for(var n in t||(t={}))Sl.call(t,n)&&Pl(e,n,t[n]);if(Ol)for(var n of Ol(t))El.call(t,n)&&Pl(e,n,t[n]);return e},$l=(e,t)=>kl(e,_l(t));const Cl=new wl.Renderer;wl.setOptions({renderer:Cl,highlight:(e,t)=>vs(e,t)});const Rl="(?:^ {0,3}\x3c!-- ReDoc-Inject:\\s+?<({component}).*?/?>\\s+?--\x3e\\s*$|(?:^ {0,3}<({component})([\\s\\S]*?)>([\\s\\S]*?)|^ {0,3}<({component})([\\s\\S]*?)(?:/>|\\n{2,})))";class jl{constructor(e,t){this.options=e,this.parentId=t,this.headings=[],this.headingRule=(e,t,n,r)=>(1===t?this.currentTopHeading=this.saveHeading(e,t):2===t&&this.saveHeading(e,t,this.currentTopHeading&&this.currentTopHeading.items,this.currentTopHeading&&this.currentTopHeading.id),this.originalHeadingRule(e,t,n,r)),this.parentId=t,this.parser=new wl.Parser,this.headingEnhanceRenderer=new wl.Renderer,this.originalHeadingRule=this.headingEnhanceRenderer.heading.bind(this.headingEnhanceRenderer),this.headingEnhanceRenderer.heading=this.headingRule}static containsComponent(e,t){return new RegExp(Rl.replace(/{component}/g,t),"gmi").test(e)}static getTextBeforeHading(e,t){const n=e.search(new RegExp(`^##?\\s+${t}`,"m"));return n>-1?e.substring(0,n):e}saveHeading(e,t,n=this.headings,r){e=e.replace(/&#(\d+);/g,((e,t)=>String.fromCharCode(parseInt(t,10)))).replace(/&/g,"&").replace(/"/g,'"');const o={id:r?`${r}/${no(e)}`:`${this.parentId||"section"}/${no(e)}`,name:e,level:t,items:[]};return n.push(o),o}flattenHeadings(e){if(void 0===e)return[];const t=[];for(const n of e)t.push(n),t.push(...this.flattenHeadings(n.items));return t}attachHeadingsDescriptions(e){const t=e=>new RegExp(`##?\\s+${e.name.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}s*(\n|\r\n|$|s*)`),n=this.flattenHeadings(this.headings);if(n.length<1)return;let r=n[0],o=t(r),i=e.search(o);for(let a=1;a-1&&(this.description=this.description.substring(0,n)),this.downloadLink=this.getDownloadLink(),this.downloadFileName=this.getDownloadFileName()}getDownloadLink(){if(this.options.downloadDefinitionUrl)return this.options.downloadDefinitionUrl;if(this.parser.specUrl)return this.parser.specUrl;if(qr&&window.Blob&&window.URL&&window.URL.createObjectURL){const e=new Blob([JSON.stringify(this.parser.spec,null,2)],{type:"application/json"});return window.URL.createObjectURL(e)}}getDownloadFileName(){return this.parser.specUrl||this.options.downloadDefinitionUrl?this.options.downloadFileName:this.options.downloadFileName||"openapi.json"}}var Nl=Object.defineProperty,Dl=Object.defineProperties,Ll=Object.getOwnPropertyDescriptors,Ml=Object.getOwnPropertySymbols,Fl=Object.prototype.hasOwnProperty,zl=Object.prototype.propertyIsEnumerable,Ul=(e,t,n)=>t in e?Nl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;class Vl{constructor(e,t){const n=t.spec.components&&t.spec.components.securitySchemes||{};this.schemes=Object.keys(e||{}).map((r=>{const{resolved:o}=t.deref(n[r]),i=e[r]||[];if(!o)return void console.warn(`Non existing security scheme referenced: ${r}. Skipping`);const a=o["x-displayName"]||r;return((e,t)=>Dl(e,Ll(t)))(((e,t)=>{for(var n in t||(t={}))Fl.call(t,n)&&Ul(e,n,t[n]);if(Ml)for(var n of Ml(t))zl.call(t,n)&&Ul(e,n,t[n]);return e})({},o),{id:r,sectionId:r,displayName:a,scopes:i})})).filter((e=>void 0!==e))}}var Bl=Object.defineProperty,ql=Object.defineProperties,Wl=Object.getOwnPropertyDescriptor,Hl=Object.getOwnPropertyDescriptors,Yl=Object.getOwnPropertySymbols,Kl=Object.prototype.hasOwnProperty,Gl=Object.prototype.propertyIsEnumerable,Ql=(e,t,n)=>t in e?Bl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Xl=(e,t)=>{for(var n in t||(t={}))Kl.call(t,n)&&Ql(e,n,t[n]);if(Yl)for(var n of Yl(t))Gl.call(t,n)&&Ql(e,n,t[n]);return e},Jl=(e,t)=>ql(e,Hl(t)),Zl=(e,t,n,r)=>{for(var o,i=r>1?void 0:r?Wl(t,n):t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&Bl(t,n,i),i};class ec{constructor(e,t,n,r,o){this.expanded=!1,this.operations=[],tn(this),this.name=t;const{resolved:i}=e.deref(n);for(const n of Object.keys(i)){const a=i[n],s=Object.keys(a).filter(Xa);for(const i of s){const s=a[i],l=new _u(e,Jl(Xl({},s),{pathName:n,pointer:Da.compile([r,t,n,i]),httpVerb:i,pathParameters:a.parameters||[],pathServers:a.servers}),void 0,o,!0);this.operations.push(l)}}}toggle(){this.expanded=!this.expanded}}Zl([Ae],ec.prototype,"expanded",2),Zl([Pt],ec.prototype,"toggle",1);var tc=Object.defineProperty,nc=Object.defineProperties,rc=Object.getOwnPropertyDescriptors,oc=Object.getOwnPropertySymbols,ic=Object.prototype.hasOwnProperty,ac=Object.prototype.propertyIsEnumerable,sc=(e,t,n)=>t in e?tc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lc=(e,t)=>{for(var n in t||(t={}))ic.call(t,n)&&sc(e,n,t[n]);if(oc)for(var n of oc(t))ac.call(t,n)&&sc(e,n,t[n]);return e},cc=(e,t)=>nc(e,rc(t)),uc=(e,t)=>{var n={};for(var r in e)ic.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&oc)for(var r of oc(e))t.indexOf(r)<0&&ac.call(e,r)&&(n[r]=e[r]);return n};function pc(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}function dc(e,t){return t?e.concat(t):e}class fc{constructor(e,t,n=new xo({})){this.options=n,this.allowMergeRefs=!1,this.byRef=e=>{let t;if(this.spec){"#"!==e.charAt(0)&&(e="#"+e),e=decodeURIComponent(e);try{t=Da.get(this.spec,e)}catch(e){}return t||{}}},this.validate(e),this.spec=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const r=qr?window.location.href:"";"string"==typeof t&&(this.specUrl=r?new URL(t,r).href:t)}validate(e){if(void 0===e.openapi)throw new Error("Document must be valid OpenAPI 3.0.0 definition")}isRef(e){return!!e&&void 0!==e.$ref&&null!==e.$ref}deref(e,t=[],n=!1){const r=null==e?void 0:e["x-refsStack"];if(t=dc(t,r),this.isRef(e)){const r=ls(e.$ref);if(r&&this.options.ignoreNamedSchemas.has(r))return{resolved:{type:"object",title:r},refsStack:t};let o=this.byRef(e.$ref);if(!o)throw new Error(`Failed to resolve $ref "${e.$ref}"`);let i=t;if(t.includes(e.$ref)||t.length>999)o=Object.assign({},o,{"x-circular-ref":!0});else if(this.isRef(o)){const e=this.deref(o,t,n);i=e.refsStack,o=e.resolved}return i=pc(t,e.$ref),o=this.allowMergeRefs?this.mergeRefs(e,o,n):o,{resolved:o,refsStack:i}}return{resolved:e,refsStack:dc(t,r)}}mergeRefs(e,t,n){const r=e,{$ref:o}=r,i=uc(r,["$ref"]),a=Object.keys(i);if(0===a.length)return t;if(n&&a.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=i,{description:n,title:r,readOnly:o,writeOnly:a}=e;return{allOf:[{description:n,title:r,readOnly:o,writeOnly:a},t,uc(e,["description","title","readOnly","writeOnly"])]}}return lc(lc({},t),i)}mergeAllOf(e,t,n){var r;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e,n)).allOf)return e;let o=cc(lc({},e),{"x-parentRefs":[],allOf:void 0,title:e.title||ls(t)});void 0!==o.properties&&"object"==typeof o.properties&&(o.properties=lc({},o.properties)),void 0!==o.items&&"object"==typeof o.items&&(o.items=lc({},o.items));const i=function(e,t){const n=new Set;return e.filter((e=>{const t=e.$ref;return!t||t&&!n.has(t)&&n.add(t)}))}(e.allOf.map((e=>{var t;const{resolved:r,refsStack:i}=this.deref(e,n,!0),a=e.$ref||void 0,s=this.mergeAllOf(r,a,i);if(!s["x-circular-ref"]||!s.allOf)return a&&(null==(t=o["x-parentRefs"])||t.push(...s["x-parentRefs"]||[],a)),{$ref:a,refsStack:pc(i,a),schema:s}})).filter((e=>void 0!==e)));for(const{schema:e,refsStack:n}of i){const i=e,{type:a,enum:s,properties:l,items:c,required:u,title:p,description:d,readOnly:f,writeOnly:h,oneOf:m,anyOf:g,"x-circular-ref":y}=i,v=uc(i,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(o.type!==a&&void 0!==o.type&&void 0!==a&&console.warn(`Incompatible types in allOf at "${t}": "${o.type}" and "${a}"`),void 0!==a&&(Array.isArray(a)&&Array.isArray(o.type)?o.type=[...a,...o.type]:o.type=a),void 0!==s&&(Array.isArray(s)&&Array.isArray(o.enum)?o.enum=Array.from(new Set([...s,...o.enum])):o.enum=s),void 0!==l&&"object"==typeof l){o.properties=o.properties||{};for(const e in l){const i=dc(n,null==(r=l[e])?void 0:r["x-refsStack"]);if(o.properties[e]){if(!y){const n=this.mergeAllOf({allOf:[o.properties[e],cc(lc({},l[e]),{"x-refsStack":i})],"x-refsStack":i},t+"/properties/"+e,i);o.properties[e]=n}}else o.properties[e]=cc(lc({},l[e]),{"x-refsStack":i})}}if(void 0!==c&&!y){const r="boolean"==typeof o.items?{}:Object.assign({},o.items),i="boolean"==typeof e.items?{}:Object.assign({},e.items);o.items=this.mergeAllOf({allOf:[r,i]},t+"/items",n)}void 0!==m&&(o.oneOf=m),void 0!==g&&(o.anyOf=g),void 0!==u&&(o.required=[...o.required||[],...u]),o=lc(cc(lc({},o),{title:o.title||p,description:o.description||d,readOnly:void 0!==o.readOnly?o.readOnly:f,writeOnly:void 0!==o.writeOnly?o.writeOnly:h,"x-circular-ref":o["x-circular-ref"]||y}),v)}return o}findDerived(e){const t={},n=this.spec.components&&this.spec.components.schemas||{};for(const r in n){const{resolved:o}=this.deref(n[r]);void 0!==o.allOf&&o.allOf.find((t=>void 0!==t.$ref&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+r]=[o["x-discriminator-value"]||r])}return t}hoistOneOfs(e,t){if(void 0===e.allOf)return e;const n=e.allOf;for(let e=0;e({allOf:[...o,e,...i],"x-refsStack":t})))}}}return e}}var hc=Object.defineProperty,mc=Object.defineProperties,gc=Object.getOwnPropertyDescriptor,yc=Object.getOwnPropertyDescriptors,vc=Object.getOwnPropertySymbols,bc=Object.prototype.hasOwnProperty,wc=Object.prototype.propertyIsEnumerable,xc=(e,t,n)=>t in e?hc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kc=(e,t)=>{for(var n in t||(t={}))bc.call(t,n)&&xc(e,n,t[n]);if(vc)for(var n of vc(t))wc.call(t,n)&&xc(e,n,t[n]);return e},_c=(e,t)=>mc(e,yc(t)),Oc=(e,t,n,r)=>{for(var o,i=r>1?void 0:r?gc(t,n):t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&hc(t,n,i),i};const Sc=class{constructor(e,t,n,r,o=!1,i=[]){this.options=r,this.refsStack=i,this.typePrefix="",this.isCircular=!1,this.activeOneOf=0,tn(this),this.pointer=t.$ref||n||"";const{resolved:a,refsStack:s}=e.deref(t,i,!0);this.refsStack=pc(s,this.pointer),this.rawSchema=a,this.schema=e.mergeAllOf(this.rawSchema,this.pointer,this.refsStack),this.init(e,o),r.showExtensions&&(this.extensions=gs(this.schema,r.showExtensions))}activateOneOf(e){this.activeOneOf=e}hasType(e){return this.type===e||io(this.type)&&this.type.includes(e)}init(e,t){var n,r,o,i,a,s,l,c;const u=this.schema;if(this.isCircular=!!u["x-circular-ref"],this.title=u.title||ss(this.pointer)&&Da.baseName(this.pointer)||"",this.description=u.description||"",this.type=u.type||function(e){if(void 0!==e.type&&!io(e.type))return e.type;const t=Object.keys(Ja);for(const n of t){const t=Ja[n];if(void 0!==e[n])return t}return"any"}(u),this.format=u.format,this.enum=u.enum||[],this.example=u.example,this.examples=u.examples,this.deprecated=!!u.deprecated,this.pattern=u.pattern,this.externalDocs=u.externalDocs,this.constraints=us(u),this.displayFormat=this.format,this.isPrimitive=Za(u,this.type),this.default=u.default,this.readOnly=!!u.readOnly,this.writeOnly=!!u.writeOnly,this.const=u.const||"",this.contentEncoding=u.contentEncoding,this.contentMediaType=u.contentMediaType,this.minItems=u.minItems,this.maxItems=u.maxItems,(u.nullable||u["x-nullable"])&&(io(this.type)&&!this.type.some((e=>null===e||"null"===e))?this.type=[...this.type,"null"]:io(this.type)||null===this.type&&"null"===this.type||(this.type=[this.type,"null"])),this.displayType=io(this.type)?this.type.map((e=>null===e?"null":e)).join(" or "):this.type,!this.isCircular)if(u.if&&u.then||u.if&&u.else)this.initConditionalOperators(u,e);else if(t||void 0===Ac(u)){if(t&&io(u.oneOf)&&u.oneOf.find((e=>e.$ref===this.pointer))&&delete u.oneOf,void 0!==u.oneOf)return this.initOneOf(u.oneOf,e),this.oneOfType="One of",void(void 0!==u.anyOf&&console.warn(`oneOf and anyOf are not supported on the same level. Skipping anyOf at ${this.pointer}`));if(void 0!==u.anyOf)return this.initOneOf(u.anyOf,e),void(this.oneOfType="Any of");if(this.hasType("object"))this.fields=Pc(e,u,this.pointer,this.options,this.refsStack);else if(this.hasType("array")&&(io(u.items)||io(u.prefixItems)?this.fields=Pc(e,u,this.pointer,this.options,this.refsStack):u.items&&(this.items=new Sc(e,u.items,this.pointer+"/items",this.options,!1,this.refsStack)),this.displayType=u.prefixItems||io(u.items)?"items":((null==(n=this.items)?void 0:n.displayType)||this.displayType).split(" or ").map((e=>e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2"))).join(" or "),this.displayFormat=(null==(r=this.items)?void 0:r.format)||"",this.typePrefix=(null==(o=this.items)?void 0:o.typePrefix)||""+lo("arrayOf"),this.title=this.title||(null==(i=this.items)?void 0:i.title)||"",this.isPrimitive=void 0!==(null==(a=this.items)?void 0:a.isPrimitive)?null==(s=this.items)?void 0:s.isPrimitive:this.isPrimitive,void 0===this.example&&void 0!==(null==(l=this.items)?void 0:l.example)&&(this.example=[this.items.example]),(null==(c=this.items)?void 0:c.isPrimitive)&&(this.enum=this.items.enum),io(this.type))){const e=this.type.filter((e=>"array"!==e));e.length&&(this.displayType+=` or ${e.join(" or ")}`)}this.enum.length&&this.options.sortEnumValuesAlphabetically&&this.enum.sort()}else this.initDiscriminator(u,e)}initOneOf(e,t){if(this.oneOf=e.map(((e,n)=>{const{resolved:r,refsStack:o}=t.deref(e,this.refsStack,!0),i=t.mergeAllOf(r,this.pointer+"/oneOf/"+n,o),a=ss(e.$ref)&&!i.title?Da.baseName(e.$ref):`${i.title||""}${i.const&&JSON.stringify(i.const)||""}`;return new Sc(t,_c(kc({},i),{title:a,allOf:[_c(kc({},this.schema),{oneOf:void 0,anyOf:void 0})],discriminator:r.allOf?void 0:i.discriminator}),e.$ref||this.pointer+"/oneOf/"+n,this.options,!1,o)})),this.options.simpleOneOfTypeLabel){const e=function(e){const t=new Set;return function e(n){for(const r of n.oneOf||[])r.oneOf?e(r):r.type&&t.add(r.type)}(e),Array.from(t.values())}(this);this.displayType=e.join(" or ")}else this.displayType=this.oneOf.map((e=>{let t=e.typePrefix+(e.title?`${e.title} (${e.displayType})`:e.displayType);return t.indexOf(" or ")>-1&&(t=`(${t})`),t})).join(" or ")}initDiscriminator(e,t){const n=Ac(e);this.discriminatorProp=n.propertyName;const r=t.findDerived([...this.schema["x-parentRefs"]||[],this.pointer]);if(e.oneOf)for(const t of e.oneOf){if(void 0===t.$ref)continue;const e=Da.baseName(t.$ref);r[t.$ref]=e}const o=n.mapping||{};let i=n["x-explicitMappingOnly"]||!1;0===Object.keys(o).length&&(i=!1);const a={};for(const e in o){const t=o[e];io(a[t])?a[t].push(e):a[t]=[e]}const s=kc(i?{}:kc({},r),a);let l=[];for(const e of Object.keys(s)){const t=s[e];if(io(t))for(const n of t)l.push({$ref:e,name:n});else l.push({$ref:e,name:t})}const c=Object.keys(o);0!==c.length&&(l=l.sort(((e,t)=>{const n=c.indexOf(e.name),r=c.indexOf(t.name);return n<0&&r<0?e.name.localeCompare(t.name):n<0?1:r<0?-1:n-r}))),this.oneOf=l.map((({$ref:e,name:n})=>{const r=new Sc(t,{$ref:e},e,this.options,!0,this.refsStack.slice(0,-1));return r.title=n,r}))}initConditionalOperators(e,t){const n=e,{if:r,else:o={},then:i={}}=n,a=((e,t)=>{var n={};for(var r in e)bc.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&vc)for(var r of vc(e))t.indexOf(r)<0&&wc.call(e,r)&&(n[r]=e[r]);return n})(n,["if","else","then"]),s=[{allOf:[a,i,r],title:r&&r["x-displayName"]||(null==r?void 0:r.title)||"case 1"},{allOf:[a,o],title:o&&o["x-displayName"]||(null==o?void 0:o.title)||"case 2"}];this.oneOf=s.map(((e,n)=>new Sc(t,kc({},e),this.pointer+"/oneOf/"+n,this.options,!1,this.refsStack))),this.oneOfType="One of"}};let Ec=Sc;function Pc(e,t,n,r,o){const i=t.properties||t.prefixItems||t.items||{},a=t.patternProperties||{},s=t.additionalProperties||t.unevaluatedProperties,l=t.prefixItems?t.items:t.additionalItems,c=t.default;let u=Object.keys(i||[]).map((a=>{let s=i[a];s||(console.warn(`Field "${a}" is invalid, skipping.\n Field must be an object but got ${typeof s} at "${n}"`),s={});const l=void 0!==t.required&&t.required.indexOf(a)>-1;return new Nc(e,{name:t.properties?a:`[${a}]`,required:l,schema:_c(kc({},s),{default:void 0===s.default&&c?c[a]:s.default})},n+"/properties/"+a,r,o)}));return r.sortPropsAlphabetically&&(u=ds(u,"name")),r.requiredPropsFirst&&(u=ps(u,r.sortPropsAlphabetically?void 0:t.required)),u.push(...Object.keys(a).map((t=>{let i=a[t];return i||(console.warn(`Field "${t}" is invalid, skipping.\n Field must be an object but got ${typeof i} at "${n}"`),i={}),new Nc(e,{name:t,required:!1,schema:i,kind:"patternProperties"},`${n}/patternProperties/${t}`,r,o)}))),"object"!=typeof s&&!0!==s||u.push(new Nc(e,{name:("object"==typeof s&&s["x-additionalPropertiesName"]||"property name").concat("*"),required:!1,schema:!0===s?{}:s,kind:"additionalProperties"},n+"/additionalProperties",r,o)),u.push(...function({parser:e,schema:t=!1,fieldsCount:n,$ref:r,options:o,refsStack:i}){return ao(t)?t?[new Nc(e,{name:`[${n}...]`,schema:{}},`${r}/additionalItems`,o,i)]:[]:io(t)?[...t.map(((t,a)=>new Nc(e,{name:`[${n+a}]`,schema:t},`${r}/additionalItems`,o,i)))]:eo(t)?[new Nc(e,{name:`[${n}...]`,schema:t},`${r}/additionalItems`,o,i)]:[]}({parser:e,schema:l,fieldsCount:u.length,$ref:n,options:r,refsStack:o})),u}function Ac(e){return e.discriminator||e["x-discriminator"]}Oc([Ae],Ec.prototype,"activeOneOf",2),Oc([Pt],Ec.prototype,"activateOneOf",1);const $c={};class Cc{constructor(e,t,n,r){this.mime=n;const{resolved:o}=e.deref(t);this.value=o.value,this.summary=o.summary,this.description=o.description,o.externalValue&&(this.externalValueUrl=new URL(o.externalValue,e.specUrl).href),"application/x-www-form-urlencoded"===n&&this.value&&"object"==typeof this.value&&(this.value=function(e,t={}){if(io(e))throw new Error("Payload must have fields: "+e.toString());return Object.keys(e).map((n=>{const r=e[n],{style:o="form",explode:i=!0}=t[n]||{};switch(o){case"form":return rs(n,i,r);case"spaceDelimited":return ts(r,n,"%20");case"pipeDelimited":return ts(r,n,"|");case"deepObject":return ns(r,n);default:return console.warn("Incorrect or unsupported encoding style: "+o),""}})).join("&")}(this.value,r))}getExternalValue(e){return this.externalValueUrl?(this.externalValueUrl in $c||($c[this.externalValueUrl]=fetch(this.externalValueUrl).then((t=>t.text().then((n=>{if(!t.ok)return Promise.reject(new Error(n));if(!es(e))return n;try{return JSON.parse(n)}catch(e){return n}}))))),$c[this.externalValueUrl]):Promise.resolve(void 0)}}var Rc=Object.defineProperty,jc=Object.getOwnPropertyDescriptor,Tc=(e,t,n,r)=>{for(var o,i=r>1?void 0:r?jc(t,n):t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&Rc(t,n,i),i};const Ic={path:{style:"simple",explode:!1},query:{style:"form",explode:!0},header:{style:"simple",explode:!1},cookie:{style:"form",explode:!0}};class Nc{constructor(e,t,n,r,o){var i,a,s,l,c;this.expanded=void 0,tn(this);const{resolved:u}=e.deref(t);this.kind=t.kind||"field",this.name=t.name||u.name,this.in=u.in,this.required=!!u.required;let p=u.schema,d="";if(!p&&u.in&&u.content&&(d=Object.keys(u.content)[0],p=u.content[d]&&u.content[d].schema),this.schema=new Ec(e,p||{},n,r,!1,o),this.description=void 0===u.description?this.schema.description||"":u.description,this.example=u.example||this.schema.example,void 0!==u.examples||void 0!==this.schema.examples){const t=u.examples||this.schema.examples;this.examples=io(t)?t:Qr(t,((t,n)=>new Cc(e,t,n,u.encoding)))}d?this.serializationMime=d:u.style?this.style=u.style:this.in&&(this.style=null!=(a=null==(i=Ic[this.in])?void 0:i.style)?a:"form"),void 0===u.explode&&this.in?this.explode=null==(l=null==(s=Ic[this.in])?void 0:s.explode)||l:this.explode=!!u.explode,this.deprecated=void 0===u.deprecated?!!this.schema.deprecated:u.deprecated,r.showExtensions&&(this.extensions=gs(u,r.showExtensions)),this.const=(null==(c=this.schema)?void 0:c.const)||(null==u?void 0:u.const)||""}toggle(){this.expanded=!this.expanded}collapse(){this.expanded=!1}expand(){this.expanded=!0}}function Dc(e){return e<10?"0"+e:e}function Lc(e,t){return t>e.length?e.repeat(Math.trunc(t/e.length)+1).substring(0,t):e}function Mc(...e){const t=e=>e&&"object"==typeof e;return e.reduce(((e,n)=>(Object.keys(n||{}).forEach((r=>{const o=e[r],i=n[r];t(o)&&t(i)?e[r]=Mc(o,i):e[r]=i})),e)),Array.isArray(e[e.length-1])?[]:{})}function Fc(e){return{value:"object"===e?{}:"array"===e?[]:void 0}}function zc(e,t){t&&e.pop()}Tc([Ae],Nc.prototype,"expanded",2),Tc([Pt],Nc.prototype,"toggle",1),Tc([Pt],Nc.prototype,"collapse",1),Tc([Pt],Nc.prototype,"expand",1);const Uc={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",additionalItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",properties:"object",patternProperties:"object",dependencies:"object"};function Vc(e){if(void 0!==e.type)return Array.isArray(e.type)?0===e.type.length?null:e.type[0]:e.type;const t=Object.keys(Uc);for(var n=0;nt.maxSampleDepth)return zc(qc,r),Fc(Vc(e));if(e.$ref){if(!n)throw new Error("Your schema contains $ref. You must provide full specification in the third parameter.");let o=decodeURIComponent(e.$ref);o.startsWith("#")&&(o=o.substring(1));const i=Ia().get(n,o);let a;return!0!==Bc[o]?(Bc[o]=!0,a=Yc(i,t,n,r),Bc[o]=!1):a=Fc(Vc(i)),zc(qc,r),a}if(void 0!==e.example)return zc(qc,r),{value:e.example,readOnly:e.readOnly,writeOnly:e.writeOnly,type:e.type};if(void 0!==e.allOf)return zc(qc,r),Hc(e)||function(e,t,n,r,o){let i=Yc(e,n,r);const a=[];for(let e of t){const{type:t,readOnly:s,writeOnly:l,value:c}=Yc({type:i.type,...e},n,r,o);i.type&&t&&t!==i.type&&(console.warn("allOf: schemas with different types can't be merged"),i.type=t),i.type=i.type||t,i.readOnly=i.readOnly||s,i.writeOnly=i.writeOnly||l,null!=c&&a.push(c)}if("object"===i.type)return i.value=Mc(i.value||{},...a.filter((e=>"object"==typeof e))),i;{"array"===i.type&&(n.quiet||console.warn('OpenAPI Sampler: found allOf with "array" type. Result may be incorrect'));const e=a[a.length-1];return i.value=null!=e?e:i.value,i}}({...e,allOf:void 0},e.allOf,t,n,r);if(e.oneOf&&e.oneOf.length)return e.anyOf&&(t.quiet||console.warn("oneOf and anyOf are not supported on the same level. Skipping anyOf")),zc(qc,r),a(e,Object.assign({readOnly:e.readOnly,writeOnly:e.writeOnly},e.oneOf[0]));if(e.anyOf&&e.anyOf.length)return zc(qc,r),a(e,Object.assign({readOnly:e.readOnly,writeOnly:e.writeOnly},e.anyOf[0]));if(e.if&&e.then){zc(qc,r);const{if:o,then:i,...a}=e;return Yc(Mc(a,o,i),t,n,r)}let o=Wc(e),i=null;if(void 0===o){o=null,i=e.type,Array.isArray(i)&&e.type.length>0&&(i=e.type[0]),i||(i=Vc(e));let a=Jc[i];a&&(o=a(e,t,n,r))}return zc(qc,r),{value:o,readOnly:e.readOnly,writeOnly:e.writeOnly,type:i};function a(e,o){const i=Hc(e);if(void 0!==i)return i;const a=Yc({...e,oneOf:void 0,anyOf:void 0},t,n,r),s=Yc(o,t,n,r);if("object"==typeof a.value&&"object"==typeof s.value){const e=Mc(a.value,s.value);return{...s,value:e}}return s}}function Kc(e){let t=0;if("boolean"==typeof e.exclusiveMinimum||"boolean"==typeof e.exclusiveMaximum){if(e.maximum&&e.minimum)return t=e.exclusiveMinimum?Math.floor(e.minimum)+1:e.minimum,(e.exclusiveMaximum&&t>=e.maximum||!e.exclusiveMaximum&&t>e.maximum)&&(t=(e.maximum+e.minimum)/2),t;if(e.minimum)return e.exclusiveMinimum?Math.floor(e.minimum)+1:e.minimum;if(e.maximum)return e.exclusiveMaximum?e.maximum>0?0:Math.floor(e.maximum)-1:e.maximum>0?0:e.maximum}else{if(e.minimum)return e.minimum;e.exclusiveMinimum?(t=Math.floor(e.exclusiveMinimum)+1,t===e.exclusiveMaximum&&(t=(t+Math.floor(e.exclusiveMaximum)-1)/2)):e.exclusiveMaximum?t=Math.floor(e.exclusiveMaximum)-1:e.maximum&&(t=e.maximum)}return t}function Gc({min:e,max:t,omitTime:n,omitDate:r}){let o=function(e,t,n,r){var o=n?"":e.getUTCFullYear()+"-"+Dc(e.getUTCMonth()+1)+"-"+Dc(e.getUTCDate());return t||(o+="T"+Dc(e.getUTCHours())+":"+Dc(e.getUTCMinutes())+":"+Dc(e.getUTCSeconds())+"Z"),o}(new Date("2019-08-24T14:15:22.123Z"),n,r);return o.lengtht&&console.warn(`Using maxLength = ${t} is incorrect with format "date-time"`),o}function Qc(e,t){let n=Lc("string",e);return t&&n.length>t&&(n=n.substring(0,t)),n}const Xc={email:function(){return"user@example.com"},"idn-email":function(){return"пошта@укр.нет"},password:function(e,t){let n="pa$$word";return e>n.length&&(n+="_",n+=Lc("qwerty!@#$%^123456",e-n.length).substring(0,e-n.length)),n},"date-time":function(e,t){return Gc({min:e,max:t,omitTime:!1,omitDate:!1})},date:function(e,t){return Gc({min:e,max:t,omitTime:!0,omitDate:!1})},time:function(e,t){return Gc({min:e,max:t,omitTime:!1,omitDate:!0}).slice(1)},ipv4:function(){return"192.168.0.1"},ipv6:function(){return"2001:0db8:85a3:0000:0000:8a2e:0370:7334"},hostname:function(){return"example.com"},"idn-hostname":function(){return"приклад.укр"},iri:function(){return"http://example.com"},"iri-reference":function(){return"../словник"},uri:function(){return"http://example.com"},"uri-reference":function(){return"../dictionary"},"uri-template":function(){return"http://example.com/{endpoint}"},uuid:function(e,t,n){return r=function(e){var t=0;if(0==e.length)return t;for(var n=0;n>>5)|0;return e=t^((n|=0)<<17|n>>>15),t=n+(r|=0)|0,n=r+o|0,((r=e+o|0)>>>0)/4294967296}}(r,r,r,r),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{var t=16*o()%16|0;return("x"==e?t:3&t|8).toString(16)}));var r,o},default:Qc,"json-pointer":function(){return"/json/pointer"},"relative-json-pointer":function(){return"1/relative/json/pointer"},regex:function(){return"/regex/"}};var Jc={};const Zc={skipReadOnly:!1,maxSampleDepth:15};function eu(e,t,n){let r=Object.assign({},Zc,t);return Bc={},qc=[],Yc(e,r,n).value}function tu(e,t){Jc[e]=t}tu("array",(function(e,t={},n,r){const o=r&&r.depth||1;let i=Math.min(null!=e.maxItems?e.maxItems:1/0,e.minItems||1);const a=e.prefixItems||e.items||e.contains;Array.isArray(a)&&(i=Math.max(i,a.length));let s=[];if(!a)return s;for(let e=0;e(e[t]=!0,e)),{});Object.keys(e.properties).forEach((a=>{if(t.skipNonRequired&&!r.hasOwnProperty(a))return;const s=Yc(e.properties[a],t,n,{propertyName:a,depth:i+1});t.skipReadOnly&&s.readOnly||t.skipWriteOnly&&s.writeOnly||(o[a]=s.value)}))}if(e&&"object"==typeof e.additionalProperties){const r=e.additionalProperties["x-additionalPropertiesName"]||"property";o[`${String(r)}1`]=Yc(e.additionalProperties,t,n,{depth:i+1}).value,o[`${String(r)}2`]=Yc(e.additionalProperties,t,n,{depth:i+1}).value}return o})),tu("string",(function(e,t,n,r){let o=e.format||"default",i=Xc[o]||Qc,a=r&&r.propertyName;return i(0|e.minLength,e.maxLength,a)}));class nu{constructor(e,t,n,r,o){this.name=t,this.isRequestType=n,this.schema=r.schema&&new Ec(e,r.schema,"",o),this.onlyRequiredInSamples=o.onlyRequiredInSamples,this.generatedPayloadSamplesMaxDepth=o.generatedPayloadSamplesMaxDepth,void 0!==r.examples?this.examples=Qr(r.examples,(n=>new Cc(e,n,t,r.encoding))):void 0!==r.example?this.examples={default:new Cc(e,{value:e.deref(r.example).resolved},t,r.encoding)}:es(t)&&this.generateExample(e,r)}generateExample(e,t){const n={skipReadOnly:this.isRequestType,skipWriteOnly:!this.isRequestType,skipNonRequired:this.isRequestType&&this.onlyRequiredInSamples,maxSampleDepth:this.generatedPayloadSamplesMaxDepth};if(this.schema&&this.schema.oneOf){this.examples={};for(const r of this.schema.oneOf){const o=eu(r.rawSchema,n,e.spec);this.schema.discriminatorProp&&"object"==typeof o&&o&&(o[this.schema.discriminatorProp]=r.title),this.examples[r.title]=new Cc(e,{value:o},this.name,t.encoding)}}else this.schema&&(this.examples={default:new Cc(e,{value:eu(t.schema,n,e.spec)},this.name,t.encoding)})}}var ru=Object.defineProperty,ou=Object.getOwnPropertyDescriptor,iu=(e,t,n,r)=>{for(var o,i=r>1?void 0:r?ou(t,n):t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&ru(t,n,i),i};class au{constructor(e,t,n,r){this.isRequestType=n,this.activeMimeIdx=0,tn(this),r.unstable_ignoreMimeParameters&&(t=function(e){const t={};return Object.keys(e).forEach((n=>{const r=e[n],o=n.split(";")[0].trim();t[o]?t[o]=Ha(Ha({},t[o]),r):t[o]=r})),t}(t)),this.mediaTypes=Object.keys(t).map((o=>{const i=t[o];return new nu(e,o,n,i,r)}))}activate(e){this.activeMimeIdx=e}get active(){return this.mediaTypes[this.activeMimeIdx]}get hasSample(){return this.mediaTypes.filter((e=>!!e.examples)).length>0}}iu([Ae],au.prototype,"activeMimeIdx",2),iu([Pt],au.prototype,"activate",1),iu([je],au.prototype,"active",1);class su{constructor({parser:e,infoOrRef:t,options:n,isEvent:r}){const o=!r,{resolved:i}=e.deref(t);this.description=i.description||"",this.required=!!i.required;const a=function(e){let t=e.content;const n=e["x-examples"],r=e["x-example"];if(n){t=Ha({},t);for(const e of Object.keys(n)){const r=n[e];t[e]=Ya(Ha({},t[e]),{examples:r})}}else if(r){t=Ha({},t);for(const e of Object.keys(r)){const n=r[e];t[e]=Ya(Ha({},t[e]),{example:n})}}return t}(i);void 0!==a&&(this.content=new au(e,a,o,n))}}var lu=Object.defineProperty,cu=Object.defineProperties,uu=Object.getOwnPropertyDescriptor,pu=Object.getOwnPropertyDescriptors,du=Object.getOwnPropertySymbols,fu=Object.prototype.hasOwnProperty,hu=Object.prototype.propertyIsEnumerable,mu=(e,t,n)=>t in e?lu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gu=(e,t,n,r)=>{for(var o,i=r>1?void 0:r?uu(t,n):t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&lu(t,n,i),i};class yu{constructor({parser:e,code:t,defaultAsError:n,infoOrRef:r,options:o,isEvent:i}){this.expanded=!1,this.headers=[],tn(this),this.expanded="all"===o.expandResponses||o.expandResponses[t];const{resolved:a}=e.deref(r);this.code=t,void 0!==a.content&&(this.content=new au(e,a.content,i,o)),void 0!==a["x-summary"]?(this.summary=a["x-summary"],this.description=a.description||""):(this.summary=a.description||"",this.description=""),this.type=Ga(t,n);const s=a.headers;void 0!==s&&(this.headers=Object.keys(s).map((t=>{const n=s[t];return new Nc(e,((e,t)=>cu(e,pu(t)))(((e,t)=>{for(var n in t||(t={}))fu.call(t,n)&&mu(e,n,t[n]);if(du)for(var n of du(t))hu.call(t,n)&&mu(e,n,t[n]);return e})({},n),{name:t}),"",o)}))),o.showExtensions&&(this.extensions=gs(a,o.showExtensions))}toggle(){this.expanded=!this.expanded}}gu([Ae],yu.prototype,"expanded",2),gu([Pt],yu.prototype,"toggle",1);var vu=Object.defineProperty,bu=Object.getOwnPropertyDescriptor,wu=(e,t,n,r)=>{for(var o,i=r>1?void 0:r?bu(t,n):t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&vu(t,n,i),i};function xu(e){return"payload"===e.lang&&e.requestBodyContent}let ku=!1;class _u{constructor(e,t,n,r,o=!1){var i;this.parser=e,this.operationSpec=t,this.options=r,this.type="operation",this.items=[],this.ready=!0,this.active=!1,this.expanded=!1,tn(this),this.pointer=t.pointer,this.description=t.description,this.parent=n,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=o,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=(i=t).summary||i.operationId||i.description&&i.description.substring(0,50)||i.pathName||"",this.sidebarLabel=r.sideNavStyle===co.IdOnly?this.operationId||this.path:r.sideNavStyle===co.PathOnly?this.path:this.name,this.isCallback?(this.security=(t.security||[]).map((t=>new Vl(t,e))),this.servers=fs("",t.servers||t.pathServers||[])):(this.operationHash=t.operationId&&"operation/"+t.operationId,this.id=void 0!==t.operationId?(n?n.id+"/":"")+this.operationHash:void 0!==n?n.id+this.pointer:this.pointer,this.security=(t.security||e.spec.security||[]).map((t=>new Vl(t,e))),this.servers=fs(e.specUrl,t.servers||t.pathServers||e.spec.servers||[])),r.showExtensions&&(this.extensions=gs(t,r.showExtensions))}activate(){this.active=!0}deactivate(){this.active=!1}toggle(){this.expanded=!this.expanded}expand(){this.parent&&this.parent.expand()}collapse(){}get requestBody(){return this.operationSpec.requestBody&&new su({parser:this.parser,infoOrRef:this.operationSpec.requestBody,options:this.options,isEvent:this.isEvent})}get codeSamples(){let e=this.operationSpec["x-codeSamples"]||this.operationSpec["x-code-samples"]||[];this.operationSpec["x-code-samples"]&&!ku&&(ku=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead'));const t=this.requestBody&&this.requestBody.content;if(t&&t.hasSample){const n=Math.min(e.length,this.options.payloadSampleIdx);e=[...e.slice(0,n),{lang:"payload",label:"Payload",source:"",requestBodyContent:t},...e.slice(n)]}return e}get parameters(){const e=function(e,t=[],n=[]){const r={};return n.forEach((t=>{({resolved:t}=e.deref(t)),r[t.name+"_"+t.in]=!0})),(t=t.filter((t=>(({resolved:t}=e.deref(t)),!r[t.name+"_"+t.in])))).concat(n)}(this.parser,this.operationSpec.pathParameters,this.operationSpec.parameters).map((e=>new Nc(this.parser,e,this.pointer,this.options)));return this.options.sortPropsAlphabetically?ds(e,"name"):this.options.requiredPropsFirst?ps(e):e}get responses(){let e=!1;return Object.keys(this.operationSpec.responses||[]).filter((t=>{return"default"===t||("success"===Ga(t)&&(e=!0),"default"===(n=t)||Jr(n)||Ka(n));var n})).map((t=>new yu({parser:this.parser,code:t,defaultAsError:e,infoOrRef:this.operationSpec.responses[t],options:this.options,isEvent:this.isEvent})))}get callbacks(){return Object.keys(this.operationSpec.callbacks||[]).map((e=>new ec(this.parser,e,this.operationSpec.callbacks[e],this.pointer,this.options)))}}wu([Ae],_u.prototype,"ready",2),wu([Ae],_u.prototype,"active",2),wu([Ae],_u.prototype,"expanded",2),wu([Pt],_u.prototype,"activate",1),wu([Pt],_u.prototype,"deactivate",1),wu([Pt],_u.prototype,"toggle",1),wu([$s],_u.prototype,"requestBody",1),wu([$s],_u.prototype,"codeSamples",1),wu([$s],_u.prototype,"parameters",1),wu([$s],_u.prototype,"responses",1),wu([$s],_u.prototype,"callbacks",1);const Ou=ga.div` + width: calc(100% - ${e=>e.theme.rightPanel.width}); + padding: 0 ${e=>e.theme.spacing.sectionHorizontal}px; + + ${({compact:e,theme:t})=>ma("medium",!0)` + width: 100%; + padding: ${`${e?0:t.spacing.sectionVertical}px ${t.spacing.sectionHorizontal}px`}; + `}; +`,Su=ga.div.attrs((e=>({[gf]:e.id})))` + padding: ${e=>e.theme.spacing.sectionVertical}px 0; + + &:last-child { + min-height: calc(100vh + 1px); + } + + & > &:last-child { + min-height: initial; + } + + ${ma("medium",!0)` + padding: 0; + `} + ${e=>e.underlined?"\n position: relative;\n\n &:not(:last-of-type):after {\n position: absolute;\n bottom: 0;\n width: 100%;\n display: block;\n content: '';\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n }\n ":""} +`,Eu=ga.div` + width: ${e=>e.theme.rightPanel.width}; + color: ${({theme:e})=>e.rightPanel.textColor}; + background-color: ${e=>e.theme.rightPanel.backgroundColor}; + padding: 0 ${e=>e.theme.spacing.sectionHorizontal}px; + + ${ma("medium",!0)` + width: 100%; + padding: ${e=>`${e.theme.spacing.sectionVertical}px ${e.theme.spacing.sectionHorizontal}px`}; + `}; +`,Pu=ga(Eu)` + background-color: ${e=>e.theme.rightPanel.backgroundColor}; +`,Au=ga.div` + display: flex; + width: 100%; + padding: 0; + + ${ma("medium",!0)` + flex-direction: column; + `}; +`,$u={1:"1.85714em",2:"1.57143em",3:"1.27em"},Cu=e=>pa` + font-family: ${({theme:e})=>e.typography.headings.fontFamily}; + font-weight: ${({theme:e})=>e.typography.headings.fontWeight}; + font-size: ${$u[e]}; + line-height: ${({theme:e})=>e.typography.headings.lineHeight}; +`,Ru=ga.h1` + ${Cu(1)}; + color: ${({theme:e})=>e.colors.text.primary}; + + ${ya("H1")}; +`,ju=ga.h2` + ${Cu(2)}; + color: ${({theme:e})=>e.colors.text.primary}; + margin: 0 0 20px; + + ${ya("H2")}; +`,Tu=(ga.h2` + ${Cu(3)}; + color: ${({theme:e})=>e.colors.text.primary}; + + ${ya("H3")}; +`,ga.h3` + color: ${({theme:e})=>e.rightPanel.textColor}; + + ${ya("RightPanelHeader")}; +`),Iu=ga.h5` + border-bottom: 1px solid rgba(38, 50, 56, 0.3); + margin: 1em 0 1em 0; + color: rgba(38, 50, 56, 0.5); + font-weight: normal; + text-transform: uppercase; + font-size: 0.929em; + line-height: 20px; + + ${ya("UnderlinedHeader")}; +`,Nu=(0,n.createContext)(void 0),{Provider:Du,Consumer:Lu}=Nu;function Mu(e){const{spec:t,specUrl:o,options:i,onLoaded:a,children:s}=e,[l,c]=n.useState(null),[u,p]=n.useState(null);if(u)throw u;n.useEffect((()=>{!function(){return e=this,null,n=function*(){if(t||o){c(null);try{const e=yield function(e){return t=this,n=function*(){const t=new $a.Config({}),n={config:t,base:qr?window.location.href:process.cwd()};qr&&(t.resolve.http.customFetch=r.g.fetch),"object"==typeof e&&null!==e?n.doc={source:{absoluteRef:""},parsed:e}:n.ref=e;const{bundle:{parsed:o}}=yield(0,Aa.bundle)(n);return void 0!==o.swagger?(i=o,console.warn("[ReDoc Compatibility mode]: Converting OpenAPI 2.0 to OpenAPI 3.0"),new Promise(((e,t)=>(0,Ca.convertObj)(i,{patch:!0,warnOnly:!0,text:"{}",anchors:!0},((n,r)=>{if(n)return t(n);e(r&&r.openapi)}))))):o;var i},new Promise(((e,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},i=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,i);a((n=n.apply(t,null)).next())}));var t,n}(t||o);c(e)}catch(e){throw p(e),e}}},new Promise(((t,r)=>{var o=e=>{try{a(n.next(e))}catch(e){r(e)}},i=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,i);a((n=n.apply(e,null)).next())}));var e,n}()}),[t,o]);const d=n.useMemo((()=>{if(!l)return null;try{return new ey(l,o,i)}catch(e){throw a&&a(e),e}}),[l,o,i]);return n.useEffect((()=>{d&&a&&a()}),[d,a]),s({loading:!d,store:d})}const Fu=e=>pa` + ${e} { + cursor: pointer; + margin-left: -20px; + padding: 0; + line-height: 1; + width: 20px; + display: inline-block; + outline: 0; + } + ${e}:before { + content: ''; + width: 15px; + height: 15px; + background-size: contain; + background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSIjMDEwMTAxIiBkPSJNNDU5LjcgMjMzLjRsLTkwLjUgOTAuNWMtNTAgNTAtMTMxIDUwLTE4MSAwIC03LjktNy44LTE0LTE2LjctMTkuNC0yNS44bDQyLjEtNDIuMWMyLTIgNC41LTMuMiA2LjgtNC41IDIuOSA5LjkgOCAxOS4zIDE1LjggMjcuMiAyNSAyNSA2NS42IDI0LjkgOTAuNSAwbDkwLjUtOTAuNWMyNS0yNSAyNS02NS42IDAtOTAuNSAtMjQuOS0yNS02NS41LTI1LTkwLjUgMGwtMzIuMiAzMi4yYy0yNi4xLTEwLjItNTQuMi0xMi45LTgxLjYtOC45bDY4LjYtNjguNmM1MC01MCAxMzEtNTAgMTgxIDBDNTA5LjYgMTAyLjMgNTA5LjYgMTgzLjQgNDU5LjcgMjMzLjR6TTIyMC4zIDM4Mi4ybC0zMi4yIDMyLjJjLTI1IDI0LjktNjUuNiAyNC45LTkwLjUgMCAtMjUtMjUtMjUtNjUuNiAwLTkwLjVsOTAuNS05MC41YzI1LTI1IDY1LjUtMjUgOTAuNSAwIDcuOCA3LjggMTIuOSAxNy4yIDE1LjggMjcuMSAyLjQtMS40IDQuOC0yLjUgNi44LTQuNWw0Mi4xLTQyYy01LjQtOS4yLTExLjYtMTgtMTkuNC0yNS44IC01MC01MC0xMzEtNTAtMTgxIDBsLTkwLjUgOTAuNWMtNTAgNTAtNTAgMTMxIDAgMTgxIDUwIDUwIDEzMSA1MCAxODEgMGw2OC42LTY4LjZDMjc0LjYgMzk1LjEgMjQ2LjQgMzkyLjMgMjIwLjMgMzgyLjJ6Ii8+PC9zdmc+Cg=='); + opacity: 0.5; + visibility: hidden; + display: inline-block; + vertical-align: middle; + } + + h1:hover > ${e}::before, h2:hover > ${e}::before, ${e}:hover::before { + visibility: visible; + } +`,zu=ga((function(e){const t=n.useContext(Nu),r=n.useCallback((n=>{t&&function(e,t,n){t.defaultPrevented||0!==t.button||(e=>!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey))(t)||(t.preventDefault(),e.replace(encodeURI(n)))}(t.menu.history,n,e.to)}),[t,e.to]);return t?n.createElement("a",{className:e.className,href:t.menu.history.linkForId(e.to),onClick:r,"aria-label":e.to},e.children):null}))` + ${Fu("&")}; +`;function Uu(e){return n.createElement(zu,{to:e.to})}const Vu={left:"90deg",right:"-90deg",up:"-180deg",down:"0"},Bu=ga((e=>n.createElement("svg",{className:e.className,style:e.style,version:"1.1",viewBox:"0 0 24 24",x:"0",xmlns:"http://www.w3.org/2000/svg",y:"0","aria-hidden":"true"},n.createElement("polygon",{points:"17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "}))))` + height: ${e=>e.size||"18px"}; + width: ${e=>e.size||"18px"}; + min-width: ${e=>e.size||"18px"}; + vertical-align: middle; + float: ${e=>e.float||""}; + transition: transform 0.2s ease-out; + transform: rotateZ(${e=>Vu[e.direction||"down"]}); + + polygon { + fill: ${({color:e,theme:t})=>e&&t.colors.responses[e]&&t.colors.responses[e].color||e}; + } +`,qu=ga.span` + display: inline-block; + padding: 2px 8px; + margin: 0; + background-color: ${e=>e.theme.colors[e.type].main}; + color: ${e=>e.theme.colors[e.type].contrastText}; + font-size: ${e=>e.theme.typography.code.fontSize}; + vertical-align: middle; + line-height: 1.6; + border-radius: 4px; + font-weight: ${({theme:e})=>e.typography.fontWeightBold}; + font-size: 12px; + + span[type] { + margin-left: 4px; + } +`,Wu=pa` + text-decoration: line-through; + color: #707070; +`,Hu=ga.caption` + text-align: right; + font-size: 0.9em; + font-weight: normal; + color: ${e=>e.theme.colors.text.secondary}; +`,Yu=ga.td` + border-left: 1px solid ${e=>e.theme.schema.linesColor}; + box-sizing: border-box; + position: relative; + padding: 10px 10px 10px 0; + + ${ma("small")` + display: block; + overflow: hidden; + `} + + tr:first-of-type > &, + tr.last > & { + border-left-width: 0; + background-position: top left; + background-repeat: no-repeat; + background-size: 1px 100%; + } + + tr:first-of-type > & { + background-image: linear-gradient( + to bottom, + transparent 0%, + transparent 22px, + ${e=>e.theme.schema.linesColor} 22px, + ${e=>e.theme.schema.linesColor} 100% + ); + } + + tr.last > & { + background-image: linear-gradient( + to bottom, + ${e=>e.theme.schema.linesColor} 0%, + ${e=>e.theme.schema.linesColor} 22px, + transparent 22px, + transparent 100% + ); + } + + tr.last + tr > & { + border-left-color: transparent; + } + + tr.last:first-child > & { + background: none; + border-left-color: transparent; + } +`,Ku=ga(Yu)` + padding: 0; +`,Gu=ga(Yu)` + vertical-align: top; + line-height: 20px; + white-space: nowrap; + font-size: 13px; + font-family: ${e=>e.theme.typography.code.fontFamily}; + + &.deprecated { + ${Wu}; + } + + ${({kind:e})=>"patternProperties"===e&&pa` + > span.property-name { + display: inline-table; + white-space: break-spaces; + margin-right: 20px; + + ::before, + ::after { + content: '/'; + filter: opacity(0.2); + } + } + `} + + ${({kind:e=""})=>["field","additionalProperties","patternProperties"].includes(e)?"":"font-style: italic"}; + + ${ya("PropertyNameCell")}; +`,Qu=ga.td` + border-bottom: 1px solid #9fb4be; + padding: 10px 0; + width: ${e=>e.theme.schema.defaultDetailsWidth}; + box-sizing: border-box; + + tr.expanded & { + border-bottom: none; + } + + ${ma("small")` + padding: 0 20px; + border-bottom: none; + border-left: 1px solid ${e=>e.theme.schema.linesColor}; + + tr.last > & { + border-left: none; + } + `} + + ${ya("PropertyDetailsCell")}; +`,Xu=ga.span` + color: ${e=>e.theme.schema.linesColor}; + font-family: ${e=>e.theme.typography.code.fontFamily}; + margin-right: 10px; + + &::before { + content: ''; + display: inline-block; + vertical-align: middle; + width: 10px; + height: 1px; + background: ${e=>e.theme.schema.linesColor}; + } + + &::after { + content: ''; + display: inline-block; + vertical-align: middle; + width: 1px; + background: ${e=>e.theme.schema.linesColor}; + height: 7px; + } +`,Ju=ga.div` + padding: ${({theme:e})=>e.schema.nestingSpacing}; +`,Zu=ga.table` + border-collapse: separate; + border-radius: 3px; + font-size: ${e=>e.theme.typography.fontSize}; + + border-spacing: 0; + width: 100%; + + > tr { + vertical-align: middle; + } + + ${ma("small")` + display: block; + > tr, > tbody > tr { + display: block; + } + `} + + ${ma("small",!1," and (-ms-high-contrast:none)")` + td { + float: left; + width: 100%; + } + `} + + & + ${Ju}, + & + ${Ju} + ${Ju} + ${Ju}, + & + ${Ju} + ${Ju} + ${Ju} + ${Ju} + ${Ju} { + margin: ${({theme:e})=>e.schema.nestingSpacing}; + margin-right: 0; + background: ${({theme:e})=>e.schema.nestedBackground}; + } + + & + ${Ju} + ${Ju}, + & + ${Ju} + ${Ju} + ${Ju} + ${Ju}, + & + ${Ju} + ${Ju} + ${Ju} + ${Ju} + ${Ju} + ${Ju} { + background: #ffffff; + } +`,ep=ga.div` + margin: 0 0 3px 0; + display: inline-block; +`,tp=ga.span` + font-size: 0.9em; + margin-right: 10px; + color: ${e=>e.theme.colors.primary.main}; + font-family: ${e=>e.theme.typography.headings.fontFamily}; +} +`,np=ga.button` + display: inline-block; + margin-right: 10px; + margin-bottom: 5px; + font-size: 0.8em; + cursor: pointer; + border: 1px solid ${e=>e.theme.colors.primary.main}; + padding: 2px 10px; + line-height: 1.5em; + outline: none; + &:focus { + box-shadow: 0 0 0 1px ${e=>e.theme.colors.primary.main}; + } + + ${({deprecated:e})=>e&&Wu||""}; + + ${e=>e.active?`\n color: white;\n background-color: ${e.theme.colors.primary.main};\n &:focus {\n box-shadow: none;\n background-color: ${Rr(.15,e.theme.colors.primary.main)};\n }\n `:`\n color: ${e.theme.colors.primary.main};\n background-color: white;\n `} +`,rp=ga.div` + font-size: 0.9em; + font-family: ${e=>e.theme.typography.code.fontFamily}; + &::after { + content: ' ['; + } +`,op=ga.div` + font-size: 0.9em; + font-family: ${e=>e.theme.typography.code.fontFamily}; + &::after { + content: ']'; + } +`;function ip(e){return function(t){return!!t.type&&t.type.tabsRole===e}}var ap=ip("Tab"),sp=ip("TabList"),lp=ip("TabPanel");function cp(){return cp=Object.assign||function(e){for(var t=1;t=this.getTabsCount())){var n=this.props;(0,n.onSelect)(e,n.selectedIndex,t)}},i.getNextTab=function(e){for(var t=this.getTabsCount(),n=e+1;ne;)if(!kp(this.getTab(t)))return t;return e},i.getFirstTab=function(){for(var e=this.getTabsCount(),t=0;t=0||(o[n]=e[n]);return o}(t,["children","className","disabledTabClassName","domRef","focus","forceRenderTabPanel","onSelect","selectedIndex","selectedTabClassName","selectedTabPanelClassName","environment","disableUpDownKeys"]));return n.createElement("div",vp({},i,{className:fp(r),onClick:this.handleClick,onKeyDown:this.handleKeyDown,ref:function(t){e.node=t,o&&o(t)},"data-tabs":!0}),this.getChildren())},o}(n.Component);function Op(e,t){return Op=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},Op(e,t)}_p.defaultProps={className:"react-tabs",focus:!1},_p.propTypes={};var Sp=function(e){var t,r;function o(t){var n;return(n=e.call(this,t)||this).handleSelected=function(e,t,r){var o=n.props.onSelect,i=n.state.mode;if("function"!=typeof o||!1!==o(e,t,r)){var a={focus:"keydown"===r.type};1===i&&(a.selectedIndex=e),n.setState(a)}},n.state=o.copyPropsToState(n.props,{},t.defaultFocus),n}return r=e,(t=o).prototype=Object.create(r.prototype),t.prototype.constructor=t,Op(t,r),o.getDerivedStateFromProps=function(e,t){return o.copyPropsToState(e,t)},o.getModeFromProps=function(e){return null===e.selectedIndex?1:0},o.copyPropsToState=function(e,t,n){void 0===n&&(n=!1);var r={focus:n,mode:o.getModeFromProps(e)};if(1===r.mode){var i,a=Math.max(0,yp(e.children)-1);i=null!=t.selectedIndex?Math.min(t.selectedIndex,a):e.defaultIndex||0,r.selectedIndex=i}return r},o.prototype.render=function(){var e=this.props,t=e.children,r=(e.defaultIndex,e.defaultFocus,function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}(e,["children","defaultIndex","defaultFocus"])),o=this.state,i=o.focus,a=o.selectedIndex;return r.focus=i,r.onSelect=this.handleSelected,null!=a&&(r.selectedIndex=a),n.createElement(_p,r,t)},o}(n.Component);function Ep(){return Ep=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,["children","className"]);return n.createElement("ul",Ep({},o,{className:fp(r),role:"tablist"}),t)},o}(n.Component);function $p(){return $p=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(r,["children","className","disabled","disabledClassName","focus","id","panelId","selected","selectedClassName","tabIndex","tabRef"]);return n.createElement("li",$p({},h,{className:fp(i,(e={},e[p]=u,e[s]=a,e)),ref:function(e){t.node=e,f&&f(e)},role:"tab",id:l,"aria-selected":u?"true":"false","aria-disabled":a?"true":"false","aria-controls":c,tabIndex:d||(u?"0":null)}),o)},o}(n.Component);function Tp(){return Tp=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}(t,["children","className","forceRender","id","selected","selectedClassName","tabId"]);return n.createElement("div",Tp({},u,{className:fp(o,(e={},e[l]=s,e)),role:"tabpanel",id:a,"aria-labelledby":c}),i||s?r:null)},o}(n.Component);Np.defaultProps={className:"react-tabs__tab-panel",forceRender:!1,selectedClassName:"react-tabs__tab-panel--selected"},Np.propTypes={},Np.tabsRole="TabPanel";const Dp=ga(Sp)` + > ul { + list-style: none; + padding: 0; + margin: 0; + margin: 0 -5px; + + > li { + padding: 5px 10px; + display: inline-block; + + background-color: ${({theme:e})=>e.codeBlock.backgroundColor}; + border-bottom: 1px solid rgba(0, 0, 0, 0.5); + cursor: pointer; + text-align: center; + outline: none; + color: ${({theme:e})=>Rr(e.colors.tonalOffset,e.rightPanel.textColor)}; + margin: 0 + ${({theme:e})=>`${e.spacing.unit}px ${e.spacing.unit}px ${e.spacing.unit}px`}; + border: 1px solid ${({theme:e})=>Rr(.05,e.codeBlock.backgroundColor)}; + border-radius: 5px; + min-width: 60px; + font-size: 0.9em; + font-weight: bold; + + &.react-tabs__tab--selected { + color: ${e=>e.theme.colors.text.primary}; + background: ${({theme:e})=>e.rightPanel.textColor}; + &:focus { + outline: auto; + } + } + + &:only-child { + flex: none; + min-width: 100px; + } + + &.tab-success { + color: ${e=>e.theme.colors.responses.success.tabTextColor}; + } + + &.tab-redirect { + color: ${e=>e.theme.colors.responses.redirect.tabTextColor}; + } + + &.tab-info { + color: ${e=>e.theme.colors.responses.info.tabTextColor}; + } + + &.tab-error { + color: ${e=>e.theme.colors.responses.error.tabTextColor}; + } + } + } + > .react-tabs__tab-panel { + background: ${({theme:e})=>e.codeBlock.backgroundColor}; + & > div, + & > pre { + padding: ${e=>4*e.theme.spacing.unit}px; + margin: 0; + } + + & > div > pre { + padding: 0; + } + } +`,Lp=(ga(Dp)` + > ul { + display: block; + > li { + padding: 2px 5px; + min-width: auto; + margin: 0 15px 0 0; + font-size: 13px; + font-weight: normal; + border-bottom: 1px dashed; + color: ${({theme:e})=>Rr(e.colors.tonalOffset,e.rightPanel.textColor)}; + border-radius: 0; + background: none; + + &:last-child { + margin-right: 0; + } + + &.react-tabs__tab--selected { + color: ${({theme:e})=>e.rightPanel.textColor}; + background: none; + } + } + } + > .react-tabs__tab-panel { + & > div, + & > pre { + padding: ${e=>2*e.theme.spacing.unit}px 0; + } + } +`,ga.div` + /** + * Based on prism-dark.css + */ + + code[class*='language-'], + pre[class*='language-'] { + /* color: white; + background: none; */ + text-shadow: 0 -0.1em 0.2em black; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + } + + @media print { + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } + } + + /* Code blocks */ + pre[class*='language-'] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; + } + + .token.comment, + .token.prolog, + .token.doctype, + .token.cdata { + color: hsl(30, 20%, 50%); + } + + .token.punctuation { + opacity: 0.7; + } + + .namespace { + opacity: 0.7; + } + + .token.property, + .token.tag, + .token.number, + .token.constant, + .token.symbol { + color: #4a8bb3; + } + + .token.boolean { + color: #e64441; + } + + .token.selector, + .token.attr-name, + .token.string, + .token.char, + .token.builtin, + .token.inserted { + color: #a0fbaa; + & + a, + & + a:visited { + color: #4ed2ba; + text-decoration: underline; + } + } + + .token.property.string { + color: white; + } + + .token.operator, + .token.entity, + .token.url, + .token.variable { + color: hsl(40, 90%, 60%); + } + + .token.atrule, + .token.attr-value, + .token.keyword { + color: hsl(350, 40%, 70%); + } + + .token.regex, + .token.important { + color: #e90; + } + + .token.important, + .token.bold { + font-weight: bold; + } + .token.italic { + font-style: italic; + } + + .token.entity { + cursor: help; + } + + .token.deleted { + color: red; + } + + ${ya("Prism")}; +`),Mp=ga.div` + opacity: 0.7; + transition: opacity 0.3s ease; + text-align: right; + &:focus-within { + opacity: 1; + } + > button { + background-color: transparent; + border: 0; + color: inherit; + padding: 2px 10px; + font-family: ${({theme:e})=>e.typography.fontFamily}; + font-size: ${({theme:e})=>e.typography.fontSize}; + line-height: ${({theme:e})=>e.typography.lineHeight}; + cursor: pointer; + outline: 0; + + :hover, + :focus { + background: rgba(255, 255, 255, 0.1); + } + } +`,Fp=ga.div` + &:hover ${Mp} { + opacity: 1; + } +`,zp=ga(Lp.withComponent("pre"))` + font-family: ${e=>e.theme.typography.code.fontFamily}; + font-size: ${e=>e.theme.typography.code.fontSize}; + overflow-x: auto; + margin: 0; + + white-space: ${({theme:e})=>e.typography.code.wrap?"pre-wrap":"pre"}; +`;function Up(e){return getComputedStyle(e)}function Vp(e,t){for(var n in t){var r=t[n];"number"==typeof r&&(r+="px"),e.style[n]=r}return e}function Bp(e){var t=document.createElement("div");return t.className=e,t}var qp="undefined"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function Wp(e,t){if(!qp)throw new Error("No element matching method supported");return qp.call(e,t)}function Hp(e){e.remove?e.remove():e.parentNode&&e.parentNode.removeChild(e)}function Yp(e,t){return Array.prototype.filter.call(e.children,(function(e){return Wp(e,t)}))}var Kp=function(e){return"ps__thumb-"+e},Gp=function(e){return"ps__rail-"+e},Qp="ps__child--consume",Xp="ps--focus",Jp="ps--clicking",Zp=function(e){return"ps--active-"+e},ed=function(e){return"ps--scrolling-"+e},td={x:null,y:null};function nd(e,t){var n=e.element.classList,r=ed(t);n.contains(r)?clearTimeout(td[t]):n.add(r)}function rd(e,t){td[t]=setTimeout((function(){return e.isAlive&&e.element.classList.remove(ed(t))}),e.settings.scrollingThreshold)}var od=function(e){this.element=e,this.handlers={}},id={isEmpty:{configurable:!0}};od.prototype.bind=function(e,t){void 0===this.handlers[e]&&(this.handlers[e]=[]),this.handlers[e].push(t),this.element.addEventListener(e,t,!1)},od.prototype.unbind=function(e,t){var n=this;this.handlers[e]=this.handlers[e].filter((function(r){return!(!t||r===t)||(n.element.removeEventListener(e,r,!1),!1)}))},od.prototype.unbindAll=function(){for(var e in this.handlers)this.unbind(e)},id.isEmpty.get=function(){var e=this;return Object.keys(this.handlers).every((function(t){return 0===e.handlers[t].length}))},Object.defineProperties(od.prototype,id);var ad=function(){this.eventElements=[]};function sd(e){if("function"==typeof window.CustomEvent)return new CustomEvent(e);var t=document.createEvent("CustomEvent");return t.initCustomEvent(e,!1,!1,void 0),t}function ld(e,t,n,r,o){var i;if(void 0===r&&(r=!0),void 0===o&&(o=!1),"top"===t)i=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==t)throw new Error("A proper axis should be provided");i=["contentWidth","containerWidth","scrollLeft","x","left","right"]}!function(e,t,n,r,o){var i=n[0],a=n[1],s=n[2],l=n[3],c=n[4],u=n[5];void 0===r&&(r=!0),void 0===o&&(o=!1);var p=e.element;e.reach[l]=null,p[s]<1&&(e.reach[l]="start"),p[s]>e[i]-e[a]-1&&(e.reach[l]="end"),t&&(p.dispatchEvent(sd("ps-scroll-"+l)),t<0?p.dispatchEvent(sd("ps-scroll-"+c)):t>0&&p.dispatchEvent(sd("ps-scroll-"+u)),r&&function(e,t){nd(e,t),rd(e,t)}(e,l)),e.reach[l]&&(t||o)&&p.dispatchEvent(sd("ps-"+l+"-reach-"+e.reach[l]))}(e,n,i,r,o)}function cd(e){return parseInt(e,10)||0}ad.prototype.eventElement=function(e){var t=this.eventElements.filter((function(t){return t.element===e}))[0];return t||(t=new od(e),this.eventElements.push(t)),t},ad.prototype.bind=function(e,t,n){this.eventElement(e).bind(t,n)},ad.prototype.unbind=function(e,t,n){var r=this.eventElement(e);r.unbind(t,n),r.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(r),1)},ad.prototype.unbindAll=function(){this.eventElements.forEach((function(e){return e.unbindAll()})),this.eventElements=[]},ad.prototype.once=function(e,t,n){var r=this.eventElement(e),o=function(e){r.unbind(t,o),n(e)};r.bind(t,o)};var ud={isWebKit:"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style,supportsTouch:"undefined"!=typeof window&&("ontouchstart"in window||"maxTouchPoints"in window.navigator&&window.navigator.maxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:"undefined"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:"undefined"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)};function pd(e){var t=e.element,n=Math.floor(t.scrollTop),r=t.getBoundingClientRect();e.containerWidth=Math.round(r.width),e.containerHeight=Math.round(r.height),e.contentWidth=t.scrollWidth,e.contentHeight=t.scrollHeight,t.contains(e.scrollbarXRail)||(Yp(t,Gp("x")).forEach((function(e){return Hp(e)})),t.appendChild(e.scrollbarXRail)),t.contains(e.scrollbarYRail)||(Yp(t,Gp("y")).forEach((function(e){return Hp(e)})),t.appendChild(e.scrollbarYRail)),!e.settings.suppressScrollX&&e.containerWidth+e.settings.scrollXMarginOffset=e.railXWidth-e.scrollbarXWidth&&(e.scrollbarXLeft=e.railXWidth-e.scrollbarXWidth),e.scrollbarYTop>=e.railYHeight-e.scrollbarYHeight&&(e.scrollbarYTop=e.railYHeight-e.scrollbarYHeight),function(e,t){var n={width:t.railXWidth},r=Math.floor(e.scrollTop);t.isRtl?n.left=t.negativeScrollAdjustment+e.scrollLeft+t.containerWidth-t.contentWidth:n.left=e.scrollLeft,t.isScrollbarXUsingBottom?n.bottom=t.scrollbarXBottom-r:n.top=t.scrollbarXTop+r,Vp(t.scrollbarXRail,n);var o={top:r,height:t.railYHeight};t.isScrollbarYUsingRight?t.isRtl?o.right=t.contentWidth-(t.negativeScrollAdjustment+e.scrollLeft)-t.scrollbarYRight-t.scrollbarYOuterWidth-9:o.right=t.scrollbarYRight-e.scrollLeft:t.isRtl?o.left=t.negativeScrollAdjustment+e.scrollLeft+2*t.containerWidth-t.contentWidth-t.scrollbarYLeft-t.scrollbarYOuterWidth:o.left=t.scrollbarYLeft+e.scrollLeft,Vp(t.scrollbarYRail,o),Vp(t.scrollbarX,{left:t.scrollbarXLeft,width:t.scrollbarXWidth-t.railBorderXWidth}),Vp(t.scrollbarY,{top:t.scrollbarYTop,height:t.scrollbarYHeight-t.railBorderYWidth})}(t,e),e.scrollbarXActive?t.classList.add(Zp("x")):(t.classList.remove(Zp("x")),e.scrollbarXWidth=0,e.scrollbarXLeft=0,t.scrollLeft=!0===e.isRtl?e.contentWidth:0),e.scrollbarYActive?t.classList.add(Zp("y")):(t.classList.remove(Zp("y")),e.scrollbarYHeight=0,e.scrollbarYTop=0,t.scrollTop=0)}function dd(e,t){return e.settings.minScrollbarLength&&(t=Math.max(t,e.settings.minScrollbarLength)),e.settings.maxScrollbarLength&&(t=Math.min(t,e.settings.maxScrollbarLength)),t}function fd(e,t){var n=t[0],r=t[1],o=t[2],i=t[3],a=t[4],s=t[5],l=t[6],c=t[7],u=t[8],p=e.element,d=null,f=null,h=null;function m(t){t.touches&&t.touches[0]&&(t[o]=t.touches[0].pageY),p[l]=d+h*(t[o]-f),nd(e,c),pd(e),t.stopPropagation(),t.type.startsWith("touch")&&t.changedTouches.length>1&&t.preventDefault()}function g(){rd(e,c),e[u].classList.remove(Jp),e.event.unbind(e.ownerDocument,"mousemove",m)}function y(t,a){d=p[l],a&&t.touches&&(t[o]=t.touches[0].pageY),f=t[o],h=(e[r]-e[n])/(e[i]-e[s]),a?e.event.bind(e.ownerDocument,"touchmove",m):(e.event.bind(e.ownerDocument,"mousemove",m),e.event.once(e.ownerDocument,"mouseup",g),t.preventDefault()),e[u].classList.add(Jp),t.stopPropagation()}e.event.bind(e[a],"mousedown",(function(e){y(e)})),e.event.bind(e[a],"touchstart",(function(e){y(e,!0)}))}var hd={"click-rail":function(e){e.element,e.event.bind(e.scrollbarY,"mousedown",(function(e){return e.stopPropagation()})),e.event.bind(e.scrollbarYRail,"mousedown",(function(t){var n=t.pageY-window.pageYOffset-e.scrollbarYRail.getBoundingClientRect().top>e.scrollbarYTop?1:-1;e.element.scrollTop+=n*e.containerHeight,pd(e),t.stopPropagation()})),e.event.bind(e.scrollbarX,"mousedown",(function(e){return e.stopPropagation()})),e.event.bind(e.scrollbarXRail,"mousedown",(function(t){var n=t.pageX-window.pageXOffset-e.scrollbarXRail.getBoundingClientRect().left>e.scrollbarXLeft?1:-1;e.element.scrollLeft+=n*e.containerWidth,pd(e),t.stopPropagation()}))},"drag-thumb":function(e){fd(e,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x","scrollbarXRail"]),fd(e,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y","scrollbarYRail"])},keyboard:function(e){var t=e.element;e.event.bind(e.ownerDocument,"keydown",(function(n){if(!(n.isDefaultPrevented&&n.isDefaultPrevented()||n.defaultPrevented)&&(Wp(t,":hover")||Wp(e.scrollbarX,":focus")||Wp(e.scrollbarY,":focus"))){var r,o=document.activeElement?document.activeElement:e.ownerDocument.activeElement;if(o){if("IFRAME"===o.tagName)o=o.contentDocument.activeElement;else for(;o.shadowRoot;)o=o.shadowRoot.activeElement;if(Wp(r=o,"input,[contenteditable]")||Wp(r,"select,[contenteditable]")||Wp(r,"textarea,[contenteditable]")||Wp(r,"button,[contenteditable]"))return}var i=0,a=0;switch(n.which){case 37:i=n.metaKey?-e.contentWidth:n.altKey?-e.containerWidth:-30;break;case 38:a=n.metaKey?e.contentHeight:n.altKey?e.containerHeight:30;break;case 39:i=n.metaKey?e.contentWidth:n.altKey?e.containerWidth:30;break;case 40:a=n.metaKey?-e.contentHeight:n.altKey?-e.containerHeight:-30;break;case 32:a=n.shiftKey?e.containerHeight:-e.containerHeight;break;case 33:a=e.containerHeight;break;case 34:a=-e.containerHeight;break;case 36:a=e.contentHeight;break;case 35:a=-e.contentHeight;break;default:return}e.settings.suppressScrollX&&0!==i||e.settings.suppressScrollY&&0!==a||(t.scrollTop-=a,t.scrollLeft+=i,pd(e),function(n,r){var o=Math.floor(t.scrollTop);if(0===n){if(!e.scrollbarYActive)return!1;if(0===o&&r>0||o>=e.contentHeight-e.containerHeight&&r<0)return!e.settings.wheelPropagation}var i=t.scrollLeft;if(0===r){if(!e.scrollbarXActive)return!1;if(0===i&&n<0||i>=e.contentWidth-e.containerWidth&&n>0)return!e.settings.wheelPropagation}return!0}(i,a)&&n.preventDefault())}}))},wheel:function(e){var t=e.element;function n(n){var r=function(e){var t=e.deltaX,n=-1*e.deltaY;return void 0!==t&&void 0!==n||(t=-1*e.wheelDeltaX/6,n=e.wheelDeltaY/6),e.deltaMode&&1===e.deltaMode&&(t*=10,n*=10),t!=t&&n!=n&&(t=0,n=e.wheelDelta),e.shiftKey?[-n,-t]:[t,n]}(n),o=r[0],i=r[1];if(!function(e,n,r){if(!ud.isWebKit&&t.querySelector("select:focus"))return!0;if(!t.contains(e))return!1;for(var o=e;o&&o!==t;){if(o.classList.contains(Qp))return!0;var i=Up(o);if(r&&i.overflowY.match(/(scroll|auto)/)){var a=o.scrollHeight-o.clientHeight;if(a>0&&(o.scrollTop>0&&r<0||o.scrollTop0))return!0}if(n&&i.overflowX.match(/(scroll|auto)/)){var s=o.scrollWidth-o.clientWidth;if(s>0&&(o.scrollLeft>0&&n<0||o.scrollLeft0))return!0}o=o.parentNode}return!1}(n.target,o,i)){var a=!1;e.settings.useBothWheelAxes?e.scrollbarYActive&&!e.scrollbarXActive?(i?t.scrollTop-=i*e.settings.wheelSpeed:t.scrollTop+=o*e.settings.wheelSpeed,a=!0):e.scrollbarXActive&&!e.scrollbarYActive&&(o?t.scrollLeft+=o*e.settings.wheelSpeed:t.scrollLeft-=i*e.settings.wheelSpeed,a=!0):(t.scrollTop-=i*e.settings.wheelSpeed,t.scrollLeft+=o*e.settings.wheelSpeed),pd(e),a=a||function(n,r){var o=Math.floor(t.scrollTop),i=0===t.scrollTop,a=o+t.offsetHeight===t.scrollHeight,s=0===t.scrollLeft,l=t.scrollLeft+t.offsetWidth===t.scrollWidth;return!(Math.abs(r)>Math.abs(n)?i||a:s||l)||!e.settings.wheelPropagation}(o,i),a&&!n.ctrlKey&&(n.stopPropagation(),n.preventDefault())}}void 0!==window.onwheel?e.event.bind(t,"wheel",n):void 0!==window.onmousewheel&&e.event.bind(t,"mousewheel",n)},touch:function(e){if(ud.supportsTouch||ud.supportsIePointer){var t=e.element,n={},r=0,o={},i=null;ud.supportsTouch?(e.event.bind(t,"touchstart",c),e.event.bind(t,"touchmove",u),e.event.bind(t,"touchend",p)):ud.supportsIePointer&&(window.PointerEvent?(e.event.bind(t,"pointerdown",c),e.event.bind(t,"pointermove",u),e.event.bind(t,"pointerup",p)):window.MSPointerEvent&&(e.event.bind(t,"MSPointerDown",c),e.event.bind(t,"MSPointerMove",u),e.event.bind(t,"MSPointerUp",p)))}function a(n,r){t.scrollTop-=r,t.scrollLeft-=n,pd(e)}function s(e){return e.targetTouches?e.targetTouches[0]:e}function l(e){return!(e.pointerType&&"pen"===e.pointerType&&0===e.buttons||(!e.targetTouches||1!==e.targetTouches.length)&&(!e.pointerType||"mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE))}function c(e){if(l(e)){var t=s(e);n.pageX=t.pageX,n.pageY=t.pageY,r=(new Date).getTime(),null!==i&&clearInterval(i)}}function u(i){if(l(i)){var c=s(i),u={pageX:c.pageX,pageY:c.pageY},p=u.pageX-n.pageX,d=u.pageY-n.pageY;if(function(e,n,r){if(!t.contains(e))return!1;for(var o=e;o&&o!==t;){if(o.classList.contains(Qp))return!0;var i=Up(o);if(r&&i.overflowY.match(/(scroll|auto)/)){var a=o.scrollHeight-o.clientHeight;if(a>0&&(o.scrollTop>0&&r<0||o.scrollTop0))return!0}if(n&&i.overflowX.match(/(scroll|auto)/)){var s=o.scrollWidth-o.clientWidth;if(s>0&&(o.scrollLeft>0&&n<0||o.scrollLeft0))return!0}o=o.parentNode}return!1}(i.target,p,d))return;a(p,d),n=u;var f=(new Date).getTime(),h=f-r;h>0&&(o.x=p/h,o.y=d/h,r=f),function(n,r){var o=Math.floor(t.scrollTop),i=t.scrollLeft,a=Math.abs(n),s=Math.abs(r);if(s>a){if(r<0&&o===e.contentHeight-e.containerHeight||r>0&&0===o)return 0===window.scrollY&&r>0&&ud.isChrome}else if(a>s&&(n<0&&i===e.contentWidth-e.containerWidth||n>0&&0===i))return!0;return!0}(p,d)&&i.preventDefault()}}function p(){e.settings.swipeEasing&&(clearInterval(i),i=setInterval((function(){e.isInitialized?clearInterval(i):o.x||o.y?Math.abs(o.x)<.01&&Math.abs(o.y)<.01?clearInterval(i):e.element?(a(30*o.x,30*o.y),o.x*=.8,o.y*=.8):clearInterval(i):clearInterval(i)}),10))}}},md=function(e,t){var n=this;if(void 0===t&&(t={}),"string"==typeof e&&(e=document.querySelector(e)),!e||!e.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");for(var r in this.element=e,e.classList.add("ps"),this.settings={handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1},t)this.settings[r]=t[r];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var o,i,a=function(){return e.classList.add(Xp)},s=function(){return e.classList.remove(Xp)};this.isRtl="rtl"===Up(e).direction,!0===this.isRtl&&e.classList.add("ps__rtl"),this.isNegativeScroll=(i=e.scrollLeft,e.scrollLeft=-1,o=e.scrollLeft<0,e.scrollLeft=i,o),this.negativeScrollAdjustment=this.isNegativeScroll?e.scrollWidth-e.clientWidth:0,this.event=new ad,this.ownerDocument=e.ownerDocument||document,this.scrollbarXRail=Bp(Gp("x")),e.appendChild(this.scrollbarXRail),this.scrollbarX=Bp(Kp("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",a),this.event.bind(this.scrollbarX,"blur",s),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var l=Up(this.scrollbarXRail);this.scrollbarXBottom=parseInt(l.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=cd(l.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=cd(l.borderLeftWidth)+cd(l.borderRightWidth),Vp(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=cd(l.marginLeft)+cd(l.marginRight),Vp(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=Bp(Gp("y")),e.appendChild(this.scrollbarYRail),this.scrollbarY=Bp(Kp("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",a),this.event.bind(this.scrollbarY,"blur",s),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var c=Up(this.scrollbarYRail);this.scrollbarYRight=parseInt(c.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=cd(c.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?function(e){var t=Up(e);return cd(t.width)+cd(t.paddingLeft)+cd(t.paddingRight)+cd(t.borderLeftWidth)+cd(t.borderRightWidth)}(this.scrollbarY):null,this.railBorderYWidth=cd(c.borderTopWidth)+cd(c.borderBottomWidth),Vp(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=cd(c.marginTop)+cd(c.marginBottom),Vp(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:e.scrollLeft<=0?"start":e.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:e.scrollTop<=0?"start":e.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach((function(e){return hd[e](n)})),this.lastScrollTop=Math.floor(e.scrollTop),this.lastScrollLeft=e.scrollLeft,this.event.bind(this.element,"scroll",(function(e){return n.onScroll(e)})),pd(this)};md.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,Vp(this.scrollbarXRail,{display:"block"}),Vp(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=cd(Up(this.scrollbarXRail).marginLeft)+cd(Up(this.scrollbarXRail).marginRight),this.railYMarginHeight=cd(Up(this.scrollbarYRail).marginTop)+cd(Up(this.scrollbarYRail).marginBottom),Vp(this.scrollbarXRail,{display:"none"}),Vp(this.scrollbarYRail,{display:"none"}),pd(this),ld(this,"top",0,!1,!0),ld(this,"left",0,!1,!0),Vp(this.scrollbarXRail,{display:""}),Vp(this.scrollbarYRail,{display:""}))},md.prototype.onScroll=function(e){this.isAlive&&(pd(this),ld(this,"top",this.element.scrollTop-this.lastScrollTop),ld(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},md.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),Hp(this.scrollbarX),Hp(this.scrollbarY),Hp(this.scrollbarXRail),Hp(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},md.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter((function(e){return!e.match(/^ps([-_].+|)$/)})).join(" ")};var gd=md,yd=Object.defineProperty,vd=Object.getOwnPropertySymbols,bd=Object.prototype.hasOwnProperty,wd=Object.prototype.propertyIsEnumerable,xd=(e,t,n)=>t in e?yd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const kd=gd||t;let _d="";qr&&(_d=r(3433),_d="function"==typeof _d.toString&&_d.toString()||"",_d="[object Object]"===_d?"":_d);const Od=da`${_d}`,Sd=ga.div` + position: relative; +`;class Ed extends n.Component{constructor(){super(...arguments),this.handleRef=e=>{this._container=e}}componentDidMount(){const e=this._container.parentElement&&this._container.parentElement.scrollTop||0;this.inst=new kd(this._container,this.props.options||{}),this._container.scrollTo&&this._container.scrollTo(0,e)}componentDidUpdate(){this.inst.update()}componentWillUnmount(){this.inst.destroy()}render(){const{children:e,className:t,updateFn:r}=this.props;return r&&r(this.componentDidUpdate.bind(this)),n.createElement(n.Fragment,null,_d&&n.createElement(Od,null),n.createElement(Sd,{className:`scrollbar-container ${t}`,ref:this.handleRef},e))}}function Pd(e){return n.createElement(Sa.Consumer,null,(t=>t.nativeScrollbars?n.createElement("div",{style:{overflow:"auto",overscrollBehavior:"contain",msOverflowStyle:"-ms-autohiding-scrollbar"}},e.children):n.createElement(Ed,((e,t)=>{for(var n in t||(t={}))bd.call(t,n)&&xd(e,n,t[n]);if(vd)for(var n of vd(t))wd.call(t,n)&&xd(e,n,t[n]);return e})({},e),e.children)))}const Ad=ga((({className:e,style:t})=>n.createElement("svg",{className:e,style:t,xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},n.createElement("polyline",{points:"6 9 12 15 18 9"}))))` + position: absolute; + pointer-events: none; + z-index: 1; + top: 50%; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); + right: 8px; + margin: auto; + text-align: center; + polyline { + color: ${e=>"dark"===e.variant&&"white"}; + } +`,$d=n.memo((e=>{const{options:t,onChange:r,placeholder:o,value:i="",variant:a,className:s}=e;return n.createElement("div",{className:s},n.createElement(Ad,{variant:a}),n.createElement("select",{onChange:e=>{const{selectedIndex:n}=e.target;r(t[o?n-1:n])},value:i,className:"dropdown-select"},o&&n.createElement("option",{disabled:!0,hidden:!0,value:o},o),t.map((({idx:e,value:t,title:r},o)=>n.createElement("option",{key:e||t+o,value:t},r||t)))),n.createElement("label",null,i))})),Cd=ca($d)` + label { + box-sizing: border-box; + min-width: 100px; + outline: none; + display: inline-block; + font-family: ${e=>e.theme.typography.headings.fontFamily}; + color: ${({theme:e})=>e.colors.text.primary}; + vertical-align: bottom; + width: ${({fullWidth:e})=>e?"100%":"auto"}; + text-transform: none; + padding: 0 22px 0 4px; + + font-size: 0.929em; + line-height: 1.5em; + font-family: inherit; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + } + .dropdown-select { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0; + border: none; + appearance: none; + cursor: pointer; + + color: ${({theme:e})=>e.colors.text.primary}; + line-height: inherit; + font-family: inherit; + } + box-sizing: border-box; + min-width: 100px; + outline: none; + display: inline-block; + border-radius: 2px; + border: 1px solid rgba(38, 50, 56, 0.5); + vertical-align: bottom; + padding: 2px 0px 2px 6px; + position: relative; + width: auto; + background: white; + color: #263238; + font-family: ${e=>e.theme.typography.headings.fontFamily}; + font-size: 0.929em; + line-height: 1.5em; + cursor: pointer; + transition: border 0.25s ease, color 0.25s ease, box-shadow 0.25s ease; + + &:hover, + &:focus-within { + border: 1px solid ${e=>e.theme.colors.primary.main}; + color: ${e=>e.theme.colors.primary.main}; + box-shadow: 0px 0px 0px 1px ${e=>e.theme.colors.primary.main}; + } +`,Rd=ca(Cd)` + margin-left: 10px; + text-transform: none; + font-size: 0.969em; + + font-size: 1em; + border: none; + padding: 0 1.2em 0 0; + background: transparent; + + &:hover, + &:focus-within { + border: none; + box-shadow: none; + label { + color: ${e=>e.theme.colors.primary.main}; + text-shadow: 0px 0px 0px ${e=>e.theme.colors.primary.main}; + } + } +`,jd=ca.span` + margin-left: 10px; + text-transform: none; + font-size: 0.929em; + color: black; +`;var Td=Object.defineProperty,Id=Object.defineProperties,Nd=Object.getOwnPropertyDescriptors,Dd=Object.getOwnPropertySymbols,Ld=Object.prototype.hasOwnProperty,Md=Object.prototype.propertyIsEnumerable,Fd=(e,t,n)=>t in e?Td(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,zd=(e,t)=>{for(var n in t||(t={}))Ld.call(t,n)&&Fd(e,n,t[n]);if(Dd)for(var n of Dd(t))Md.call(t,n)&&Fd(e,n,t[n]);return e},Ud=(e,t)=>Id(e,Nd(t));class Vd{constructor(e,t,n){this.operations=[];const{resolved:r}=e.deref(n||{});this.initWebhooks(e,r,t)}initWebhooks(e,t,n){for(const r of Object.keys(t)){const o=t[r],i=Object.keys(o).filter(Xa);for(const t of i){const r=o[t];if(o.$ref){const r=e.deref(o||{});this.initWebhooks(e,{[t]:r},n)}if(!r)continue;const i=new _u(e,Ud(zd({},r),{httpVerb:t}),void 0,n,!1);this.operations.push(i)}}}}class Bd{constructor(e,t,n){const{resolved:r}=e.deref(n);this.id=t,this.sectionId=hs+t,this.type=r.type,this.displayName=r["x-displayName"]||t,this.description=r.description||"","apiKey"===r.type&&(this.apiKey={name:r.name,in:r.in}),"http"===r.type&&(this.http={scheme:r.scheme,bearerFormat:r.bearerFormat}),"openIdConnect"===r.type&&(this.openId={connectUrl:r.openIdConnectUrl}),"oauth2"===r.type&&r.flows&&(this.flows=r.flows)}}class qd{constructor(e){const t=e.spec.components&&e.spec.components.securitySchemes||{};this.schemes=Object.keys(t).map((n=>new Bd(e,n,t[n])))}}var Wd=Object.defineProperty,Hd=Object.getOwnPropertySymbols,Yd=Object.prototype.hasOwnProperty,Kd=Object.prototype.propertyIsEnumerable,Gd=(e,t,n)=>t in e?Wd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qd=(e,t)=>{for(var n in t||(t={}))Yd.call(t,n)&&Gd(e,n,t[n]);if(Hd)for(var n of Hd(t))Kd.call(t,n)&&Gd(e,n,t[n]);return e};class Xd{constructor(e,t,n){var r,o,i;this.options=n,this.parser=new fc(e,t,n),this.info=new Il(this.parser,this.options),this.externalDocs=this.parser.spec.externalDocs,this.contentItems=df.buildStructure(this.parser,this.options),this.securitySchemes=new qd(this.parser);const a=Qd(Qd({},null==(o=null==(r=this.parser)?void 0:r.spec)?void 0:o["x-webhooks"]),null==(i=this.parser)?void 0:i.spec.webhooks);this.webhooks=new Vd(this.parser,n,a)}}var Jd=Object.defineProperty,Zd=Object.getOwnPropertyDescriptor,ef=(e,t,n,r)=>{for(var o,i=r>1?void 0:r?Zd(t,n):t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&Jd(t,n,i),i};class tf{constructor(e,t,n){this.items=[],this.active=!1,this.expanded=!1,tn(this),this.id=t.id||e+"/"+no(t.name),this.type=e,this.name=t["x-displayName"]||t.name,this.level=t.level||1,this.sidebarLabel=this.name,this.description=t.description||"";const r=t.items;r&&r.length&&(this.description=jl.getTextBeforeHading(this.description,r[0].name)),this.parent=n,this.externalDocs=t.externalDocs,"group"===this.type&&(this.expanded=!0)}activate(){this.active=!0}expand(){this.parent&&this.parent.expand(),this.expanded=!0}collapse(){"group"!==this.type&&(this.expanded=!1)}deactivate(){this.active=!1}}ef([Ae],tf.prototype,"active",2),ef([Ae],tf.prototype,"expanded",2),ef([Pt],tf.prototype,"activate",1),ef([Pt],tf.prototype,"expand",1),ef([Pt],tf.prototype,"collapse",1),ef([Pt],tf.prototype,"deactivate",1);var nf=Object.defineProperty,rf=Object.defineProperties,of=Object.getOwnPropertyDescriptors,af=Object.getOwnPropertySymbols,sf=Object.prototype.hasOwnProperty,lf=Object.prototype.propertyIsEnumerable,cf=(e,t,n)=>t in e?nf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,uf=(e,t)=>{for(var n in t||(t={}))sf.call(t,n)&&cf(e,n,t[n]);if(af)for(var n of af(t))lf.call(t,n)&&cf(e,n,t[n]);return e},pf=(e,t)=>rf(e,of(t));class df{static buildStructure(e,t){const n=e.spec,r=[],o=df.getTagsWithOperations(e,n);return r.push(...df.addMarkdownItems(n.info.description||"",void 0,1,t)),n["x-tagGroups"]&&n["x-tagGroups"].length>0?r.push(...df.getTagGroupsItems(e,void 0,n["x-tagGroups"],o,t)):r.push(...df.getTagsItems(e,o,void 0,void 0,t)),r}static addMarkdownItems(e,t,n,r){const o=new jl(r,null==t?void 0:t.id).extractHeadings(e||"");o.length&&t&&t.description&&(t.description=jl.getTextBeforeHading(t.description,o[0].name));const i=(e,t,n=1)=>t.map((t=>{const r=new tf("section",t,e);return r.depth=n,t.items&&(r.items=i(r,t.items,n+1)),r}));return i(t,o,n)}static getTagGroupsItems(e,t,n,r,o){const i=[];for(const a of n){const n=new tf("group",a,t);n.depth=0,n.items=df.getTagsItems(e,r,n,a,o),i.push(n)}return i}static getTagsItems(e,t,n,r,o){let i;i=void 0===r?Object.keys(t):r.tags;const a=i.map((e=>t[e]?(t[e].used=!0,t[e]):(console.warn(`Non-existing tag "${e}" is added to the group "${r.name}"`),null))),s=[];for(const t of a){if(!t)continue;const r=new tf("tag",t,n);if(r.depth=1,""!==t.name)r.items=[...df.addMarkdownItems(t.description||"",r,r.depth+1,o),...this.getOperationsItems(e,r,t,r.depth+1,o)],s.push(r);else{const n=[...df.addMarkdownItems(t.description||"",r,r.depth+1,o),...this.getOperationsItems(e,void 0,t,r.depth+1,o)];s.push(...n)}}return o.sortTagsAlphabetically&&s.sort(Cs("name")),s}static getOperationsItems(e,t,n,r,o){if(0===n.operations.length)return[];const i=[];for(const a of n.operations){const n=new _u(e,a,t,o);n.depth=r,i.push(n)}return o.sortOperationsAlphabetically&&i.sort(Cs("name")),i}static getTagsWithOperations(e,t){const n={},r=t["x-webhooks"]||t.webhooks;for(const e of t.tags||[])n[e.name]=pf(uf({},e),{operations:[]});function o(e,t,r){for(const i of Object.keys(t)){const a=t[i],s=Object.keys(a).filter(Xa);for(const t of s){const s=a[t];if(a.$ref){const{resolved:t}=e.deref(a);o(e,{[i]:t},r);continue}let l=null==s?void 0:s.tags;l&&l.length||(l=[""]);for(const e of l){let o=n[e];void 0===o&&(o={name:e,operations:[]},n[e]=o),o["x-traitTag"]||o.operations.push(pf(uf({},s),{pathName:i,pointer:Da.compile(["paths",i,t]),httpVerb:t,pathParameters:a.parameters||[],pathServers:a.servers,isWebhook:!!r}))}}}}return r&&o(e,r,!0),t.paths&&o(e,t.paths),n}}var ff=Object.defineProperty,hf=Object.getOwnPropertyDescriptor,mf=(e,t,n,r)=>{for(var o,i=r>1?void 0:r?hf(t,n):t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&ff(t,n,i),i};const gf="data-section-id";class yf{constructor(e,t,n){this.scroll=t,this.history=n,this.activeItemIdx=-1,this.sideBarOpened=!1,this.updateOnScroll=e=>{const t=e?1:-1;let n=this.activeItemIdx;for(;(-1!==n||e)&&!(n>=this.flatItems.length-1&&e);){if(e){const e=this.getElementAtOrFirstChild(n+1);if(this.scroll.isElementBellow(e))break}else{const e=this.getElementAt(n);if(this.scroll.isElementAbove(e))break}n+=t}this.activate(this.flatItems[n],!0,!0)},this.updateOnHistory=(e=this.history.currentId)=>{if(!e)return;let t;t=this.flatItems.find((t=>t.id===e)),t?this.activateAndScroll(t,!1):(e.startsWith(hs)&&(t=this.flatItems.find((e=>hs.startsWith(e.id))),this.activateAndScroll(t,!1)),this.scroll.scrollIntoViewBySelector(`[${gf}="${oo(e)}"]`))},this.getItemById=e=>this.flatItems.find((t=>t.id===e)),tn(this),this.items=e.contentItems,this.flatItems=function(e,t){const n=[],r=e=>{for(const t of e)n.push(t),t.items&&r(t.items)};return r(e),n}(this.items||[]),this.flatItems.forEach(((e,t)=>e.absoluteIdx=t)),this.subscribe()}static updateOnHistory(e=Ns.currentId,t){e&&t.scrollIntoViewBySelector(`[${gf}="${oo(e)}"]`)}subscribe(){this._unsubscribe=this.scroll.subscribe(this.updateOnScroll),this._hashUnsubscribe=this.history.subscribe(this.updateOnHistory)}toggleSidebar(){this.sideBarOpened=!this.sideBarOpened}closeSidebar(){this.sideBarOpened=!1}getElementAt(e){const t=this.flatItems[e];return t&&Wr(`[${gf}="${oo(t.id)}"]`)||null}getElementAtOrFirstChild(e){let t=this.flatItems[e];return t&&"group"===t.type&&(t=t.items[0]),t&&Wr(`[${gf}="${oo(t.id)}"]`)||null}get activeItem(){return this.flatItems[this.activeItemIdx]||void 0}activate(e,t=!0,n=!1){if((this.activeItem&&this.activeItem.id)!==(e&&e.id)&&(!e||"group"!==e.type)){if(this.deactivate(this.activeItem),!e)return this.activeItemIdx=-1,void this.history.replace("",n);e.depth<=0||(this.activeItemIdx=e.absoluteIdx,t&&this.history.replace(encodeURI(e.id),n),e.activate(),e.expand())}}deactivate(e){if(void 0!==e)for(e.deactivate();void 0!==e;)e.collapse(),e=e.parent}activateAndScroll(e,t,n){const r=e&&this.getItemById(e.id)||e;this.activate(r,t,n),this.scrollToActive(),r&&r.items.length||this.closeSidebar()}scrollToActive(){this.scroll.scrollIntoView(this.getElementAt(this.activeItemIdx))}dispose(){this._unsubscribe(),this._hashUnsubscribe()}}mf([Ae],yf.prototype,"activeItemIdx",2),mf([Ae],yf.prototype,"sideBarOpened",2),mf([Pt],yf.prototype,"toggleSidebar",1),mf([Pt],yf.prototype,"closeSidebar",1),mf([Pt],yf.prototype,"activate",1),mf([Pt.bound],yf.prototype,"activateAndScroll",1);var vf=Object.defineProperty,bf=Object.getOwnPropertyDescriptor;const wf="scroll";class xf{constructor(e){this.options=e,this._prevOffsetY=0,this._scrollParent=qr?window:void 0,this._emiter=new ja,this.bind()}bind(){this._prevOffsetY=this.scrollY(),this._scrollParent&&this._scrollParent.addEventListener("scroll",this.handleScroll)}dispose(){this._scrollParent&&this._scrollParent.removeEventListener("scroll",this.handleScroll),this._emiter.removeAllListeners(wf)}scrollY(){return"undefined"!=typeof HTMLElement&&this._scrollParent instanceof HTMLElement?this._scrollParent.scrollTop:void 0!==this._scrollParent?this._scrollParent.pageYOffset:0}isElementBellow(e){if(null!==e)return e.getBoundingClientRect().top>this.options.scrollYOffset()}isElementAbove(e){if(null===e)return;const t=e.getBoundingClientRect().top;return(t>0?Math.floor(t):Math.ceil(t))<=this.options.scrollYOffset()}subscribe(e){const t=this._emiter.addListener(wf,e);return()=>t.removeListener(wf,e)}scrollIntoView(e){null!==e&&(e.scrollIntoView(),this._scrollParent&&this._scrollParent.scrollBy&&this._scrollParent.scrollBy(0,1-this.options.scrollYOffset()))}scrollIntoViewBySelector(e){const t=Wr(e);this.scrollIntoView(t)}handleScroll(){const e=this.scrollY()-this._prevOffsetY>0;this._prevOffsetY=this.scrollY(),this._emiter.emit(wf,e)}}((e,t,n,r)=>{for(var o,i=bf(t,n),a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(t,n,i)||i);i&&vf(t,n,i)})([Ra.bind,(100,(e,t,n)=>{n.value=function(e,t){let n,r,o,i=null,a=0;const s=()=>{a=(new Date).getTime(),i=null,o=e.apply(n,r),i||(n=r=null)};return function(){const l=(new Date).getTime(),c=t-(l-a);return n=this,r=arguments,c<=0||c>t?(i&&(clearTimeout(i),i=null),a=l,o=e.apply(n,r),i||(n=r=null)):i||(i=setTimeout(s,c)),o}}(n.value,100)})],xf.prototype,"handleScroll");class kf{constructor(){this.searchWorker=function(){let e;if(qr)try{e=r(6980)}catch(t){e=r(4798).default}else e=r(4798).default;return new e}()}indexItems(e){const t=e=>{e.forEach((e=>{"group"!==e.type&&this.add(e.name,(e.description||"").concat(" ",e.path||""),e.id),t(e.items)}))};t(e),this.searchWorker.done()}add(e,t,n){this.searchWorker.add(e,t,n)}dispose(){this.searchWorker.terminate(),this.searchWorker.dispose()}search(e){return this.searchWorker.search(e)}toJS(){return e=this,null,t=function*(){return this.searchWorker.toJS()},new Promise(((n,r)=>{var o=e=>{try{a(t.next(e))}catch(e){r(e)}},i=e=>{try{a(t.throw(e))}catch(e){r(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,i);a((t=t.apply(e,null)).next())}));var e,t}load(e){this.searchWorker.load(e)}fromExternalJS(e,t){e&&t&&this.searchWorker.fromExternalJS(e,t)}}var _f=Object.defineProperty,Of=Object.getOwnPropertySymbols,Sf=Object.prototype.hasOwnProperty,Ef=Object.prototype.propertyIsEnumerable,Pf=(e,t,n)=>t in e?_f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function Af(e){const{Label:t=jd,Dropdown:r=Rd}=e;return 1===e.options.length?n.createElement(t,null,e.options[0].value):n.createElement(r,((e,t)=>{for(var n in t||(t={}))Sf.call(t,n)&&Pf(e,n,t[n]);if(Of)for(var n of Of(t))Ef.call(t,n)&&Pf(e,n,t[n]);return e})({},e))}var $f=r(7856);const Cf=pa` + a { + text-decoration: ${e=>e.theme.typography.links.textDecoration}; + color: ${e=>e.theme.typography.links.color}; + + &:visited { + color: ${e=>e.theme.typography.links.visited}; + } + + &:hover { + color: ${e=>e.theme.typography.links.hover}; + text-decoration: ${e=>e.theme.typography.links.hoverTextDecoration}; + } + } +`,Rf=ga(Lp)` + font-family: ${e=>e.theme.typography.fontFamily}; + font-weight: ${e=>e.theme.typography.fontWeightRegular}; + line-height: ${e=>e.theme.typography.lineHeight}; + + p { + &:last-child { + margin-bottom: 0; + } + } + + ${({compact:e})=>e&&"\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n "} + + ${({inline:e})=>e&&" p {\n display: inline-block;\n }"} + + h1 { + ${Cu(1)}; + color: ${e=>e.theme.colors.primary.main}; + margin-top: 0; + } + + h2 { + ${Cu(2)}; + color: ${e=>e.theme.colors.text.primary}; + } + + code { + color: ${({theme:e})=>e.typography.code.color}; + background-color: ${({theme:e})=>e.typography.code.backgroundColor}; + + font-family: ${e=>e.theme.typography.code.fontFamily}; + border-radius: 2px; + border: 1px solid rgba(38, 50, 56, 0.1); + padding: 0 ${({theme:e})=>e.spacing.unit}px; + font-size: ${e=>e.theme.typography.code.fontSize}; + font-weight: ${({theme:e})=>e.typography.code.fontWeight}; + + word-break: break-word; + } + + pre { + font-family: ${e=>e.theme.typography.code.fontFamily}; + white-space: ${({theme:e})=>e.typography.code.wrap?"pre-wrap":"pre"}; + background-color: ${({theme:e})=>e.codeBlock.backgroundColor}; + color: white; + padding: ${e=>4*e.theme.spacing.unit}px; + overflow-x: auto; + line-height: normal; + border-radius: 0px; + border: 1px solid rgba(38, 50, 56, 0.1); + + code { + background-color: transparent; + color: white; + padding: 0; + + &:before, + &:after { + content: none; + } + } + } + + blockquote { + margin: 0; + margin-bottom: 1em; + padding: 0 15px; + color: #777; + border-left: 4px solid #ddd; + } + + img { + max-width: 100%; + box-sizing: content-box; + } + + ul, + ol { + padding-left: 2em; + margin: 0; + margin-bottom: 1em; + + ul, + ol { + margin-bottom: 0; + margin-top: 0; + } + } + + table { + display: block; + width: 100%; + overflow: auto; + word-break: normal; + word-break: keep-all; + border-collapse: collapse; + border-spacing: 0; + margin-top: 1.5em; + margin-bottom: 1.5em; + } + + table tr { + background-color: #fff; + border-top: 1px solid #ccc; + + &:nth-child(2n) { + background-color: ${({theme:e})=>e.schema.nestedBackground}; + } + } + + table th, + table td { + padding: 6px 13px; + border: 1px solid #ddd; + } + + table th { + text-align: left; + font-weight: bold; + } + + ${Fu(".share-link")}; + + ${Cf} + + ${ya("Markdown")}; +`;var jf=Object.defineProperty,Tf=Object.getOwnPropertySymbols,If=Object.prototype.hasOwnProperty,Nf=Object.prototype.propertyIsEnumerable,Df=(e,t,n)=>t in e?jf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const Lf=Rf.withComponent("span");function Mf(e){const t=e.inline?Lf:Rf;return n.createElement(Pa,null,(r=>{return n.createElement(t,((e,t)=>{for(var n in t||(t={}))If.call(t,n)&&Df(e,n,t[n]);if(Tf)for(var n of Tf(t))Nf.call(t,n)&&Df(e,n,t[n]);return e})({className:"redoc-markdown "+(e.className||""),dangerouslySetInnerHTML:{__html:(o=r.untrustedSpec,i=e.html,o?$f.sanitize(i):i)},"data-role":e["data-role"]},e));var o,i}))}class Ff extends n.Component{render(){const{source:e,inline:t,compact:r,className:o,"data-role":i}=this.props,a=new jl;return n.createElement(Mf,{html:a.renderMd(e),inline:t,compact:r,className:o,"data-role":i})}}const zf=ga.div` + position: relative; +`,Uf=ga.div` + position: absolute; + min-width: 80px; + max-width: 500px; + background: #fff; + bottom: 100%; + left: 50%; + margin-bottom: 10px; + transform: translateX(-50%); + + border-radius: 4px; + padding: 0.3em 0.6em; + text-align: center; + box-shadow: 0px 0px 5px 0px rgba(204, 204, 204, 1); +`,Vf=ga.div` + background: #fff; + color: #000; + display: inline; + font-size: 0.85em; + white-space: nowrap; +`,Bf=ga.div` + position: absolute; + width: 0; + height: 0; + bottom: -5px; + left: 50%; + margin-left: -5px; + border-left: solid transparent 5px; + border-right: solid transparent 5px; + border-top: solid #fff 5px; +`,qf=ga.div` + position: absolute; + width: 100%; + height: 20px; + bottom: -20px; +`;class Wf extends n.Component{render(){const{open:e,title:t,children:r}=this.props;return n.createElement(zf,null,r,e&&n.createElement(Uf,null,n.createElement(Vf,null,t),n.createElement(Bf,null),n.createElement(qf,null)))}}const Hf="undefined"!=typeof document&&document.queryCommandSupported&&document.queryCommandSupported("copy");class Yf{static isSupported(){return Hf}static selectElement(e){let t,n;document.body.createTextRange?(t=document.body.createTextRange(),t.moveToElementText(e),t.select()):document.createRange&&window.getSelection&&(n=window.getSelection(),t=document.createRange(),t.selectNodeContents(e),n.removeAllRanges(),n.addRange(t))}static deselect(){if(document.selection)document.selection.empty();else if(window.getSelection){const e=window.getSelection();e&&e.removeAllRanges()}}static copySelected(){let e;try{e=document.execCommand("copy")}catch(t){e=!1}return e}static copyElement(e){Yf.selectElement(e);const t=Yf.copySelected();return t&&Yf.deselect(),t}static copyCustom(e){const t=document.createElement("textarea");t.style.position="fixed",t.style.top="0",t.style.left="0",t.style.width="2em",t.style.height="2em",t.style.padding="0",t.style.border="none",t.style.outline="none",t.style.boxShadow="none",t.style.background="transparent",t.value=e,document.body.appendChild(t),t.select();const n=Yf.copySelected();return document.body.removeChild(t),n}}const Kf=e=>{const[t,r]=n.useState(!1),o=()=>{const t="string"==typeof e.data?e.data:JSON.stringify(e.data,null,2);Yf.copyCustom(t),i()},i=()=>{r(!0),setTimeout((()=>{r(!1)}),1500)};return e.children({renderCopyButton:()=>n.createElement("button",{onClick:o},n.createElement(Wf,{title:Yf.isSupported()?"Copied":"Not supported in your browser",open:t},"Copy"))})};let Gf=1;function Qf(e,t){Gf=1;let n="";return n+='
    ',n+="",n+=th(e,t),n+="",n+="
    ",n}function Xf(e){return void 0!==e?e.toString().replace(/&/g,"&").replace(/"/g,""").replace(//g,">"):""}function Jf(e){return JSON.stringify(e).slice(1,-1)}function Zf(e,t){return''+Xf(e)+""}function eh(e){return''+e+""}function th(e,t){const n=typeof e;let r="";return null==e?r+=Zf("null","token keyword"):e&&e.constructor===Array?(Gf++,r+=function(e,t){const n=Gf>t?"collapsed":"";let r=`${eh("[")}
      `,o=!1;const i=e.length;for(let a=0;a
      ',r+=th(e[a],t),a";return r+=`
    ${eh("]")}`,o||(r=eh("[ ]")),r}(e,t),Gf--):e&&e.constructor===Date?r+=Zf('"'+e.toISOString()+'"',"token string"):"object"===n?(Gf++,r+=function(e,t){const n=Gf>t?"collapsed":"",r=Object.keys(e),o=r.length;let i=`${eh("{")}
      `,a=!1;for(let s=0;s
      ',i+='"'+Xf(l)+'": ',i+=th(e[l],t),s"}return i+=`
    ${eh("}")}`,a||(i=eh("{ }")),i}(e,t),Gf--):"number"===n?r+=Zf(e,"token number"):"string"===n?/^(http|https):\/\/[^\s]+$/.test(e)?r+=Zf('"',"token string")+'
    '+Xf(Jf(e))+""+Zf('"',"token string"):r+=Zf('"'+Jf(e)+'"',"token string"):"boolean"===n&&(r+=Zf(e,"token boolean")),r}const nh=pa` + .redoc-json code > .collapser { + display: none; + pointer-events: none; + } + + font-family: ${e=>e.theme.typography.code.fontFamily}; + font-size: ${e=>e.theme.typography.code.fontSize}; + + white-space: ${({theme:e})=>e.typography.code.wrap?"pre-wrap":"pre"}; + contain: content; + overflow-x: auto; + + .callback-function { + color: gray; + } + + .collapser:after { + content: '-'; + cursor: pointer; + } + + .collapsed > .collapser:after { + content: '+'; + cursor: pointer; + } + + .ellipsis:after { + content: ' … '; + } + + .collapsible { + margin-left: 2em; + } + + .hoverable { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 2px; + padding-right: 2px; + border-radius: 2px; + } + + .hovered { + background-color: rgba(235, 238, 249, 1); + } + + .collapser { + background-color: transparent; + border: 0; + color: #fff; + font-family: ${e=>e.theme.typography.code.fontFamily}; + font-size: ${e=>e.theme.typography.code.fontSize}; + padding-right: 6px; + padding-left: 6px; + padding-top: 0; + padding-bottom: 0; + display: flex; + align-items: center; + justify-content: center; + width: 15px; + height: 15px; + position: absolute; + top: 4px; + left: -1.5em; + cursor: default; + user-select: none; + -webkit-user-select: none; + padding: 2px; + &:focus { + outline-color: #fff; + outline-style: dotted; + outline-width: 1px; + } + } + + ul { + list-style-type: none; + padding: 0px; + margin: 0px 0px 0px 26px; + } + + li { + position: relative; + display: block; + } + + .hoverable { + display: inline-block; + } + + .selected { + outline-style: solid; + outline-width: 1px; + outline-style: dotted; + } + + .collapsed > .collapsible { + display: none; + } + + .ellipsis { + display: none; + } + + .collapsed > .ellipsis { + display: inherit; + } +`,rh=ga.div` + &:hover > ${Mp} { + opacity: 1; + } +`,oh=ga((e=>{const[t,r]=n.useState(),o=({renderCopyButton:t})=>{const o=e.data&&Object.values(e.data).some((e=>"object"==typeof e&&null!==e));return n.createElement(rh,null,n.createElement(Mp,null,t(),o&&n.createElement(n.Fragment,null,n.createElement("button",{onClick:i}," Expand all "),n.createElement("button",{onClick:a}," Collapse all "))),n.createElement(Sa.Consumer,null,(t=>n.createElement(Lp,{className:e.className,ref:e=>r(e),dangerouslySetInnerHTML:{__html:Qf(e.data,t.jsonSampleExpandLevel)}}))))},i=()=>{const e=null==t?void 0:t.getElementsByClassName("collapsible");for(const t of Array.prototype.slice.call(e)){const e=t.parentNode;e.classList.remove("collapsed"),e.querySelector(".collapser").setAttribute("aria-label","collapse")}},a=()=>{const e=null==t?void 0:t.getElementsByClassName("collapsible"),n=Array.prototype.slice.call(e,1);for(const e of n){const t=e.parentNode;t.classList.add("collapsed"),t.querySelector(".collapser").setAttribute("aria-label","expand")}},s=e=>{let t;"collapser"===e.className&&(t=e.parentElement.getElementsByClassName("collapsible")[0],t.parentElement.classList.contains("collapsed")?(t.parentElement.classList.remove("collapsed"),e.setAttribute("aria-label","collapse")):(t.parentElement.classList.add("collapsed"),e.setAttribute("aria-label","expand")))},l=n.useCallback((e=>{s(e.target)}),[]),c=n.useCallback((e=>{"Enter"===e.key&&s(e.target)}),[]);return n.useEffect((()=>(null==t||t.addEventListener("click",l),null==t||t.addEventListener("focus",c),()=>{null==t||t.removeEventListener("click",l),null==t||t.removeEventListener("focus",c)})),[l,c,t]),n.createElement(Kf,{data:e.data},o)}))` + ${nh}; +`,ih=e=>{const{source:t,lang:r}=e;return n.createElement(zp,{dangerouslySetInnerHTML:{__html:vs(t,r)}})},ah=e=>{const{source:t,lang:r}=e;return n.createElement(Kf,{data:t},(({renderCopyButton:e})=>n.createElement(Fp,null,n.createElement(Mp,null,e()),n.createElement(ih,{lang:r,source:t}))))};function sh({value:e,mimeType:t}){return es(t)?n.createElement(oh,{data:e}):("object"==typeof e&&(e=JSON.stringify(e,null,2)),n.createElement(ah,{lang:(r=t,-1!==r.search(/xml/i)?"xml":-1!==r.search(/csv/i)?"csv":-1!==r.search(/plain/i)?"tex":"clike"),source:e}));var r}function lh({example:e,mimeType:t}){return void 0===e.value&&e.externalValueUrl?n.createElement(ch,{example:e,mimeType:t}):n.createElement(sh,{value:e.value,mimeType:t})}function ch({example:e,mimeType:t}){const r=function(e,t){const[,r]=(0,n.useState)(!0),o=(0,n.useRef)(void 0),i=(0,n.useRef)(void 0);return i.current!==e&&(o.current=void 0),i.current=e,(0,n.useEffect)((()=>{(()=>{return n=this,i=function*(){r(!0);try{o.current=yield e.getExternalValue(t)}catch(e){o.current=e}r(!1)},new Promise(((e,t)=>{var r=e=>{try{a(i.next(e))}catch(e){t(e)}},o=e=>{try{a(i.throw(e))}catch(e){t(e)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,o);a((i=i.apply(n,null)).next())}));var n,i})()}),[e,t]),o.current}(e,t);return void 0===r?n.createElement("span",null,"Loading..."):r instanceof Error?n.createElement(zp,null,"Error loading external example: ",n.createElement("br",null),n.createElement("a",{className:"token string",href:e.externalValueUrl,target:"_blank",rel:"noopener noreferrer"},e.externalValueUrl)):n.createElement(sh,{value:r,mimeType:t})}const uh=ga.div` + padding: 0.9em; + background-color: ${({theme:e})=>Ur(.6,e.rightPanel.backgroundColor)}; + margin: 0 0 10px 0; + display: block; + font-family: ${({theme:e})=>e.typography.headings.fontFamily}; + font-size: 0.929em; + line-height: 1.5em; +`,ph=ga.span` + font-family: ${({theme:e})=>e.typography.headings.fontFamily}; + font-size: 12px; + position: absolute; + z-index: 1; + top: -11px; + left: 12px; + font-weight: ${({theme:e})=>e.typography.fontWeightBold}; + color: ${({theme:e})=>Ur(.3,e.rightPanel.textColor)}; +`,dh=ga.div` + position: relative; +`,fh=ga(Cd)` + label { + color: ${({theme:e})=>e.rightPanel.textColor}; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + font-size: 1em; + text-transform: none; + border: none; + } + margin: 0 0 10px 0; + display: block; + background-color: ${({theme:e})=>Ur(.6,e.rightPanel.backgroundColor)}; + border: none; + padding: 0.9em 1.6em 0.9em 0.9em; + box-shadow: none; + &:hover, + &:focus-within { + border: none; + box-shadow: none; + background-color: ${({theme:e})=>Ur(.3,e.rightPanel.backgroundColor)}; + } +`,hh=ga.div` + font-family: ${e=>e.theme.typography.code.fontFamily}; + font-size: 12px; + color: #ee807f; +`;class mh extends n.Component{constructor(){super(...arguments),this.state={activeIdx:0},this.switchMedia=({idx:e})=>{void 0!==e&&this.setState({activeIdx:e})}}render(){const{activeIdx:e}=this.state,t=this.props.mediaType.examples||{},r=this.props.mediaType.name,o=n.createElement(hh,null,"No sample"),i=Object.keys(t);if(0===i.length)return o;if(i.length>1){const o=i.map(((e,n)=>({value:t[e].summary||e,idx:n}))),a=t[i[e]],s=a.description;return n.createElement(gh,null,n.createElement(dh,null,n.createElement(ph,null,"Example"),this.props.renderDropdown({value:o[e].value,options:o,onChange:this.switchMedia,ariaLabel:"Example"})),n.createElement("div",null,s&&n.createElement(Ff,{source:s}),n.createElement(lh,{example:a,mimeType:r})))}{const e=t[i[0]];return n.createElement(gh,null,e.description&&n.createElement(Ff,{source:e.description}),n.createElement(lh,{example:e,mimeType:r}))}}}const gh=ga.div` + margin-top: 15px; +`;if(!n.useState)throw new Error("mobx-react-lite requires React with Hooks support");if(!tn)throw new Error("mobx-react-lite@3 requires mobx at least version 6 to be available");function yh(e){e()}var vh=[];function bh(e){return Dt(Bn(e,t));var t}var wh="undefined"==typeof FinalizationRegistry?void 0:FinalizationRegistry;function xh(e){return{reaction:e,mounted:!1,changedBeforeMount:!1,cleanAt:Date.now()+kh}}var kh=1e4,_h=wh?function(e){var t=new Map,n=1,r=new e((function(e){var n=t.get(e);n&&(n.reaction.dispose(),t.delete(e))}));return{addReactionToTrack:function(e,o,i){var a=n++;return r.register(i,a,e),e.current=xh(o),e.current.finalizationRegistryCleanupToken=a,t.set(a,e.current),e.current},recordReactionAsCommitted:function(e){r.unregister(e),e.current&&e.current.finalizationRegistryCleanupToken&&t.delete(e.current.finalizationRegistryCleanupToken)},forceCleanupTimerToRunNowForTests:function(){},resetCleanupScheduleForTests:function(){}}}(wh):function(){var e,t=new Set;function n(){void 0===e&&(e=setTimeout(r,1e4))}function r(){e=void 0;var r=Date.now();t.forEach((function(e){var n=e.current;n&&r>=n.cleanAt&&(n.reaction.dispose(),e.current=null,t.delete(e))})),t.size>0&&n()}return{addReactionToTrack:function(e,r,o){var i;return e.current=xh(r),i=e,t.add(i),n(),e.current},recordReactionAsCommitted:function(e){t.delete(e)},forceCleanupTimerToRunNowForTests:function(){e&&(clearTimeout(e),r())},resetCleanupScheduleForTests:function(){var n,r;if(t.size>0){try{for(var o=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(t),i=o.next();!i.done;i=o.next()){var a=i.value,s=a.current;s&&(s.reaction.dispose(),a.current=null)}}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}t.clear()}e&&(clearTimeout(e),e=void 0)}}}(),Oh=_h.addReactionToTrack,Sh=_h.recordReactionAsCommitted,Eh=(_h.resetCleanupScheduleForTests,_h.forceCleanupTimerToRunNowForTests,!1);function Ph(){return Eh}function Ah(e){return"observer"+e}var $h=function(){};function Ch(e,t){if(void 0===t&&(t="observed"),Ph())return e();var r,o=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}(n.useState(new $h),1)[0],i=(r=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}((0,n.useState)(0),2)[1],(0,n.useCallback)((function(){r((function(e){return e+1}))}),vh)),a=n.useRef(null);if(!a.current)var s=new mt(Ah(t),(function(){l.mounted?i():l.changedBeforeMount=!0})),l=Oh(a,s,o);var c,u,p=a.current.reaction;if(n.useDebugValue(p,bh),n.useEffect((function(){return Sh(a),a.current?(a.current.mounted=!0,a.current.changedBeforeMount&&(a.current.changedBeforeMount=!1,i())):(a.current={reaction:new mt(Ah(t),(function(){i()})),mounted:!0,changedBeforeMount:!1,cleanAt:1/0},i()),function(){a.current.reaction.dispose(),a.current=null}}),[]),p.track((function(){try{c=e()}catch(e){u=e}})),u)throw u;return c}var Rh=function(){return Rh=Object.assign||function(e){for(var t,n=1,r=arguments.length;n2?r-2:0),i=2;i"}function Zh(e){var t=this;if(!0===Ph())return e.call(this);Fh(this,Gh,!1),Fh(this,Qh,!1);var r=Jh(this),o=e.bind(this),i=!1,a=new mt(r+".render()",(function(){if(!i&&(i=!0,!0!==t[Kh])){var e=!0;try{Fh(t,Qh,!0),t[Gh]||n.Component.prototype.forceUpdate.call(t),e=!1}finally{Fh(t,Qh,!1),e&&a.dispose()}}}));function s(){i=!1;var e=void 0,t=void 0;if(a.track((function(){try{t=function(e,t){var n=ze(e);try{return t()}finally{Ue(n)}}(!1,o)}catch(t){e=t}})),e)throw e;return t}return a.reactComponent=this,s[Hh]=a,this.render=s,s.call(this)}function em(e,t){return Ph()&&console.warn("[mobx-react] It seems that a re-rendering of a React component is triggered while in static (server-side) mode. Please make sure components are rendered only once server-side."),this.state!==t||!Lh(this.props,e)}function tm(e,t){var n=Dh("reactProp_"+t+"_valueHolder"),r=Dh("reactProp_"+t+"_atomHolder");function o(){return this[r]||Fh(this,r,K("reactive "+t)),this[r]}Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get:function(){var e=!1;return nt&&rt&&(e=nt(!0)),o.call(this).reportObserved(),nt&&rt&&rt(e),this[n]},set:function(e){this[Qh]||Lh(this[n],e)?Fh(this,n,e):(Fh(this,n,e),Fh(this,Gh,!0),o.call(this).reportChanged(),Fh(this,Gh,!1))}})}var nm="function"==typeof Symbol&&Symbol.for,rm=nm?Symbol.for("react.forward_ref"):"function"==typeof n.forwardRef&&(0,n.forwardRef)((function(e){return null})).$$typeof,om=nm?Symbol.for("react.memo"):"function"==typeof n.memo&&(0,n.memo)((function(e){return null})).$$typeof;function im(e){if(!0===e.isMobxInjector&&console.warn("Mobx observer: You are trying to use 'observer' on a component that already has 'inject'. Please apply 'observer' before applying 'inject'"),om&&e.$$typeof===om)throw new Error("Mobx observer: You are trying to use 'observer' on a function component wrapped in either another observer or 'React.memo'. The observer already applies 'React.memo' for you.");if(rm&&e.$$typeof===rm){var t=e.render;if("function"!=typeof t)throw new Error("render property of ForwardRef was not a function");return(0,n.forwardRef)((function(){var e=arguments;return(0,n.createElement)(Th,null,(function(){return t.apply(void 0,e)}))}))}return"function"!=typeof e||e.prototype&&e.prototype.render||e.isReactClass||Object.prototype.isPrototypeOf.call(n.Component,e)?Xh(e):function(e,t){if(Ph())return e;var r,o,i,a=Rh({forwardRef:!1},t),s=e.displayName||e.name,l=function(t,n){return Ch((function(){return e(t,n)}),s)};return l.displayName=s,r=a.forwardRef?(0,n.memo)((0,n.forwardRef)(l)):(0,n.memo)(l),o=e,i=r,Object.keys(o).forEach((function(e){jh[e]||Object.defineProperty(i,e,Object.getOwnPropertyDescriptor(o,e))})),r.displayName=s,r}(e)}if(!n.Component)throw new Error("mobx-react requires React to be available");if(!Ae)throw new Error("mobx-react requires mobx to be available");const am=ga(Gu)` + button { + background-color: transparent; + border: 0; + outline: 0; + font-size: 13px; + font-family: ${e=>e.theme.typography.code.fontFamily}; + cursor: pointer; + padding: 0; + color: ${e=>e.theme.colors.text.primary}; + &:focus { + font-weight: ${({theme:e})=>e.typography.fontWeightBold}; + } + ${({kind:e})=>"patternProperties"===e&&pa` + display: inline-flex; + margin-right: 20px; + + > span.property-name { + white-space: break-spaces; + text-align: left; + + ::before, + ::after { + content: '/'; + filter: opacity(0.2); + } + } + + > svg { + align-self: center; + } + `} + } + ${Bu} { + height: ${({theme:e})=>e.schema.arrow.size}; + width: ${({theme:e})=>e.schema.arrow.size}; + polygon { + fill: ${({theme:e})=>e.schema.arrow.color}; + } + } +`,sm=ga.span` + vertical-align: middle; + font-size: ${({theme:e})=>e.typography.code.fontSize}; + line-height: 20px; +`,lm=ga(sm)` + color: ${e=>Ur(.1,e.theme.schema.typeNameColor)}; +`,cm=ga(sm)` + color: ${e=>e.theme.schema.typeNameColor}; +`,um=ga(sm)` + color: ${e=>e.theme.schema.typeTitleColor}; + word-break: break-word; +`,pm=cm,dm=ga(sm.withComponent("div"))` + color: ${e=>e.theme.schema.requireLabelColor}; + font-size: ${e=>e.theme.schema.labelsTextSize}; + font-weight: normal; + margin-left: 20px; + line-height: 1; +`,fm=ga(dm)` + color: ${e=>e.theme.colors.primary.light}; +`,hm=ga(sm)` + color: ${({theme:e})=>e.colors.warning.main}; + font-size: 13px; +`,mm=ga(sm)` + color: #0e7c86; + &::before, + &::after { + font-weight: bold; + } +`,gm=ga(sm)` + border-radius: 2px; + word-break: break-word; + ${({theme:e})=>`\n background-color: ${Ur(.95,e.colors.text.primary)};\n color: ${Ur(.1,e.colors.text.primary)};\n\n padding: 0 ${e.spacing.unit}px;\n border: 1px solid ${Ur(.9,e.colors.text.primary)};\n font-family: ${e.typography.code.fontFamily};\n}`}; + & + & { + margin-left: 0; + } + ${ya("ExampleValue")}; +`,ym=ga(gm)``,vm=ga(sm)` + border-radius: 2px; + ${({theme:e})=>`\n background-color: ${Ur(.95,e.colors.primary.light)};\n color: ${Ur(.1,e.colors.primary.main)};\n\n margin: 0 ${e.spacing.unit}px;\n padding: 0 ${e.spacing.unit}px;\n border: 1px solid ${Ur(.9,e.colors.primary.main)};\n}`}; + & + & { + margin-left: 0; + } + ${ya("ConstraintItem")}; +`,bm=ga.button` + background-color: transparent; + border: 0; + color: ${({theme:e})=>e.colors.text.secondary}; + margin-left: ${({theme:e})=>e.spacing.unit}px; + border-radius: 2px; + cursor: pointer; + outline-color: ${({theme:e})=>e.colors.text.secondary}; + font-size: 12px; +`;Object.defineProperty,Object.getOwnPropertyDescriptor;const wm=ga.div` + ${Cf}; + ${({compact:e})=>e?"":"margin: 1em 0"} +`;let xm=class extends n.Component{render(){const{externalDocs:e}=this.props;return e&&e.url?n.createElement(wm,{compact:this.props.compact},n.createElement("a",{href:e.url},e.description||e.url)):null}};xm=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],xm);class km extends n.PureComponent{constructor(){super(...arguments),this.state={collapsed:!0}}toggle(){this.setState({collapsed:!this.state.collapsed})}render(){const{values:e,isArrayType:t}=this.props,{collapsed:r}=this.state,{enumSkipQuotes:o,maxDisplayedEnumValues:i}=this.context;if(!e.length)return null;const a=this.state.collapsed&&i?e.slice(0,i):e,s=!!i&&e.length>i,l=i?r?`… ${e.length-i} more`:"Hide":"";return n.createElement("div",null,n.createElement(sm,null,t?lo("enumArray"):""," ",1===e.length?lo("enumSingleValue"):lo("enum"),":")," ",a.map(((e,t)=>{const r=o?String(e):JSON.stringify(e);return n.createElement(n.Fragment,{key:t},n.createElement(gm,null,r)," ")})),s?n.createElement(_m,{onClick:()=>{this.toggle()}},l):null)}}km.contextType=Sa;const _m=ga.span` + color: ${e=>e.theme.colors.primary.main}; + vertical-align: middle; + font-size: 13px; + line-height: 20px; + padding: 0 5px; + cursor: pointer; +`,Om=ga(Rf)` + margin: 2px 0; +`;class Sm extends n.PureComponent{render(){const e=this.props.extensions;return n.createElement(Sa.Consumer,null,(t=>n.createElement(n.Fragment,null,t.showExtensions&&Object.keys(e).map((t=>n.createElement(Om,{key:t},n.createElement(sm,null," ",t.substring(2),": ")," ",n.createElement(ym,null,"string"==typeof e[t]?e[t]:JSON.stringify(e[t]))))))))}}function Em({field:e}){return e.examples?n.createElement(n.Fragment,null,n.createElement(sm,null," ",lo("examples"),": "),io(e.examples)?e.examples.map(((t,r)=>{const o=is(e,t),i=e.in?String(o):JSON.stringify(o);return n.createElement(n.Fragment,{key:r},n.createElement(gm,null,i)," ")})):n.createElement(Pm,null,Object.values(e.examples).map(((t,r)=>n.createElement("li",{key:r+t.value},n.createElement(gm,null,is(e,t.value))," -"," ",t.summary||t.description))))):null}const Pm=ga.ul` + margin-top: 1em; + list-style-position: outside; +`;class Am extends n.PureComponent{render(){return 0===this.props.constraints.length?null:n.createElement("span",null," ",this.props.constraints.map((e=>n.createElement(vm,{key:e}," ",e," "))))}}const $m=n.memo((function({value:e,label:t,raw:r}){if(void 0===e)return null;const o=r?String(e):JSON.stringify(e);return n.createElement("div",null,n.createElement(sm,null," ",t," ")," ",n.createElement(gm,null,o))}));function Cm(e){const t=e.schema.pattern,{hideSchemaPattern:r}=n.useContext(Sa),[o,i]=n.useState(!1),a=n.useCallback((()=>i(!o)),[o]);return!t||r?null:n.createElement(n.Fragment,null,n.createElement(mm,null,o||t.length<45?t:`${t.substr(0,45)}...`),t.length>45&&n.createElement(bm,{onClick:a},o?"Hide pattern":"Show pattern"))}function Rm({schema:e}){const{hideSchemaPattern:t}=n.useContext(Sa);return e&&("string"!==e.type||e.constraints.length)&&((null==e?void 0:e.pattern)&&!t||e.items||e.displayFormat||e.constraints.length)?n.createElement(jm,null,"[ items",e.displayFormat&&n.createElement(pm,null," <",e.displayFormat," >"),n.createElement(Am,{constraints:e.constraints}),n.createElement(Cm,{schema:e}),e.items&&n.createElement(Rm,{schema:e.items})," ]"):null}const jm=ga(lm)` + margin: 0 5px; + vertical-align: text-top; +`;var Tm=Object.defineProperty,Im=Object.getOwnPropertySymbols,Nm=Object.prototype.hasOwnProperty,Dm=Object.prototype.propertyIsEnumerable,Lm=(e,t,n)=>t in e?Tm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Mm=(e,t)=>{for(var n in t||(t={}))Nm.call(t,n)&&Lm(e,n,t[n]);if(Im)for(var n of Im(t))Dm.call(t,n)&&Lm(e,n,t[n]);return e};const Fm=im((e=>{const{enumSkipQuotes:t,hideSchemaTitles:r}=n.useContext(Sa),{showExamples:o,field:i,renderDiscriminatorSwitch:a}=e,{schema:s,description:l,deprecated:c,extensions:u,in:p,const:d}=i,f="array"===s.type,h=t||"header"===p,m=n.useMemo((()=>!o||void 0===i.example&&void 0===i.examples?null:void 0!==i.examples?n.createElement(Em,{field:i}):n.createElement($m,{label:lo("example")+":",value:is(i,i.example),raw:Boolean(i.in)})),[i,o]);return n.createElement("div",null,n.createElement("div",null,n.createElement(lm,null,s.typePrefix),n.createElement(cm,null,s.displayType),s.displayFormat&&n.createElement(pm,null," ","<",s.displayFormat,">"," "),s.contentEncoding&&n.createElement(pm,null," ","<",s.contentEncoding,">"," "),s.contentMediaType&&n.createElement(pm,null," ","<",s.contentMediaType,">"," "),s.title&&!r&&n.createElement(um,null," (",s.title,") "),n.createElement(Am,{constraints:s.constraints}),n.createElement(Cm,{schema:s}),s.isCircular&&n.createElement(hm,null," ",lo("recursive")," "),f&&s.items&&n.createElement(Rm,{schema:s.items})),c&&n.createElement("div",null,n.createElement(qu,{type:"warning"}," ",lo("deprecated")," ")),n.createElement($m,{raw:h,label:lo("default")+":",value:s.default}),!a&&n.createElement(km,{isArrayType:f,values:s.enum})," ",m,n.createElement(Sm,{extensions:Mm(Mm({},u),s.extensions)}),n.createElement("div",null,n.createElement(Ff,{compact:!0,source:l})),s.externalDocs&&n.createElement(xm,{externalDocs:s.externalDocs,compact:!0}),a&&a(e)||null,d&&n.createElement($m,{label:lo("const")+":",value:d})||null)})),zm=n.memo(Fm);var Um=Object.defineProperty,Vm=(Object.getOwnPropertyDescriptor,Object.getOwnPropertySymbols),Bm=Object.prototype.hasOwnProperty,qm=Object.prototype.propertyIsEnumerable,Wm=(e,t,n)=>t in e?Um(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;let Hm=class extends n.Component{constructor(){super(...arguments),this.toggle=()=>{void 0===this.props.field.expanded&&this.props.expandByDefault?this.props.field.collapse():this.props.field.toggle()},this.handleKeyPress=e=>{"Enter"===e.key&&(e.preventDefault(),this.toggle())}}render(){const{className:e="",field:t,isLast:r,expandByDefault:o}=this.props,{name:i,deprecated:a,required:s,kind:l}=t,c=!t.schema.isPrimitive&&!t.schema.isCircular,u=void 0===t.expanded?o:t.expanded,p=n.createElement(n.Fragment,null,"additionalProperties"===l&&n.createElement(fm,null,"additional property"),"patternProperties"===l&&n.createElement(fm,null,"pattern property"),s&&n.createElement(dm,null,"required")),d=c?n.createElement(am,{className:a?"deprecated":"",kind:l,title:i},n.createElement(Xu,null),n.createElement("button",{onClick:this.toggle,onKeyPress:this.handleKeyPress,"aria-label":"expand properties"},n.createElement("span",{className:"property-name"},i),n.createElement(Bu,{direction:u?"down":"right"})),p):n.createElement(Gu,{className:a?"deprecated":void 0,kind:l,title:i},n.createElement(Xu,null),n.createElement("span",{className:"property-name"},i),p);return n.createElement(n.Fragment,null,n.createElement("tr",{className:r?"last "+e:e},d,n.createElement(Qu,null,n.createElement(zm,((e,t)=>{for(var n in t||(t={}))Bm.call(t,n)&&Wm(e,n,t[n]);if(Vm)for(var n of Vm(t))qm.call(t,n)&&Wm(e,n,t[n]);return e})({},this.props)))),u&&c&&n.createElement("tr",{key:t.name+"inner"},n.createElement(Ku,{colSpan:2},n.createElement(Ju,null,n.createElement(Pg,{schema:t.schema,skipReadOnly:this.props.skipReadOnly,skipWriteOnly:this.props.skipWriteOnly,showTitle:this.props.showTitle,level:this.props.level})))))}};Hm=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],Hm);Object.defineProperty,Object.getOwnPropertyDescriptor;let Ym=class extends n.Component{constructor(){super(...arguments),this.changeActiveChild=e=>{void 0!==e.idx&&this.props.parent.activateOneOf(e.idx)}}sortOptions(e,t){if(0===t.length)return;const n={};t.forEach(((e,t)=>{n[e]=t})),e.sort(((e,t)=>n[e.value]>n[t.value]?1:-1))}render(){const{parent:e,enumValues:t}=this.props;if(void 0===e.oneOf)return null;const r=e.oneOf.map(((e,t)=>({value:e.title,idx:t}))),o=r[e.activeOneOf].value;return this.sortOptions(r,t),n.createElement(Cd,{value:o,options:r,onChange:this.changeActiveChild,ariaLabel:"Example"})}};Ym=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],Ym);const Km=im((({schema:{fields:e=[],title:t},showTitle:r,discriminator:o,skipReadOnly:i,skipWriteOnly:a,level:s})=>{const{expandSingleSchemaField:l,showObjectSchemaExamples:c,schemaExpansionLevel:u}=n.useContext(Sa),p=n.useMemo((()=>i||a?e.filter((e=>!(i&&e.schema.readOnly||a&&e.schema.writeOnly))):e),[i,a,e]),d=l&&1===p.length||u>=s;return n.createElement(Zu,null,r&&n.createElement(Hu,null,t),n.createElement("tbody",null,Gr(p,((e,t)=>n.createElement(Hm,{key:e.name,isLast:t,field:e,expandByDefault:d,renderDiscriminatorSwitch:(null==o?void 0:o.fieldName)===e.name?()=>n.createElement(Ym,{parent:o.parentSchema,enumValues:e.schema.enum}):void 0,className:e.expanded?"expanded":void 0,showExamples:c,skipReadOnly:i,skipWriteOnly:a,showTitle:r,level:s})))))}));var Gm=Object.defineProperty,Qm=Object.defineProperties,Xm=Object.getOwnPropertyDescriptors,Jm=Object.getOwnPropertySymbols,Zm=Object.prototype.hasOwnProperty,eg=Object.prototype.propertyIsEnumerable,tg=(e,t,n)=>t in e?Gm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ng=(e,t)=>{for(var n in t||(t={}))Zm.call(t,n)&&tg(e,n,t[n]);if(Jm)for(var n of Jm(t))eg.call(t,n)&&tg(e,n,t[n]);return e},rg=(e,t)=>Qm(e,Xm(t));const og=ga.div` + padding-left: ${({theme:e})=>2*e.spacing.unit}px; +`;class ig extends n.PureComponent{render(){const e=this.props.schema,t=e.items,r=void 0===e.minItems&&void 0===e.maxItems?"":`(${us(e)})`;return e.fields?n.createElement(Km,rg(ng({},this.props),{level:this.props.level})):!e.displayType||t||r.length?n.createElement("div",null,n.createElement(rp,null," Array ",r),n.createElement(og,null,n.createElement(Pg,rg(ng({},this.props),{schema:t}))),n.createElement(op,null)):n.createElement("div",null,n.createElement(cm,null,e.displayType))}}var ag=Object.defineProperty,sg=Object.defineProperties,lg=Object.getOwnPropertyDescriptor,cg=Object.getOwnPropertyDescriptors,ug=Object.getOwnPropertySymbols,pg=Object.prototype.hasOwnProperty,dg=Object.prototype.propertyIsEnumerable,fg=(e,t,n)=>t in e?ag(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hg=(e,t,n,r)=>{for(var o,i=r>1?void 0:r?lg(t,n):t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&ag(t,n,i),i};let mg=class extends n.Component{constructor(){super(...arguments),this.activateOneOf=()=>{this.props.schema.activateOneOf(this.props.idx)}}render(){const{idx:e,schema:t,subSchema:r}=this.props;return n.createElement(np,{deprecated:r.deprecated,active:e===t.activeOneOf,onClick:this.activateOneOf},r.title||r.typePrefix+r.displayType)}};mg=hg([im],mg);let gg=class extends n.Component{render(){const{schema:{oneOf:e},schema:t}=this.props;if(void 0===e)return null;const r=e[t.activeOneOf];return n.createElement("div",null,n.createElement(tp,null," ",t.oneOfType," "),n.createElement(ep,null,e.map(((e,r)=>n.createElement(mg,{key:e.pointer,schema:t,subSchema:e,idx:r})))),n.createElement("div",null,e[t.activeOneOf].deprecated&&n.createElement(qu,{type:"warning"},"Deprecated")),n.createElement(Am,{constraints:r.constraints}),n.createElement(Pg,((e,t)=>sg(e,cg(t)))(((e,t)=>{for(var n in t||(t={}))pg.call(t,n)&&fg(e,n,t[n]);if(ug)for(var n of ug(t))dg.call(t,n)&&fg(e,n,t[n]);return e})({},this.props),{schema:r})))}};gg=hg([im],gg);const yg=im((({schema:e})=>n.createElement("div",null,n.createElement(cm,null,e.displayType),e.title&&n.createElement(um,null," ",e.title," "),n.createElement(hm,null," ",lo("recursive")," "))));var vg=Object.defineProperty,bg=Object.defineProperties,wg=(Object.getOwnPropertyDescriptor,Object.getOwnPropertyDescriptors),xg=Object.getOwnPropertySymbols,kg=Object.prototype.hasOwnProperty,_g=Object.prototype.propertyIsEnumerable,Og=(e,t,n)=>t in e?vg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Sg=(e,t)=>{for(var n in t||(t={}))kg.call(t,n)&&Og(e,n,t[n]);if(xg)for(var n of xg(t))_g.call(t,n)&&Og(e,n,t[n]);return e},Eg=(e,t)=>bg(e,wg(t));let Pg=class extends n.Component{render(){var e;const t=this.props,{schema:r}=t,o=((e,t)=>{var n={};for(var r in e)kg.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&xg)for(var r of xg(e))t.indexOf(r)<0&&_g.call(e,r)&&(n[r]=e[r]);return n})(t,["schema"]),i=(o.level||0)+1;if(!r)return n.createElement("em",null," Schema not provided ");const{type:a,oneOf:s,discriminatorProp:l,isCircular:c}=r;if(c)return n.createElement(yg,{schema:r});if(void 0!==l){if(!s||!s.length)return console.warn(`Looks like you are using discriminator wrong: you don't have any definition inherited from the ${r.title}`),null;const e=s[r.activeOneOf];return e.isCircular?n.createElement(yg,{schema:e}):n.createElement(Km,Eg(Sg({},o),{level:i,schema:e,discriminator:{fieldName:l,parentSchema:r}}))}if(void 0!==s)return n.createElement(gg,Sg({schema:r},o));const u=io(a)?a:[a];if(u.includes("object")){if(null==(e=r.fields)?void 0:e.length)return n.createElement(Km,Eg(Sg({},this.props),{level:i}))}else if(u.includes("array"))return n.createElement(ig,Eg(Sg({},this.props),{level:i}));const p={schema:r,name:"",required:!1,description:r.description,externalDocs:r.externalDocs,deprecated:!1,toggle:()=>null,expanded:!1};return n.createElement("div",null,n.createElement(zm,{field:p}))}};Pg=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],Pg);var Ag=Object.defineProperty,$g=Object.defineProperties,Cg=Object.getOwnPropertyDescriptors,Rg=Object.getOwnPropertySymbols,jg=Object.prototype.hasOwnProperty,Tg=Object.prototype.propertyIsEnumerable,Ig=(e,t,n)=>t in e?Ag(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;class Ng extends n.PureComponent{constructor(){super(...arguments),this.renderDropdown=e=>{return n.createElement(Af,(t=((e,t)=>{for(var n in t||(t={}))jg.call(t,n)&&Ig(e,n,t[n]);if(Rg)for(var n of Rg(t))Tg.call(t,n)&&Ig(e,n,t[n]);return e})({Label:jd,Dropdown:fh},e),$g(t,Cg({variant:"dark"}))));var t}}static getMediaType(e,t){if(!e)return{};const n={schema:{$ref:e}};return t&&(n.examples={example:{$ref:t}}),n}get mediaModel(){const{parser:e,schemaRef:t,exampleRef:n,options:r}=this.props;return this._mediaModel||(this._mediaModel=new nu(e,"json",!1,Ng.getMediaType(t,n),r)),this._mediaModel}render(){const{showReadOnly:e=!0,showWriteOnly:t=!1}=this.props;return n.createElement(Su,null,n.createElement(Au,null,n.createElement(Ou,null,n.createElement(Pg,{skipWriteOnly:!t,skipReadOnly:!e,schema:this.mediaModel.schema})),n.createElement(Pu,null,n.createElement(Dg,null,n.createElement(mh,{renderDropdown:this.renderDropdown,mediaType:this.mediaModel})))))}}const Dg=ga.div` + background: ${({theme:e})=>e.codeBlock.backgroundColor}; + & > div, + & > pre { + padding: ${e=>4*e.theme.spacing.unit}px; + margin: 0; + } + + & > div > pre { + padding: 0; + } +`,Lg=(ca.div` + background-color: #e4e7eb; +`,ca.ul` + display: inline; + list-style: none; + padding: 0; + + li { + display: inherit; + + &:after { + content: ','; + } + &:last-child:after { + content: none; + } + } +`,ca.code` + font-size: ${e=>e.theme.typography.code.fontSize}; + font-family: ${e=>e.theme.typography.code.fontFamily}; + margin: 0 3px; + padding: 0.2em; + display: inline-block; + line-height: 1; + + &:after { + content: ','; + font-weight: normal; + } + + &:last-child:after { + content: none; + } +`),Mg=ca.span` + &:after { + content: ' and '; + font-weight: normal; + } + + &:last-child:after { + content: none; + } + + ${Cf}; +`,Fg=ca.span` + ${e=>!e.expanded&&"white-space: nowrap;"} + &:after { + content: ' or '; + ${e=>e.expanded&&"content: ' or \\a';"} + white-space: pre; + } + + &:last-child:after, + &:only-child:after { + content: none; + } + + ${Cf}; +`,zg=ca.div` + flex: 1 1 auto; + cursor: pointer; +`,Ug=ca.div` + width: ${e=>e.theme.schema.defaultDetailsWidth}; + text-overflow: ellipsis; + border-radius: 4px; + overflow: hidden; + ${e=>e.expanded&&`background: ${e.theme.colors.gray[100]};\n padding: 8px 9.6px;\n margin: 20px 0;\n width: 100%;\n `}; + ${ma("small")` + margin-top: 10px; + `} +`,Vg=ca(Iu)` + display: inline-block; + margin: 0; +`,Bg=ca.div` + width: 100%; + display: flex; + margin: 1em 0; + flex-direction: ${e=>e.expanded?"column":"row"}; + ${ma("small")` + flex-direction: column; + `} +`,qg=ca.div` + margin: 0.5em 0; +`,Wg=ca.div` + border-bottom: 1px solid ${({theme:e})=>e.colors.border.dark}; + margin-bottom: 1.5em; + padding-bottom: 0.7em; + + h5 { + line-height: 1em; + margin: 0 0 0.6em; + font-size: ${({theme:e})=>e.typography.fontSize}; + } + + .redoc-markdown p:first-child { + display: inline; + } +`;function Hg({children:e,height:t}){const r=n.createRef(),[o,i]=n.useState(!1),[a,s]=n.useState(!1);return n.useEffect((()=>{r.current&&r.current.clientHeight+20{i(!o)}},o?"See less":"See more")))}const Yg=ca.div` + overflow-y: hidden; +`,Kg=ca.div` + text-align: center; + line-height: 1.5em; + ${({dimmed:e})=>e&&"background-image: linear-gradient(to bottom, transparent,rgb(255 255 255));\n position: relative;\n top: -0.5em;\n padding-top: 0.5em;\n background-position-y: -1em;\n "} +`,Gg=ca.a` + cursor: pointer; +`,Qg=n.memo((function(e){const{type:t,flow:r,RequiredScopes:o}=e,i=Object.keys((null==r?void 0:r.scopes)||{});return n.createElement(n.Fragment,null,n.createElement(qg,null,n.createElement("b",null,"Flow type: "),n.createElement("code",null,t," ")),("implicit"===t||"authorizationCode"===t)&&n.createElement(qg,null,n.createElement("strong",null," Authorization URL: "),n.createElement("code",null,n.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:r.authorizationUrl},r.authorizationUrl))),("password"===t||"clientCredentials"===t||"authorizationCode"===t)&&n.createElement(qg,null,n.createElement("b",null," Token URL: "),n.createElement("code",null,r.tokenUrl)),r.refreshUrl&&n.createElement(qg,null,n.createElement("strong",null," Refresh URL: "),r.refreshUrl),!!i.length&&n.createElement(n.Fragment,null,o||null,n.createElement(qg,null,n.createElement("b",null," Scopes: ")),n.createElement(Hg,{height:"4em"},n.createElement("ul",null,i.map((e=>n.createElement("li",{key:e},n.createElement("code",null,e)," -"," ",n.createElement(Ff,{className:"redoc-markdown",inline:!0,source:r.scopes[e]||""}))))))))}));function Xg(e){const{RequiredScopes:t,scheme:r}=e;return n.createElement(Rf,null,r.apiKey?n.createElement(n.Fragment,null,n.createElement(qg,null,n.createElement("b",null,(o=r.apiKey.in||"").charAt(0).toUpperCase()+o.slice(1)," parameter name: "),n.createElement("code",null,r.apiKey.name)),t):r.http?n.createElement(n.Fragment,null,n.createElement(qg,null,n.createElement("b",null,"HTTP Authorization Scheme: "),n.createElement("code",null,r.http.scheme)),n.createElement(qg,null,"bearer"===r.http.scheme&&r.http.bearerFormat&&n.createElement(n.Fragment,null,n.createElement("b",null,"Bearer format: "),n.createElement("code",null,r.http.bearerFormat))),t):r.openId?n.createElement(n.Fragment,null,n.createElement(qg,null,n.createElement("b",null,"Connect URL: "),n.createElement("code",null,n.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:r.openId.connectUrl},r.openId.connectUrl))),t):r.flows?Object.keys(r.flows).map((e=>n.createElement(Qg,{key:e,type:e,RequiredScopes:t,flow:r.flows[e]}))):null);var o}const Jg={oauth2:"OAuth2",apiKey:"API Key",http:"HTTP",openIdConnect:"OpenID Connect"};class Zg extends n.PureComponent{render(){return this.props.securitySchemes.schemes.map((e=>n.createElement(Su,{id:e.sectionId,key:e.id},n.createElement(Au,null,n.createElement(Ou,null,n.createElement(ju,null,n.createElement(Uu,{to:e.sectionId}),e.displayName),n.createElement(Ff,{source:e.description||""}),n.createElement(Wg,null,n.createElement(qg,null,n.createElement("b",null,"Security Scheme Type: "),n.createElement("span",null,Jg[e.type]||e.type)),n.createElement(Xg,{scheme:e})))))))}}class ey{constructor(e,t,n={},r=!0){var o,i,a,s;this.marker=new Ls,this.disposer=null,this.rawOptions=n,this.options=new xo(n,ty),this.scroll=new xf(this.options),yf.updateOnHistory(Ns.currentId,this.scroll),this.spec=new Xd(e,t,this.options),this.menu=new yf(this.spec,this.scroll,Ns),this.options.disableSearch||(this.search=new kf,r&&this.search.indexItems(this.menu.items),this.disposer=(o=this.menu,i="activeItemIdx",w(a=e=>{this.updateMarkOnMenu(e.newValue)})?function(e,t,n,r){return qn(e,t).observe_(n,r)}(o,i,a,s):function(e,t,n){return qn(e).observe_(t,n)}(o,i,a)))}static fromJS(e){const t=new ey(e.spec.data,e.spec.url,e.options,!1);return t.menu.activeItemIdx=e.menu.activeItemIdx||0,t.menu.activate(t.menu.flatItems[t.menu.activeItemIdx]),t.options.disableSearch||t.search.load(e.searchIndex),t}onDidMount(){this.menu.updateOnHistory(),this.updateMarkOnMenu(this.menu.activeItemIdx)}dispose(){this.scroll.dispose(),this.menu.dispose(),this.search&&this.search.dispose(),null!=this.disposer&&this.disposer()}toJS(){return e=this,t=null,n=function*(){return{menu:{activeItemIdx:this.menu.activeItemIdx},spec:{url:this.spec.parser.specUrl,data:this.spec.parser.spec},searchIndex:this.search?yield this.search.toJS():void 0,options:this.rawOptions}},new Promise(((r,o)=>{var i=e=>{try{s(n.next(e))}catch(e){o(e)}},a=e=>{try{s(n.throw(e))}catch(e){o(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(i,a);s((n=n.apply(e,t)).next())}));var e,t,n}updateMarkOnMenu(e){const t=Math.max(0,e),n=Math.min(this.menu.flatItems.length,t+5),r=[];for(let e=t;e({securitySchemes:e.spec.securitySchemes})},"security-definitions":{component:Zg,propsSelector:e=>({securitySchemes:e.spec.securitySchemes})},SchemaDefinition:{component:Ng,propsSelector:e=>({parser:e.spec.parser,options:e.options})}}},ny=ga(Ru)` + margin-top: 0; + margin-bottom: 0.5em; + + ${ya("ApiHeader")}; +`,ry=ga.a` + border: 1px solid ${e=>e.theme.colors.primary.main}; + color: ${e=>e.theme.colors.primary.main}; + font-weight: normal; + margin-left: 0.5em; + padding: 4px 8px 4px; + display: inline-block; + text-decoration: none; + cursor: pointer; + + ${ya("DownloadButton")}; +`,oy=ga.span` + &::before { + content: '|'; + display: inline-block; + opacity: 0.5; + width: ${15}px; + text-align: center; + } + + &:last-child::after { + display: none; + } +`,iy=ga.div` + overflow: hidden; +`,ay=ga.div` + display: flex; + flex-wrap: wrap; + // hide separator on new lines: idea from https://stackoverflow.com/a/31732902/1749888 + margin-left: -${15}px; +`;Object.defineProperty,Object.getOwnPropertyDescriptor;let sy=class extends n.Component{constructor(){super(...arguments),this.handleDownloadClick=e=>{e.target.href||(e.target.href=this.props.store.spec.info.downloadLink)}}render(){const{store:e}=this.props,{info:t,externalDocs:r}=e.spec,o=e.options.hideDownloadButton,i=t.downloadFileName,a=t.downloadLink,s=t.license&&n.createElement(oy,null,"License:"," ",t.license.identifier?t.license.identifier:n.createElement("a",{href:t.license.url},t.license.name))||null,l=t.contact&&t.contact.url&&n.createElement(oy,null,"URL: ",n.createElement("a",{href:t.contact.url},t.contact.url))||null,c=t.contact&&t.contact.email&&n.createElement(oy,null,t.contact.name||"E-mail",":"," ",n.createElement("a",{href:"mailto:"+t.contact.email},t.contact.email))||null,u=t.termsOfService&&n.createElement(oy,null,n.createElement("a",{href:t.termsOfService},"Terms of Service"))||null,p=t.version&&n.createElement("span",null,"(",t.version,")")||null;return n.createElement(Su,null,n.createElement(Au,null,n.createElement(Ou,{className:"api-info"},n.createElement(ny,null,t.title," ",p),!o&&n.createElement("p",null,lo("downloadSpecification"),":",n.createElement(ry,{download:i||!0,target:"_blank",href:a,onClick:this.handleDownloadClick},lo("download"))),n.createElement(Rf,null,(t.license||t.contact||t.termsOfService)&&n.createElement(iy,null,n.createElement(ay,null,c," ",l," ",s," ",u))||null),n.createElement(Ff,{source:e.spec.info.summary,"data-role":"redoc-summary"}),n.createElement(Ff,{source:e.spec.info.description,"data-role":"redoc-description"}),r&&n.createElement(xm,{externalDocs:r}))))}};sy=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],sy);const ly=ga.img` + max-height: ${e=>e.theme.logo.maxHeight}; + max-width: ${e=>e.theme.logo.maxWidth}; + padding: ${e=>e.theme.logo.gutter}; + width: 100%; + display: block; +`,cy=ga.div` + text-align: center; +`,uy=ga.a` + display: inline-block; +`;Object.defineProperty,Object.getOwnPropertyDescriptor;let py=class extends n.Component{render(){const{info:e}=this.props,t=e["x-logo"];if(!t||!t.url)return null;const r=t.href||e.contact&&e.contact.url,o=t.altText?t.altText:"logo",i=n.createElement(ly,{src:t.url,alt:o});return n.createElement(cy,{style:{backgroundColor:t.backgroundColor}},r?(a=r,e=>n.createElement(uy,{href:a},e))(i):i);var a}};py=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],py);var dy=Object.defineProperty,fy=Object.getOwnPropertySymbols,hy=Object.prototype.hasOwnProperty,my=Object.prototype.propertyIsEnumerable,gy=(e,t,n)=>t in e?dy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yy=(e,t)=>{for(var n in t||(t={}))hy.call(t,n)&&gy(e,n,t[n]);if(fy)for(var n of fy(t))my.call(t,n)&&gy(e,n,t[n]);return e};class vy extends n.Component{render(){return n.createElement(Pa,null,(e=>n.createElement(Lu,null,(t=>this.renderWithOptionsAndStore(e,t)))))}renderWithOptionsAndStore(e,t){const{source:r,htmlWrap:o=(e=>e)}=this.props;if(!t)throw new Error("When using components in markdown, store prop must be provided");const i=new jl(e,this.props.parentId).renderMdWithComponents(r);return i.length?i.map(((e,r)=>{if("string"==typeof e)return n.cloneElement(o(n.createElement(Mf,{html:e,inline:!1,compact:!1})),{key:r});const i=e.component;return n.createElement(i,yy({key:r},yy(yy({},e.props),e.propsSelector(t))))})):null}}var by=r(4184),wy=r.n(by);const xy=ga.span.attrs((e=>({className:`operation-type ${e.type}`})))` + width: 9ex; + display: inline-block; + height: ${e=>e.theme.typography.code.fontSize}; + line-height: ${e=>e.theme.typography.code.fontSize}; + background-color: #333; + border-radius: 3px; + background-repeat: no-repeat; + background-position: 6px 4px; + font-size: 7px; + font-family: Verdana, sans-serif; // web-safe + color: white; + text-transform: uppercase; + text-align: center; + font-weight: bold; + vertical-align: middle; + margin-right: 6px; + margin-top: 2px; + + &.get { + background-color: ${e=>e.theme.colors.http.get}; + } + + &.post { + background-color: ${e=>e.theme.colors.http.post}; + } + + &.put { + background-color: ${e=>e.theme.colors.http.put}; + } + + &.options { + background-color: ${e=>e.theme.colors.http.options}; + } + + &.patch { + background-color: ${e=>e.theme.colors.http.patch}; + } + + &.delete { + background-color: ${e=>e.theme.colors.http.delete}; + } + + &.basic { + background-color: ${e=>e.theme.colors.http.basic}; + } + + &.link { + background-color: ${e=>e.theme.colors.http.link}; + } + + &.head { + background-color: ${e=>e.theme.colors.http.head}; + } + + &.hook { + background-color: ${e=>e.theme.colors.primary.main}; + } +`;function ky(e,{theme:t},n){return e>1?t.sidebar.level1Items[n]:1===e?t.sidebar.groupItems[n]:""}const _y=ga.ul` + margin: 0; + padding: 0; + + &:first-child { + padding-bottom: 32px; + } + + & & { + font-size: 0.929em; + } + + ${e=>e.expanded?"":"display: none;"}; +`,Oy=ga.li` + list-style: none inside none; + overflow: hidden; + text-overflow: ellipsis; + padding: 0; + ${e=>0===e.depth?"margin-top: 15px":""}; +`,Sy={0:pa` + opacity: 0.7; + text-transform: ${({theme:e})=>e.sidebar.groupItems.textTransform}; + font-size: 0.8em; + padding-bottom: 0; + cursor: default; + `,1:pa` + font-size: 0.929em; + text-transform: ${({theme:e})=>e.sidebar.level1Items.textTransform}; + `},Ey=ga.label.attrs((e=>({role:"menuitem",className:wy()("-depth"+e.depth,{active:e.active})})))` + cursor: pointer; + color: ${e=>e.active?ky(e.depth,e,"activeTextColor"):e.theme.sidebar.textColor}; + margin: 0; + padding: 12.5px ${e=>4*e.theme.spacing.unit}px; + ${({depth:e,type:t,theme:n})=>"section"===t&&e>1&&"padding-left: "+8*n.spacing.unit+"px;"||""} + display: flex; + justify-content: space-between; + font-family: ${e=>e.theme.typography.headings.fontFamily}; + ${e=>Sy[e.depth]}; + background-color: ${e=>e.active?ky(e.depth,e,"activeBackgroundColor"):e.theme.sidebar.backgroundColor}; + + ${e=>e.deprecated&&Wu||""}; + + &:hover { + color: ${e=>ky(e.depth,e,"activeTextColor")}; + background-color: ${e=>ky(e.depth,e,"activeBackgroundColor")}; + } + + ${Bu} { + height: ${({theme:e})=>e.sidebar.arrow.size}; + width: ${({theme:e})=>e.sidebar.arrow.size}; + polygon { + fill: ${({theme:e})=>e.sidebar.arrow.color}; + } + } +`,Py=ga.span` + display: inline-block; + vertical-align: middle; + width: ${e=>e.width?e.width:"auto"}; + overflow: hidden; + text-overflow: ellipsis; +`,Ay=ga.div` + ${({theme:e})=>pa` + font-size: 0.8em; + margin-top: ${2*e.spacing.unit}px; + text-align: center; + position: fixed; + width: ${e.sidebar.width}; + bottom: 0; + background: ${e.sidebar.backgroundColor}; + + a, + a:visited, + a:hover { + color: ${e.sidebar.textColor} !important; + padding: ${e.spacing.unit}px 0; + border-top: 1px solid ${Rr(.1,e.sidebar.backgroundColor)}; + text-decoration: none; + display: flex; + align-items: center; + justify-content: center; + } + `}; + img { + width: 15px; + margin-right: 5px; + } + + ${ma("small")` + width: 100%; + `}; +`,$y=ga.button` + border: 0; + width: 100%; + text-align: left; + & > * { + vertical-align: middle; + } + + ${Bu} { + polygon { + fill: ${({theme:e})=>Rr(e.colors.tonalOffset,e.colors.gray[100])}; + } + } +`,Cy=ga.span` + text-decoration: ${e=>e.deprecated?"line-through":"none"}; + margin-right: 8px; +`,Ry=ga(xy)` + margin: 0 5px 0 0; +`,jy=ga((e=>{const{name:t,opened:r,className:o,onClick:i,httpVerb:a,deprecated:s}=e;return n.createElement($y,{className:o,onClick:i||void 0},n.createElement(Ry,{type:a},ms(a)),n.createElement(Bu,{size:"1.5em",direction:r?"down":"right",float:"left"}),n.createElement(Cy,{deprecated:s},t),s?n.createElement(qu,{type:"warning"}," ",lo("deprecated")," "):null)}))` + padding: 10px; + border-radius: 2px; + margin-bottom: 4px; + line-height: 1.5em; + background-color: ${({theme:e})=>e.colors.gray[100]}; + cursor: pointer; + outline-color: ${({theme:e})=>Rr(e.colors.tonalOffset,e.colors.gray[100])}; +`,Ty=ga.div` + padding: 10px 25px; + background-color: ${({theme:e})=>e.colors.gray[50]}; + margin-bottom: 5px; + margin-top: 5px; +`;class Iy extends n.PureComponent{constructor(){super(...arguments),this.selectElement=()=>{Yf.selectElement(this.child)}}render(){const{children:e}=this.props;return n.createElement("div",{ref:e=>this.child=e,onClick:this.selectElement,onFocus:this.selectElement,tabIndex:0,role:"button"},e)}}const Ny=ga.div` + cursor: pointer; + position: relative; + margin-bottom: 5px; +`,Dy=ga.span` + font-family: ${e=>e.theme.typography.code.fontFamily}; + margin-left: 10px; + flex: 1; + overflow-x: hidden; + text-overflow: ellipsis; +`,Ly=ga.button` + outline: 0; + color: inherit; + width: 100%; + text-align: left; + cursor: pointer; + padding: 10px 30px 10px ${e=>e.inverted?"10px":"20px"}; + border-radius: ${e=>e.inverted?"0":"4px 4px 0 0"}; + background-color: ${e=>e.inverted?"transparent":e.theme.codeBlock.backgroundColor}; + display: flex; + white-space: nowrap; + align-items: center; + border: ${e=>e.inverted?"0":"1px solid transparent"}; + border-bottom: ${e=>e.inverted?"1px solid #ccc":"0"}; + transition: border-color 0.25s ease; + + ${e=>e.expanded&&!e.inverted&&`border-color: ${e.theme.colors.border.dark};`||""} + + .${Dy} { + color: ${e=>e.inverted?e.theme.colors.text.primary:"#ffffff"}; + } + &:focus { + box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.45), 0 2px 0 rgba(128, 128, 128, 0.25); + } +`,My=ga.span.attrs((e=>({className:`http-verb ${e.type}`})))` + font-size: ${e=>e.compact?"0.8em":"0.929em"}; + line-height: ${e=>e.compact?"18px":"20px"}; + background-color: ${e=>e.theme.colors.http[e.type]||"#999999"}; + color: #ffffff; + padding: ${e=>e.compact?"2px 8px":"3px 10px"}; + text-transform: uppercase; + font-family: ${e=>e.theme.typography.headings.fontFamily}; + margin: 0; +`,Fy=ga.div` + position: absolute; + width: 100%; + z-index: 100; + background: ${e=>e.theme.rightPanel.servers.overlay.backgroundColor}; + color: ${e=>e.theme.rightPanel.servers.overlay.textColor}; + box-sizing: border-box; + box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.33); + overflow: hidden; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + transition: all 0.25s ease; + visibility: hidden; + ${e=>e.expanded?"visibility: visible;":"transform: translateY(-50%) scaleY(0);"} +`,zy=ga.div` + padding: 10px; +`,Uy=ga.div` + padding: 5px; + border: 1px solid #ccc; + background: ${e=>e.theme.rightPanel.servers.url.backgroundColor}; + word-break: break-all; + color: ${e=>e.theme.colors.primary.main}; + > span { + color: ${e=>e.theme.colors.text.primary}; + } +`;class Vy extends n.Component{constructor(e){super(e),this.toggle=()=>{this.setState({expanded:!this.state.expanded})},this.state={expanded:!1}}render(){const{operation:e,inverted:t,hideHostname:r}=this.props,{expanded:o}=this.state;return n.createElement(Sa.Consumer,null,(i=>n.createElement(Ny,null,n.createElement(Ly,{onClick:this.toggle,expanded:o,inverted:t},n.createElement(My,{type:e.httpVerb,compact:this.props.compact},e.httpVerb),n.createElement(Dy,null,e.path),n.createElement(Bu,{float:"right",color:t?"black":"white",size:"20px",direction:o?"up":"down",style:{marginRight:"-25px"}})),n.createElement(Fy,{expanded:o,"aria-hidden":!o},e.servers.map((t=>{const o=i.expandDefaultServerVariables?function(e,t={}){return e.replace(/(?:{)([\w-.]+)(?:})/g,((e,n)=>t[n]&&t[n].default||e))}(t.url,t.variables):t.url,a=function(e){try{return ro(e).pathname}catch(t){return e}}(o);return n.createElement(zy,{key:o},n.createElement(Ff,{source:t.description||"",compact:!0}),n.createElement(Iy,null,n.createElement(Uy,null,n.createElement("span",null,r||i.hideHostname?"/"===a?"":a:o),e.path)))}))))))}}class By extends n.PureComponent{render(){const{place:e,parameters:t}=this.props;return t&&t.length?n.createElement("div",{key:e},n.createElement(Iu,null,e," Parameters"),n.createElement(Zu,null,n.createElement("tbody",null,Gr(t,((e,t)=>n.createElement(Hm,{key:e.name,isLast:t,field:e,showExamples:!0})))))):null}}Object.defineProperty,Object.getOwnPropertyDescriptor;let qy=class extends n.Component{constructor(){super(...arguments),this.switchMedia=({idx:e})=>{this.props.content&&void 0!==e&&this.props.content.activate(e)}}render(){const{content:e}=this.props;if(!e||!e.mediaTypes||!e.mediaTypes.length)return null;const t=e.activeMimeIdx,r=e.mediaTypes.map(((e,t)=>({value:e.name,idx:t}))),o=({children:e})=>this.props.withLabel?n.createElement(dh,null,n.createElement(ph,null,"Content type"),e):e;return n.createElement(n.Fragment,null,n.createElement(o,null,this.props.renderDropdown({value:r[t].value,options:r,onChange:this.switchMedia,ariaLabel:"Content type"})),this.props.children(e.active))}};qy=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],qy);var Wy=Object.defineProperty,Hy=Object.getOwnPropertySymbols,Yy=Object.prototype.hasOwnProperty,Ky=Object.prototype.propertyIsEnumerable,Gy=(e,t,n)=>t in e?Wy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const Qy=["path","query","cookie","header"];class Xy extends n.PureComponent{orderParams(e){const t={};return e.forEach((e=>{var n,r,o;o=e,(n=t)[r=e.in]||(n[r]=[]),n[r].push(o)})),t}render(){const{body:e,parameters:t=[]}=this.props;if(void 0===e&&void 0===t)return null;const r=this.orderParams(t),o=t.length>0?Qy:[],i=e&&e.content,a=e&&e.description;return n.createElement(n.Fragment,null,o.map((e=>n.createElement(By,{key:e,place:e,parameters:r[e]}))),i&&n.createElement(Zy,{content:i,description:a}))}}function Jy(e){return n.createElement(Iu,{key:"header"},"Request Body schema: ",n.createElement(Af,((e,t)=>{for(var n in t||(t={}))Yy.call(t,n)&&Gy(e,n,t[n]);if(Hy)for(var n of Hy(t))Ky.call(t,n)&&Gy(e,n,t[n]);return e})({},e)))}function Zy(e){const{content:t,description:r}=e,{isRequestType:o}=t;return n.createElement(qy,{content:t,renderDropdown:Jy},(({schema:e})=>n.createElement(n.Fragment,null,void 0!==r&&n.createElement(Ff,{source:r}),"object"===(null==e?void 0:e.type)&&n.createElement(Am,{constraints:(null==e?void 0:e.constraints)||[]}),n.createElement(Pg,{skipReadOnly:o,skipWriteOnly:!o,key:"schema",schema:e}))))}const ev=ga(n.memo((function({title:e,type:t,empty:r,code:o,opened:i,className:a,onClick:s}){return n.createElement("button",{className:a,onClick:!r&&s||void 0,"aria-expanded":i,disabled:r},!r&&n.createElement(Bu,{size:"1.5em",color:t,direction:i?"down":"right",float:"left"}),n.createElement(rv,null,o," "),n.createElement(Ff,{compact:!0,inline:!0,source:e}))})))` + display: block; + border: 0; + width: 100%; + text-align: left; + padding: 10px; + border-radius: 2px; + margin-bottom: 4px; + line-height: 1.5em; + cursor: pointer; + + color: ${e=>e.theme.colors.responses[e.type].color}; + background-color: ${e=>e.theme.colors.responses[e.type].backgroundColor}; + &:focus { + outline: auto ${e=>e.theme.colors.responses[e.type].color}; + } + ${e=>e.empty?'\ncursor: default;\n&::before {\n content: "—";\n font-weight: bold;\n width: 1.5em;\n text-align: center;\n display: inline-block;\n vertical-align: top;\n}\n&:focus {\n outline: 0;\n}\n':""}; +`,tv=ga.div` + padding: 10px; +`,nv=ga(Iu.withComponent("caption"))` + text-align: left; + margin-top: 1em; + caption-side: top; +`,rv=ga.strong` + vertical-align: top; +`;class ov extends n.PureComponent{render(){const{headers:e}=this.props;return void 0===e||0===e.length?null:n.createElement(Zu,null,n.createElement(nv,null," Response Headers "),n.createElement("tbody",null,Gr(e,((e,t)=>n.createElement(Hm,{isLast:t,key:e.name,field:e,showExamples:!0})))))}}var iv=Object.defineProperty,av=Object.getOwnPropertySymbols,sv=Object.prototype.hasOwnProperty,lv=Object.prototype.propertyIsEnumerable,cv=(e,t,n)=>t in e?iv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;class uv extends n.PureComponent{constructor(){super(...arguments),this.renderDropdown=e=>n.createElement(Iu,{key:"header"},"Response Schema: ",n.createElement(Af,((e,t)=>{for(var n in t||(t={}))sv.call(t,n)&&cv(e,n,t[n]);if(av)for(var n of av(t))lv.call(t,n)&&cv(e,n,t[n]);return e})({},e)))}render(){const{description:e,extensions:t,headers:r,content:o}=this.props.response;return n.createElement(n.Fragment,null,e&&n.createElement(Ff,{source:e}),n.createElement(Sm,{extensions:t}),n.createElement(ov,{headers:r}),n.createElement(qy,{content:o,renderDropdown:this.renderDropdown},(({schema:e})=>n.createElement(n.Fragment,null,"object"===(null==e?void 0:e.type)&&n.createElement(Am,{constraints:(null==e?void 0:e.constraints)||[]}),n.createElement(Pg,{skipWriteOnly:!0,key:"schema",schema:e})))))}}const pv=im((({response:e})=>{const{extensions:t,headers:r,type:o,summary:i,description:a,code:s,expanded:l,content:c}=e,u=n.useMemo((()=>void 0===c?[]:c.mediaTypes.filter((e=>void 0!==e.schema))),[c]),p=n.useMemo((()=>!(t&&0!==Object.keys(t).length||0!==r.length||0!==u.length||a)),[t,r,u,a]);return n.createElement("div",null,n.createElement(ev,{onClick:()=>e.toggle(),type:o,empty:p,title:i||"",code:s,opened:l}),l&&!p&&n.createElement(tv,null,n.createElement(uv,{response:e})))})),dv=ga.h3` + font-size: 1.3em; + padding: 0.2em 0; + margin: 3em 0 1.1em; + color: ${({theme:e})=>e.colors.text.primary}; + font-weight: normal; +`;class fv extends n.PureComponent{render(){const{responses:e,isCallback:t}=this.props;return e&&0!==e.length?n.createElement("div",null,n.createElement(dv,null,lo(t?"callbackResponses":"responses")),e.map((e=>n.createElement(pv,{key:e.code,response:e})))):null}}function hv(e){const{security:t,showSecuritySchemeType:r,expanded:o}=e,i=t.schemes.length>1;return 0===t.schemes.length?n.createElement(Fg,{expanded:o},"None"):n.createElement(Fg,{expanded:o},i&&"(",t.schemes.map((e=>n.createElement(Mg,{key:e.id},r&&`${Jg[e.type]||e.type}: `,n.createElement("i",null,e.displayName),o&&e.scopes.length?[" (",e.scopes.map((e=>n.createElement(Lg,{key:e},e))),") "]:null))),i&&") ")}const mv=({scopes:e})=>e.length?n.createElement("div",null,n.createElement("b",null,"Required scopes: "),e.map(((e,t)=>n.createElement(n.Fragment,{key:t},n.createElement("code",null,e)," ")))):null;function gv(e){const t=(0,n.useContext)(Nu),r=null==t?void 0:t.options.showSecuritySchemeType,[o,i]=(0,n.useState)(!1),{securities:a}=e;if(!(null==a?void 0:a.length)||(null==t?void 0:t.options.hideSecuritySection))return null;const s=null==t?void 0:t.spec.securitySchemes.schemes.filter((({id:e})=>a.find((t=>t.schemes.find((t=>t.id===e))))));return n.createElement(n.Fragment,null,n.createElement(Bg,{expanded:o},n.createElement(zg,{onClick:()=>i(!o)},n.createElement(Vg,null,"Authorizations:"),n.createElement(Bu,{size:"1.3em",direction:o?"down":"right"})),n.createElement(Ug,{expanded:o},a.map(((e,t)=>n.createElement(hv,{key:t,expanded:o,showSecuritySchemeType:r,security:e}))))),o&&(null==s?void 0:s.length)&&s.map(((e,t)=>n.createElement(Wg,{key:t},n.createElement("h5",null,n.createElement(yv,null)," ",Jg[e.type]||e.type,": ",e.id),n.createElement(Ff,{source:e.description||""}),n.createElement(Xg,{key:e.id,scheme:e,RequiredScopes:n.createElement(mv,{scopes:vv(e.id,a)})})))))}const yv=()=>n.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"11",height:"11"},n.createElement("path",{fill:"currentColor",d:"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z"}));function vv(e,t){const n=[];let r=t.length;for(;r--;){const o=t[r];let i=o.schemes.length;for(;i--;){const t=o.schemes[i];t.id===e&&Array.isArray(t.scopes)&&n.push(...t.scopes)}}return Array.from(new Set(n))}Object.defineProperty,Object.getOwnPropertyDescriptor;let bv=class extends n.Component{render(){const{operation:e}=this.props,{description:t,externalDocs:r}=e,o=!(!t&&!r);return n.createElement(Ty,null,o&&n.createElement(wv,null,void 0!==t&&n.createElement(Ff,{source:t}),r&&n.createElement(xm,{externalDocs:r})),n.createElement(Vy,{operation:this.props.operation,inverted:!0,compact:!0}),n.createElement(Sm,{extensions:e.extensions}),n.createElement(gv,{securities:e.security}),n.createElement(Xy,{parameters:e.parameters,body:e.requestBody}),n.createElement(fv,{responses:e.responses,isCallback:e.isCallback}))}};bv=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],bv);const wv=ga.div` + margin-bottom: ${({theme:e})=>3*e.spacing.unit}px; +`;Object.defineProperty,Object.getOwnPropertyDescriptor;let xv=class extends n.Component{constructor(){super(...arguments),this.toggle=()=>{this.props.callbackOperation.toggle()}}render(){const{name:e,expanded:t,httpVerb:r,deprecated:o}=this.props.callbackOperation;return n.createElement(n.Fragment,null,n.createElement(jy,{onClick:this.toggle,name:e,opened:t,httpVerb:r,deprecated:o}),t&&n.createElement(bv,{operation:this.props.callbackOperation}))}};xv=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],xv);class kv extends n.PureComponent{render(){const{callbacks:e}=this.props;return e&&0!==e.length?n.createElement("div",null,n.createElement(_v,null," Callbacks "),e.map((e=>e.operations.map(((t,r)=>n.createElement(xv,{key:`${e.name}_${r}`,callbackOperation:t})))))):null}}const _v=ga.h3` + font-size: 1.3em; + padding: 0.2em 0; + margin: 3em 0 1.1em; + color: ${({theme:e})=>e.colors.text.primary}; + font-weight: normal; +`;Object.defineProperty,Object.getOwnPropertyDescriptor;let Ov=class extends n.Component{constructor(e){super(e),this.switchItem=({idx:e})=>{this.props.items&&void 0!==e&&this.setState({activeItemIdx:e})},this.state={activeItemIdx:0}}render(){const{items:e}=this.props;if(!e||!e.length)return null;const t=({children:e})=>this.props.label?n.createElement(dh,null,n.createElement(ph,null,this.props.label),e):e;return n.createElement(n.Fragment,null,n.createElement(t,null,this.props.renderDropdown({value:this.props.options[this.state.activeItemIdx].value,options:this.props.options,onChange:this.switchItem,ariaLabel:this.props.label||"Callback"})),this.props.children(e[this.state.activeItemIdx]))}};Ov=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],Ov);var Sv=Object.defineProperty,Ev=Object.defineProperties,Pv=(Object.getOwnPropertyDescriptor,Object.getOwnPropertyDescriptors),Av=Object.getOwnPropertySymbols,$v=Object.prototype.hasOwnProperty,Cv=Object.prototype.propertyIsEnumerable,Rv=(e,t,n)=>t in e?Sv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;let jv=class extends n.Component{constructor(){super(...arguments),this.renderDropdown=e=>{return n.createElement(Af,(t=((e,t)=>{for(var n in t||(t={}))$v.call(t,n)&&Rv(e,n,t[n]);if(Av)for(var n of Av(t))Cv.call(t,n)&&Rv(e,n,t[n]);return e})({Label:uh,Dropdown:fh},e),Ev(t,Pv({variant:"dark"}))));var t}}render(){const e=this.props.content;return void 0===e?null:n.createElement(qy,{content:e,renderDropdown:this.renderDropdown,withLabel:!0},(e=>n.createElement(mh,{key:"samples",mediaType:e,renderDropdown:this.renderDropdown})))}};jv=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],jv);class Tv extends n.Component{render(){const e=this.props.callback.codeSamples.find((e=>xu(e)));return e?n.createElement(Iv,null,n.createElement(jv,{content:e.requestBodyContent})):null}}const Iv=ga.div` + margin-top: 15px; +`;var Nv=Object.defineProperty,Dv=Object.defineProperties,Lv=(Object.getOwnPropertyDescriptor,Object.getOwnPropertyDescriptors),Mv=Object.getOwnPropertySymbols,Fv=Object.prototype.hasOwnProperty,zv=Object.prototype.propertyIsEnumerable,Uv=(e,t,n)=>t in e?Nv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;let Vv=class extends n.Component{constructor(){super(...arguments),this.renderDropdown=e=>{return n.createElement(Af,(t=((e,t)=>{for(var n in t||(t={}))Fv.call(t,n)&&Uv(e,n,t[n]);if(Mv)for(var n of Mv(t))zv.call(t,n)&&Uv(e,n,t[n]);return e})({Label:uh,Dropdown:fh},e),Dv(t,Lv({variant:"dark"}))));var t}}render(){const{callbacks:e}=this.props;if(!e||0===e.length)return null;const t=e.map((e=>e.operations.map((e=>e)))).reduce(((e,t)=>e.concat(t)),[]);if(!t.some((e=>e.codeSamples.length>0)))return null;const r=t.map(((e,t)=>({value:`${e.httpVerb.toUpperCase()}: ${e.name}`,idx:t})));return n.createElement("div",null,n.createElement(Tu,null," Callback payload samples "),n.createElement(Bv,null,n.createElement(Ov,{items:t,renderDropdown:this.renderDropdown,label:"Callback",options:r},(e=>n.createElement(Tv,{key:"callbackPayloadSample",callback:e,renderDropdown:this.renderDropdown})))))}};Vv.contextType=Sa,Vv=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],Vv);const Bv=ga.div` + background: ${({theme:e})=>e.codeBlock.backgroundColor}; + padding: ${e=>4*e.theme.spacing.unit}px; +`;Object.defineProperty,Object.getOwnPropertyDescriptor;let qv=class extends n.Component{render(){const{operation:e}=this.props,t=e.codeSamples,r=t.length>0,o=1===t.length&&this.context.hideSingleRequestSampleTab;return r&&n.createElement("div",null,n.createElement(Tu,null," ",lo("requestSamples")," "),n.createElement(Dp,{defaultIndex:0},n.createElement(Ap,{hidden:o},t.map((e=>n.createElement(jp,{key:e.lang+"_"+(e.label||"")},void 0!==e.label?e.label:e.lang)))),t.map((e=>n.createElement(Np,{key:e.lang+"_"+(e.label||"")},xu(e)?n.createElement("div",null,n.createElement(jv,{content:e.requestBodyContent})):n.createElement(ah,{lang:e.lang,source:e.source}))))))||null}};qv.contextType=Sa,qv=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],qv);Object.defineProperty,Object.getOwnPropertyDescriptor;let Wv=class extends n.Component{render(){const{operation:e}=this.props,t=e.responses.filter((e=>e.content&&e.content.hasSample));return t.length>0&&n.createElement("div",null,n.createElement(Tu,null," ",lo("responseSamples")," "),n.createElement(Dp,{defaultIndex:0},n.createElement(Ap,null,t.map((e=>n.createElement(jp,{className:"tab-"+e.type,key:e.code},e.code)))),t.map((e=>n.createElement(Np,{key:e.code},n.createElement("div",null,n.createElement(jv,{content:e.content})))))))||null}};Wv=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],Wv);var Hv=Object.defineProperty,Yv=Object.defineProperties,Kv=Object.getOwnPropertyDescriptors,Gv=Object.getOwnPropertySymbols,Qv=Object.prototype.hasOwnProperty,Xv=Object.prototype.propertyIsEnumerable,Jv=(e,t,n)=>t in e?Hv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const Zv=ga.div` + margin-bottom: ${({theme:e})=>6*e.spacing.unit}px; +`,eb=im((({operation:e})=>{const{name:t,description:r,deprecated:o,externalDocs:i,isWebhook:a,httpVerb:s}=e,l=!(!r&&!i),{showWebhookVerb:c}=n.useContext(Sa);return n.createElement(Sa.Consumer,null,(u=>n.createElement(Au,((e,t)=>Yv(e,Kv(t)))(((e,t)=>{for(var n in t||(t={}))Qv.call(t,n)&&Jv(e,n,t[n]);if(Gv)for(var n of Gv(t))Xv.call(t,n)&&Jv(e,n,t[n]);return e})({},{[gf]:e.operationHash}),{id:e.operationHash}),n.createElement(Ou,null,n.createElement(ju,null,n.createElement(Uu,{to:e.id}),t," ",o&&n.createElement(qu,{type:"warning"}," Deprecated "),a&&n.createElement(qu,{type:"primary"}," ","Webhook ",c&&s&&"| "+s.toUpperCase())),u.pathInMiddlePanel&&!a&&n.createElement(Vy,{operation:e,inverted:!0}),l&&n.createElement(Zv,null,void 0!==r&&n.createElement(Ff,{source:r}),i&&n.createElement(xm,{externalDocs:i})),n.createElement(Sm,{extensions:e.extensions}),n.createElement(gv,{securities:e.security}),n.createElement(Xy,{parameters:e.parameters,body:e.requestBody}),n.createElement(fv,{responses:e.responses}),n.createElement(kv,{callbacks:e.callbacks})),n.createElement(Pu,null,!u.pathInMiddlePanel&&!a&&n.createElement(Vy,{operation:e}),n.createElement(qv,{operation:e}),n.createElement(Wv,{operation:e}),n.createElement(Vv,{callbacks:e.callbacks})))))}));var tb=Object.defineProperty,nb=Object.getOwnPropertyDescriptor,rb=Object.getOwnPropertySymbols,ob=Object.prototype.hasOwnProperty,ib=Object.prototype.propertyIsEnumerable,ab=(e,t,n)=>t in e?tb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,sb=(e,t,n,r)=>{for(var o,i=r>1?void 0:r?nb(t,n):t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&tb(t,n,i),i};let lb=class extends n.Component{render(){const e=this.props.items;return 0===e.length?null:e.map((e=>n.createElement(cb,{key:e.id,item:e})))}};lb=sb([im],lb);let cb=class extends n.Component{render(){const e=this.props.item;let t;const{type:r}=e;switch(r){case"group":t=null;break;case"tag":case"section":default:t=n.createElement(pb,((e,t)=>{for(var n in t||(t={}))ob.call(t,n)&&ab(e,n,t[n]);if(rb)for(var n of rb(t))ib.call(t,n)&&ab(e,n,t[n]);return e})({},this.props));break;case"operation":t=n.createElement(db,{item:e})}return n.createElement(n.Fragment,null,t&&n.createElement(Su,{id:e.id,underlined:"operation"===e.type},t),e.items&&n.createElement(lb,{items:e.items}))}};cb=sb([im],cb);const ub=e=>n.createElement(Ou,{compact:!0},e);let pb=class extends n.Component{render(){const{name:e,description:t,externalDocs:r,level:o}=this.props.item,i=2===o?ju:Ru;return n.createElement(n.Fragment,null,n.createElement(Au,null,n.createElement(Ou,{compact:!1},n.createElement(i,null,n.createElement(Uu,{to:this.props.item.id}),e))),n.createElement(vy,{parentId:this.props.item.id,source:t||"",htmlWrap:ub}),r&&n.createElement(Au,null,n.createElement(Ou,null,n.createElement(xm,{externalDocs:r}))))}};pb=sb([im],pb);let db=class extends n.Component{render(){return n.createElement(eb,{operation:this.props.item})}};db=sb([im],db);var fb=Object.defineProperty,hb=Object.defineProperties,mb=(Object.getOwnPropertyDescriptor,Object.getOwnPropertyDescriptors),gb=Object.getOwnPropertySymbols,yb=Object.prototype.hasOwnProperty,vb=Object.prototype.propertyIsEnumerable,bb=(e,t,n)=>t in e?fb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;let wb=class extends n.Component{constructor(){super(...arguments),this.ref=n.createRef(),this.activate=e=>{this.props.onActivate(this.props.item),e.stopPropagation()}}componentDidMount(){this.scrollIntoViewIfActive()}componentDidUpdate(){this.scrollIntoViewIfActive()}scrollIntoViewIfActive(){this.props.item.active&&this.ref.current&&Hr(this.ref.current)}render(){const{item:e,withoutChildren:t}=this.props;return n.createElement(Oy,{onClick:this.activate,depth:e.depth,"data-item-id":e.id},"operation"===e.type?n.createElement(xb,((e,t)=>hb(e,mb(t)))(((e,t)=>{for(var n in t||(t={}))yb.call(t,n)&&bb(e,n,t[n]);if(gb)for(var n of gb(t))vb.call(t,n)&&bb(e,n,t[n]);return e})({},this.props),{item:e})):n.createElement(Ey,{depth:e.depth,active:e.active,type:e.type,ref:this.ref},n.createElement(Py,{title:e.sidebarLabel},e.sidebarLabel,this.props.children),e.depth>0&&e.items.length>0&&n.createElement(Bu,{float:"right",direction:e.expanded?"down":"right"})||null),!t&&e.items&&e.items.length>0&&n.createElement(Pb,{expanded:e.expanded,items:e.items,onActivate:this.props.onActivate}))}};wb=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],wb);const xb=im((e=>{const{item:t}=e,r=n.createRef(),{showWebhookVerb:o}=n.useContext(Sa);return n.useEffect((()=>{e.item.active&&r.current&&Hr(r.current)}),[e.item.active,r]),n.createElement(Ey,{depth:t.depth,active:t.active,deprecated:t.deprecated,ref:r},t.isWebhook?n.createElement(xy,{type:"hook"},o?t.httpVerb:lo("webhook")):n.createElement(xy,{type:t.httpVerb},ms(t.httpVerb)),n.createElement(Py,{width:"calc(100% - 38px)"},t.sidebarLabel,e.children))}));var kb=Object.defineProperty,_b=(Object.getOwnPropertyDescriptor,Object.getOwnPropertySymbols),Ob=Object.prototype.hasOwnProperty,Sb=Object.prototype.propertyIsEnumerable,Eb=(e,t,n)=>t in e?kb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;let Pb=class extends n.Component{render(){const{items:e,root:t,className:r}=this.props,o=null==this.props.expanded||this.props.expanded;return n.createElement(_y,((e,t)=>{for(var n in t||(t={}))Ob.call(t,n)&&Eb(e,n,t[n]);if(_b)for(var n of _b(t))Sb.call(t,n)&&Eb(e,n,t[n]);return e})({className:r,style:this.props.style,expanded:o},t?{role:"menu"}:{}),e.map(((e,t)=>n.createElement(wb,{key:t,item:e,onActivate:this.props.onActivate}))))}};function Ab(){const[e,t]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{t(!0)}),[]),e?n.createElement("img",{alt:"redocly logo",onError:()=>t(!1),src:"https://cdn.redoc.ly/redoc/logo-mini.svg"}):null}Pb=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],Pb);Object.defineProperty,Object.getOwnPropertyDescriptor;let $b=class extends n.Component{constructor(){super(...arguments),this.activate=e=>{if(e&&e.active&&this.context.menuToggle)return e.expanded?e.collapse():e.expand();this.props.menu.activateAndScroll(e,!0),setTimeout((()=>{this._updateScroll&&this._updateScroll()}))},this.saveScrollUpdate=e=>{this._updateScroll=e}}render(){const e=this.props.menu;return n.createElement(Pd,{updateFn:this.saveScrollUpdate,className:this.props.className,options:{wheelPropagation:!1}},n.createElement(Pb,{items:e.items,onActivate:this.activate,root:!0}),n.createElement(Ay,null,n.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:"https://redocly.com/redoc/"},n.createElement(Ab,null),"API docs by Redocly")))}};$b.contextType=Sa,$b=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],$b);const Cb=({open:e})=>{const t=e?8:-4;return n.createElement(jb,null,n.createElement(Rb,{size:15,style:{transform:`translate(2px, ${t}px) rotate(180deg)`,transition:"transform 0.2s ease"}}),n.createElement(Rb,{size:15,style:{transform:`translate(2px, ${0-t}px)`,transition:"transform 0.2s ease"}}))},Rb=({size:e=10,className:t="",style:r})=>n.createElement("svg",{className:t,style:r||{},viewBox:"0 0 926.23699 573.74994",version:"1.1",x:"0px",y:"0px",width:e,height:e},n.createElement("g",{transform:"translate(904.92214,-879.1482)"},n.createElement("path",{d:"\n m -673.67664,1221.6502 -231.2455,-231.24803 55.6165,\n -55.627 c 30.5891,-30.59485 56.1806,-55.627 56.8701,-55.627 0.6894,\n 0 79.8637,78.60862 175.9427,174.68583 l 174.6892,174.6858 174.6892,\n -174.6858 c 96.079,-96.07721 175.253196,-174.68583 175.942696,\n -174.68583 0.6895,0 26.281,25.03215 56.8701,\n 55.627 l 55.6165,55.627 -231.245496,231.24803 c -127.185,127.1864\n -231.5279,231.248 -231.873,231.248 -0.3451,0 -104.688,\n -104.0616 -231.873,-231.248 z\n ",fill:"currentColor"}))),jb=ga.div` + user-select: none; + width: 20px; + height: 20px; + align-self: center; + display: flex; + flex-direction: column; + color: ${e=>e.theme.colors.primary.main}; +`;Object.defineProperty,Object.getOwnPropertyDescriptor;let Tb;qr&&(Tb=r(5114));const Ib=Tb&&Tb(),Nb=ga.div` + width: ${e=>e.theme.sidebar.width}; + background-color: ${e=>e.theme.sidebar.backgroundColor}; + overflow: hidden; + display: flex; + flex-direction: column; + + backface-visibility: hidden; + /* contain: strict; TODO: breaks layout since Chrome 80*/ + + height: 100vh; + position: sticky; + position: -webkit-sticky; + top: 0; + + ${ma("small")` + position: fixed; + z-index: 20; + width: 100%; + background: ${({theme:e})=>e.sidebar.backgroundColor}; + display: ${e=>e.open?"flex":"none"}; + `}; + + @media print { + display: none; + } +`,Db=ga.div` + outline: none; + user-select: none; + background-color: ${({theme:e})=>e.fab.backgroundColor}; + color: ${e=>e.theme.colors.primary.main}; + display: none; + cursor: pointer; + position: fixed; + right: 20px; + z-index: 100; + border-radius: 50%; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.3); + ${ma("small")` + display: flex; + `}; + + bottom: 44px; + + width: 60px; + height: 60px; + padding: 0 20px; + svg { + color: ${({theme:e})=>e.fab.color}; + } + + @media print { + display: none; + } +`;let Lb=class extends n.Component{constructor(){super(...arguments),this.state={offsetTop:"0px"},this.toggleNavMenu=()=>{this.props.menu.toggleSidebar()}}componentDidMount(){Ib&&Ib.add(this.stickyElement),this.setState({offsetTop:this.getScrollYOffset(this.context)})}componentWillUnmount(){Ib&&Ib.remove(this.stickyElement)}getScrollYOffset(e){let t;return t=void 0!==this.props.scrollYOffset?xo.normalizeScrollYOffset(this.props.scrollYOffset)():e.scrollYOffset(),t+"px"}render(){const e=this.props.menu.sideBarOpened,t=this.state.offsetTop;return n.createElement(n.Fragment,null,n.createElement(Nb,{open:e,className:this.props.className,style:{top:t,height:`calc(100vh - ${t})`},ref:e=>{this.stickyElement=e}},this.props.children),!this.context.hideFab&&n.createElement(Db,{onClick:this.toggleNavMenu},n.createElement(Cb,{open:e})))}};Lb.contextType=Sa,Lb=((e,t,n,r)=>{for(var o,i=t,a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(i)||i);return i})([im],Lb);const Mb=ga.div` + ${({theme:e})=>`\n font-family: ${e.typography.fontFamily};\n font-size: ${e.typography.fontSize};\n font-weight: ${e.typography.fontWeightRegular};\n line-height: ${e.typography.lineHeight};\n color: ${e.colors.text.primary};\n display: flex;\n position: relative;\n text-align: left;\n\n -webkit-font-smoothing: ${e.typography.smoothing};\n font-smoothing: ${e.typography.smoothing};\n ${e.typography.optimizeSpeed?"text-rendering: optimizeSpeed !important":""};\n\n tap-highlight-color: rgba(0, 0, 0, 0);\n text-size-adjust: 100%;\n\n * {\n box-sizing: border-box;\n -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n }\n`}; +`,Fb=ga.div` + z-index: 1; + position: relative; + overflow: hidden; + width: calc(100% - ${e=>e.theme.sidebar.width}); + ${ma("small",!0)` + width: 100%; + `}; + + contain: layout; +`,zb=ga.div` + background: ${({theme:e})=>e.rightPanel.backgroundColor}; + position: absolute; + top: 0; + bottom: 0; + right: 0; + width: ${({theme:e})=>{if(e.rightPanel.width.endsWith("%")){const t=parseInt(e.rightPanel.width,10);return`calc((100% - ${e.sidebar.width}) * ${t/100})`}return e.rightPanel.width}}; + ${ma("medium",!0)` + display: none; + `}; +`,Ub=ga.div` + padding: 5px 0; +`,Vb=ga.input.attrs((()=>({className:"search-input"})))` + width: calc(100% - ${e=>8*e.theme.spacing.unit}px); + box-sizing: border-box; + margin: 0 ${e=>4*e.theme.spacing.unit}px; + padding: 5px ${e=>2*e.theme.spacing.unit}px 5px + ${e=>4*e.theme.spacing.unit}px; + border: 0; + border-bottom: 1px solid + ${({theme:e})=>(Ir(e.sidebar.backgroundColor)>.5?Rr:Dr)(.1,e.sidebar.backgroundColor)}; + font-family: ${({theme:e})=>e.typography.fontFamily}; + font-weight: bold; + font-size: 13px; + color: ${e=>e.theme.sidebar.textColor}; + background-color: transparent; + outline: none; +`,Bb=ga((e=>n.createElement("svg",{className:e.className,version:"1.1",viewBox:"0 0 1000 1000",x:"0px",xmlns:"http://www.w3.org/2000/svg",y:"0px"},n.createElement("path",{d:"M968.2,849.4L667.3,549c83.9-136.5,66.7-317.4-51.7-435.6C477.1-25,252.5-25,113.9,113.4c-138.5,138.3-138.5,362.6,0,501C219.2,730.1,413.2,743,547.6,666.5l301.9,301.4c43.6,43.6,76.9,14.9,104.2-12.4C981,928.3,1011.8,893,968.2,849.4z M524.5,522c-88.9,88.7-233,88.7-321.8,0c-88.9-88.7-88.9-232.6,0-321.3c88.9-88.7,233-88.7,321.8,0C613.4,289.4,613.4,433.3,524.5,522z"})))).attrs({className:"search-icon"})` + position: absolute; + left: ${e=>4*e.theme.spacing.unit}px; + height: 1.8em; + width: 0.9em; + + path { + fill: ${e=>e.theme.sidebar.textColor}; + } +`,qb=ga.div` + padding: ${e=>e.theme.spacing.unit}px 0; + background-color: ${({theme:e})=>Rr(.05,e.sidebar.backgroundColor)}}; + color: ${e=>e.theme.sidebar.textColor}; + min-height: 150px; + max-height: 250px; + border-top: ${({theme:e})=>Rr(.1,e.sidebar.backgroundColor)}}; + border-bottom: ${({theme:e})=>Rr(.1,e.sidebar.backgroundColor)}}; + margin-top: 10px; + line-height: 1.4; + font-size: 0.9em; + + li { + background-color: inherit; + } + + ${Ey} { + padding-top: 6px; + padding-bottom: 6px; + + &:hover, + &.active { + background-color: ${({theme:e})=>Rr(.1,e.sidebar.backgroundColor)}; + } + + > svg { + display: none; + } + } +`,Wb=ga.i` + position: absolute; + display: inline-block; + width: ${e=>2*e.theme.spacing.unit}px; + text-align: center; + right: ${e=>4*e.theme.spacing.unit}px; + line-height: 2em; + vertical-align: middle; + margin-right: 2px; + cursor: pointer; + font-style: normal; + color: '#666'; +`;var Hb=Object.defineProperty,Yb=Object.getOwnPropertyDescriptor;class Kb extends n.PureComponent{constructor(e){super(e),this.activeItemRef=null,this.clear=()=>{this.setState({results:[],noResults:!1,term:"",activeItemIdx:-1}),this.props.marker.unmark()},this.handleKeyDown=e=>{if(27===e.keyCode&&this.clear(),40===e.keyCode&&(this.setState({activeItemIdx:Math.min(this.state.activeItemIdx+1,this.state.results.length-1)}),e.preventDefault()),38===e.keyCode&&(this.setState({activeItemIdx:Math.max(0,this.state.activeItemIdx-1)}),e.preventDefault()),13===e.keyCode){const e=this.state.results[this.state.activeItemIdx];if(e){const t=this.props.getItemById(e.meta);t&&this.props.onActivate(t)}}},this.search=e=>{const{minCharacterLengthToInitSearch:t}=this.context,n=e.target.value;n.lengththis.searchCallback(this.state.term)))},this.state={results:[],noResults:!1,term:"",activeItemIdx:-1}}clearResults(e){this.setState({results:[],noResults:!1,term:e}),this.props.marker.unmark()}setResults(e,t){this.setState({results:e,noResults:0===e.length}),this.props.marker.mark(t)}searchCallback(e){this.props.search.search(e).then((t=>{this.setResults(t,e)}))}render(){const{activeItemIdx:e}=this.state,t=this.state.results.filter((e=>this.props.getItemById(e.meta))).map((e=>({item:this.props.getItemById(e.meta),score:e.score}))).sort(((e,t)=>t.score-e.score));return n.createElement(Ub,{role:"search"},this.state.term&&n.createElement(Wb,{onClick:this.clear},"×"),n.createElement(Bb,null),n.createElement(Vb,{value:this.state.term,onKeyDown:this.handleKeyDown,placeholder:"Search...","aria-label":"Search",type:"text",onChange:this.search}),t.length>0&&n.createElement(Pd,{options:{wheelPropagation:!1}},n.createElement(qb,{"data-role":"search:results"},t.map(((t,r)=>n.createElement(wb,{item:Object.create(t.item,{active:{value:r===e}}),onActivate:this.props.onActivate,withoutChildren:!0,key:t.item.id,"data-role":"search:result"}))))),this.state.term&&this.state.noResults?n.createElement(qb,{"data-role":"search:results"},lo("noResultsFound")):null)}}Kb.contextType=Sa,((e,t,n,r)=>{for(var o,i=Yb(t,n),a=e.length-1;a>=0;a--)(o=e[a])&&(i=o(t,n,i)||i);i&&Hb(t,n,i)})([Ra.bind,(0,Ra.debounce)(400)],Kb.prototype,"searchCallback");class Gb extends n.Component{componentDidMount(){this.props.store.onDidMount()}componentWillUnmount(){this.props.store.dispose()}render(){const{store:{spec:e,menu:t,options:r,search:o,marker:i}}=this.props,a=this.props.store;return n.createElement(ha,{theme:r.theme},n.createElement(Du,{value:a},n.createElement(Ea,{value:r},n.createElement(Mb,{className:"redoc-wrap"},n.createElement(Lb,{menu:t,className:"menu-content"},n.createElement(py,{info:e.info}),!r.disableSearch&&n.createElement(Kb,{search:o,marker:i,getItemById:t.getItemById,onActivate:t.activateAndScroll})||null,n.createElement($b,{menu:t})),n.createElement(Fb,{className:"api-content"},n.createElement(sy,{store:a}),n.createElement(lb,{items:t.items})),n.createElement(zb,null)))))}}Gb.propTypes={store:Oa.instanceOf(ey).isRequired};const Qb=function(e){const{spec:t,specUrl:o,options:i={},onLoaded:a}=e,s=bo(i.hideLoading,!1),l=new xo(i);if(void 0!==l.nonce)try{r.nc=l.nonce}catch(e){}return n.createElement(ba,null,n.createElement(Mu,{spec:t,specUrl:o,options:i,onLoaded:a},(({loading:e,store:t})=>e?s?null:n.createElement(_a,{color:l.theme.colors.primary.main}):n.createElement(Gb,{store:t}))))};var Xb=Object.defineProperty,Jb=Object.getOwnPropertySymbols,Zb=Object.prototype.hasOwnProperty,ew=Object.prototype.propertyIsEnumerable,tw=(e,t,n)=>t in e?Xb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,nw=(e,t)=>{for(var n in t||(t={}))Zb.call(t,n)&&tw(e,n,t[n]);if(Jb)for(var n of Jb(t))ew.call(t,n)&&tw(e,n,t[n]);return e};Nt({useProxies:"ifavailable"});const rw="2.0.0-rc.77",ow="580f883";function iw(e){const t=function(e){const t={},n=e.attributes;for(let e=0;et.toUpperCase())),o=t[e];n[r]="theme"===e?JSON.parse(o):o}return n}function aw(e,t={},r=Wr("redoc"),o){if(null===r)throw new Error('"element" argument is not provided and tag is not found on the page');let a,s;"string"==typeof e?a=e:"object"==typeof e&&(s=e),(0,i.render)(n.createElement(Qb,{spec:s,onLoaded:o,specUrl:a,options:nw(nw({},t),iw(r))},["Loading..."]),r)}function sw(e=Wr("redoc")){e&&(0,i.unmountComponentAtNode)(e)}function lw(e,t=Wr("redoc"),r){const o=ey.fromJS(e);setTimeout((()=>{(0,i.hydrate)(n.createElement(Gb,{store:o}),t,r)}),0)}!function(){const e=Wr("redoc");if(!e)return;const t=e.getAttribute("spec-url");t&&aw(t,{},e)}()}(),o}()})); +//# sourceMappingURL=redoc.standalone.js.map -

    ceod - OpenAPI 3.0 (1.0.0)

    Download OpenAPI specification:Download

    This is an OpenAPI specification of ceod, the CSC Electronic Office daemon. + " fill="currentColor">

    ceod - OpenAPI 3.0 (1.0.0)

    Download OpenAPI specification:Download

    This is an OpenAPI specification of ceod, the CSC Electronic Office daemon. Visit the git repository for more details.

    -

    Streaming Responses

    Many endpoints return a "streaming response", which consists of a series of JSON +

    Streaming Responses

    Many endpoints return a "streaming response", which consists of a series of JSON objects, one per line (the mimetype is text/plain). For example:

    {"status": "in progress", "operation": "replace_login_shell"}
     {"status": "in progress", "operation": "replace_forwarding_addresses"}
    -{"status": "completed", "result": "OK"}

    Whenever an operation is completed, a corresponding JSON object will be streamed +{"status": "completed", "result": "OK"} + +

    Whenever an operation is completed, a corresponding JSON object will be streamed from the server to the client. This allows the client to track the server's progress in real time.

    -

    Authentication

    GSSAPIAuth

    ceod uses SPNEGO-based authentication over HTTP, as specified in RFC 4559. -It is basically a base64-encoded Kerberos ticket wrapped in a HTTP header. For endpoints which make modifications -to LDAP, the Delegate flag must also be set.

    -

    For example, with cURL:

    -
    kinit
    -curl --negotiate -u : --service-name ceod --delegation always -X POST -d '{"terms":["w2022"]}' https://phosphoric-acid.csclub.uwaterloo.ca/api/members/ctdalek/renew
    -
    Security Scheme Type HTTP
    HTTP Authorization Scheme negotiate

    members

    Operations on members and club reps

    -

    Create a new user

    Creates a new member or club rep. If terms is specified, a member is created; if non_member_terms is specified, a club rep is created.

    -
    Authorizations:
    Request Body schema: application/json
    uid
    string (UID)

    Username

    -
    cn
    string (UserCN)

    Full name

    -
    sn
    string (UserSN)

    Last name

    -
    given_name
    string (UserGivenName)

    First name

    -
    program
    string (Program)

    Academic program

    -
    terms
    Array of strings (Terms)

    Terms for which this user was a member

    -
    non_member_terms
    Array of strings (NonMemberTerms)

    Terms for which this user was a club rep

    -
    forwarding_addresses
    Array of strings <email> (ForwardingAddresses)

    Forwarding addresses in ~/.forward

    -

    Responses

    Request samples

    Content type
    application/json
    {
    • "uid": "ctdalek",
    • "cn": "Calum Dalek",
    • "sn": "Dalek",
    • "given_name": "Calum",
    • "program": "MAT/Mathematics Computer Science",
    • "terms": [
      ],
    • "non_member_terms": [
      ],
    • "forwarding_addresses": [
      ]
    }

    Response samples

    Content type
    text/plain
    {"status": "in progress", "operation": "add_user_to_ldap"}
    +

    members

    Operations on members and club reps

    +

    Create a new user

    Creates a new member or club rep. If terms is specified, a member is created; if non_member_terms is specified, a club rep is created.

    +
    Authorizations:
    GSSAPIAuth
    Request Body schema: application/json
    uid
    string (UID)

    Username

    +
    cn
    string (UserCN)

    Full name

    +
    sn
    string (UserSN)

    Last name

    +
    given_name
    string (UserGivenName)

    First name

    +
    program
    string (Program)

    Academic program

    +
    terms
    Array of strings (Terms)

    Terms for which this user was a member

    +
    non_member_terms
    Array of strings (NonMemberTerms)

    Terms for which this user was a club rep

    +
    forwarding_addresses
    Array of strings <email> (ForwardingAddresses)

    Forwarding addresses in ~/.forward

    +

    Responses

    Request samples

    Content type
    application/json
    {
    • "uid": "ctdalek",
    • "cn": "Calum Dalek",
    • "sn": "Dalek",
    • "given_name": "Calum",
    • "program": "MAT/Mathematics Computer Science",
    • "terms": [
      ],
    • "non_member_terms": [
      ],
    • "forwarding_addresses": [
      ]
    }

    Response samples

    Content type
    text/plain
    {"status": "in progress", "operation": "add_user_to_ldap"}
     {"status": "in progress", "operation": "add_group_to_ldap"}
     {"status": "in progress", "operation": "add_user_to_kerberos"}
     {"status": "in progress", "operation": "create_home_dir"}
    @@ -483,148 +2271,148 @@ curl --negotiate {"status": "in progress", "operation": "subscribe_to_mailing_list"}
     {"status": "in progress", "operation": "announce_new_user"}
     {"status": "completed", "result": {"cn": "Calum Dalek", "given_name": "Calum", "sn": "Dalek", "uid": "ctdalek", "uid_number": 20001, "gid_number": 20001, "login_shell": "/bin/bash", "home_directory": "/users/ctdalek", "is_club": false, "program": "MAT/Mathematics Computer Science", "terms": ["f2021"], "forwarding_addresses": ["ctdalek@uwaterloo.ca"], "password": "Wlw1wOTofERTEBlXWzR6/MZL"}}
    -

    Get information about a user

    Returns information about a member or club rep. The forwarding_addresses field will only be present if the client is an authenticated syscom member.

    -
    Authorizations:
    path Parameters
    username
    required
    string

    username of the user to return

    -

    Responses

    Response samples

    Content type
    application/json
    {
    • "cn": "Calum Dalek",
    • "sn": "Dalek",
    • "given_name": "Calum",
    • "uid": "ctdalek",
    • "uid_number": 20001,
    • "gid_number": 20001,
    • "home_directory": "/users/ctdalek",
    • "is_club": false,
    • "login_shell": "/bin/bash",
    • "program": "MAT/Mathematics Computer Science",
    • "positions": [
      ],
    • "terms": [
      ],
    • "non_member_terms": [
      ],
    • "forwarding_addresses": [
      ]
    }

    Modify a user

    Replace the login shell and/or forwarding addresses of a user

    -
    Authorizations:
    path Parameters
    username
    required
    string

    username of the user to modify

    -
    Request Body schema: application/json
    login_shell
    string (LoginShell)

    Login shell

    -
    forwarding_addresses
    Array of strings <email> (ForwardingAddresses)

    Forwarding addresses in ~/.forward

    -

    Responses

    Request samples

    Content type
    application/json
    {
    • "login_shell": "/bin/bash",
    • "forwarding_addresses": [
      ]
    }

    Response samples

    Content type
    text/plain
    {"status": "in progress", "operation": "replace_login_shell"}
    +

    Get information about a user

    Returns information about a member or club rep. The forwarding_addresses field will only be present if the client is an authenticated syscom member.

    +
    Authorizations:
    GSSAPIAuth
    path Parameters
    username
    required
    string

    username of the user to return

    +

    Responses

    Response samples

    Content type
    application/json
    {
    • "cn": "Calum Dalek",
    • "sn": "Dalek",
    • "given_name": "Calum",
    • "uid": "ctdalek",
    • "uid_number": 20001,
    • "gid_number": 20001,
    • "home_directory": "/users/ctdalek",
    • "is_club": false,
    • "login_shell": "/bin/bash",
    • "program": "MAT/Mathematics Computer Science",
    • "positions": [
      ],
    • "terms": [
      ],
    • "non_member_terms": [
      ],
    • "forwarding_addresses": [
      ],
    • "groups": [
      ]
    }

    Modify a user

    Replace the login shell and/or forwarding addresses of a user

    +
    Authorizations:
    GSSAPIAuth
    path Parameters
    username
    required
    string

    username of the user to modify

    +
    Request Body schema: application/json
    login_shell
    string (LoginShell)

    Login shell

    +
    forwarding_addresses
    Array of strings <email> (ForwardingAddresses)

    Forwarding addresses in ~/.forward

    +

    Responses

    Request samples

    Content type
    application/json
    {
    • "login_shell": "/bin/bash",
    • "forwarding_addresses": [
      ]
    }

    Response samples

    Content type
    text/plain
    {"status": "in progress", "operation": "replace_login_shell"}
     {"status": "in progress", "operation": "replace_forwarding_addresses"}
     {"status": "completed", "result": "OK"}
    -

    Renew a user

    Add member or non-member terms to a user

    -
    Authorizations:
    path Parameters
    username
    required
    string

    username of the user to renew

    -
    Request Body schema: application/json
    One of
    terms
    Array of strings (Term)

    Terms for which this user will be a member

    -

    Responses

    Request samples

    Content type
    application/json
    {
    • "terms": [
      ]
    }

    Response samples

    Content type
    application/json
    {
    • "terms_added": [
      ]
    }

    Reset a user's password

    Sets a user's password to a randomly generated string, and returns it. The user will be prompted to set a new password on their next login.

    -
    Authorizations:
    path Parameters
    username
    required
    string

    username of the user whose password will be reset

    -

    Responses

    Response samples

    Content type
    application/json
    {
    • "password": "EPGbJwLl1pmiWz8Wvu/MSs+v"
    }

    groups

    Operations on groups and clubs

    -

    Create a new group

    Creates a new Unix group for a club. A new Unix user account with the same name will also be created. A sudo role will be created allowing members of the group to become this user.

    -
    Authorizations:
    Request Body schema: application/json
    cn
    string (GroupCN)

    the name of the group

    -
    description
    string (GroupDescription)

    a description of the group

    -

    Responses

    Request samples

    Content type
    application/json
    {
    • "cn": "uwclub1",
    • "description": "Club One"
    }

    Response samples

    Content type
    text/plain
    {"status": "in progress", "operation": "add_user_to_ldap"}
    +

    Renew a user

    Add member or non-member terms to a user

    +
    Authorizations:
    GSSAPIAuth
    path Parameters
    username
    required
    string

    username of the user to renew

    +
    Request Body schema: application/json
    One of
    terms
    Array of strings (Term)

    Terms for which this user will be a member

    +

    Responses

    Request samples

    Content type
    application/json
    {
    • "terms": [
      ]
    }

    Response samples

    Content type
    application/json
    {
    • "terms_added": [
      ]
    }

    Reset a user's password

    Sets a user's password to a randomly generated string, and returns it. The user will be prompted to set a new password on their next login.

    +
    Authorizations:
    GSSAPIAuth
    path Parameters
    username
    required
    string

    username of the user whose password will be reset

    +

    Responses

    Response samples

    Content type
    application/json
    {
    • "password": "EPGbJwLl1pmiWz8Wvu/MSs+v"
    }

    groups

    Operations on groups and clubs

    +

    Create a new group

    Creates a new Unix group for a club. A new Unix user account with the same name will also be created. A sudo role will be created allowing members of the group to become this user.

    +
    Authorizations:
    GSSAPIAuth
    Request Body schema: application/json
    cn
    string (GroupCN)

    the name of the group

    +
    description
    string (GroupDescription)

    a description of the group

    +

    Responses

    Request samples

    Content type
    application/json
    {
    • "cn": "uwclub1",
    • "description": "Club One"
    }

    Response samples

    Content type
    text/plain
    {"status": "in progress", "operation": "add_user_to_ldap"}
     {"status": "in progress", "operation": "add_group_to_ldap"}
     {"status": "in progress", "operation": "add_sudo_role"}
     {"status": "in progress", "operation": "create_home_dir"}
     {"status": "completed", "result": {"cn": "uwclub1", "gid_number": 30001, "description": "Club One", "members": []}}
    -

    Get information about a group

    Returns information about a group

    -
    path Parameters
    group_name
    required
    string

    name of the group to return

    -

    Responses

    Response samples

    Content type
    application/json
    {
    • "cn": "uwclub1",
    • "description": "Club One",
    • "gid_number": 20001,
    • "members": [
      ]
    }

    Add a member to a group

    Adds a member to a group. The member will also be added to any auxiliary groups specified in ceod.conf. The member may also be added to auxiliary mailing lists.

    -
    Authorizations:
    path Parameters
    group_name
    required
    string

    name of the group to which the member will be added

    -
    username
    required
    string

    username of the member who will be added to the group

    -
    query Parameters
    subscribe_to_lists
    boolean
    Default: true

    whether the member should be subscribed to auxiliary mailing lists

    -

    Responses

    Response samples

    Content type
    text/plain
    {"status": "in progress", "operation": "add_user_to_group"}
    +

    Get information about a group

    Returns information about a group

    +
    path Parameters
    group_name
    required
    string

    name of the group to return

    +

    Responses

    Response samples

    Content type
    application/json
    {
    • "cn": "uwclub1",
    • "description": "Club One",
    • "gid_number": 20001,
    • "members": [
      ]
    }

    Add a member to a group

    Adds a member to a group. The member will also be added to any auxiliary groups specified in ceod.conf. The member may also be added to auxiliary mailing lists.

    +
    Authorizations:
    GSSAPIAuth
    path Parameters
    group_name
    required
    string

    name of the group to which the member will be added

    +
    username
    required
    string

    username of the member who will be added to the group

    +
    query Parameters
    subscribe_to_lists
    boolean
    Default: true

    whether the member should be subscribed to auxiliary mailing lists

    +

    Responses

    Response samples

    Content type
    text/plain
    {"status": "in progress", "operation": "add_user_to_group"}
     {"status": "in progress", "operation": "add_user_to_auxiliary_groups"}
     {"status": "in progress", "operation": "subscribe_user_to_auxiliary_mailing_lists"}
     {"status": "completed", "result": {"added_to_groups": ["group2","group3"], "subscribed_to_lists": ["list1","list2"]}}
    -

    Remove a member from a group

    Removes a member from a group. The member will also be removed from any auxiliary groups specified in ceod.conf. The member may also be removed from auxiliary mailing lists.

    -
    Authorizations:
    path Parameters
    group_name
    required
    string

    name of the group from which the member will be removed

    -
    username
    required
    string

    username of the member who will be removed from the group

    -
    query Parameters
    unsubscribe_from_lists
    boolean
    Default: true

    whether the member should be unsubscribed from auxiliary mailing lists

    -

    Responses

    Response samples

    Content type
    text/plain
    {"status": "in progress", "operation": "remove_user_from_group"}
    +

    Remove a member from a group

    Removes a member from a group. The member will also be removed from any auxiliary groups specified in ceod.conf. The member may also be removed from auxiliary mailing lists.

    +
    Authorizations:
    GSSAPIAuth
    path Parameters
    group_name
    required
    string

    name of the group from which the member will be removed

    +
    username
    required
    string

    username of the member who will be removed from the group

    +
    query Parameters
    unsubscribe_from_lists
    boolean
    Default: true

    whether the member should be unsubscribed from auxiliary mailing lists

    +

    Responses

    Response samples

    Content type
    text/plain
    {"status": "in progress", "operation": "remove_user_from_group"}
     {"status": "in progress", "operation": "remove_user_from_auxiliary_groups"}
     {"status": "in progress", "operation": "unsubscribe_user_from_auxiliary_mailing_lists"}
     {"status": "completed", "result": {"removed_from_groups": ["group2","group3"], "unsubscribed_from_lists": ["list1","list2"]}}
    -

    mailman

    Operations on mailing list subscriptions

    -

    subscribe a user to a mailing list

    Subscribes a user to a mailing list.

    -
    Authorizations:
    path Parameters
    mailing_list
    required
    string

    The name of the list to which the user will be subscribed. If there is no '@' symbol, then '@csclub.uwaterloo.ca' will be appended to the list name.

    -
    username
    required
    string

    The user who will be subscribed to the list. If there is no '@' symbol, then '@csclub.uwaterloo.ca' will be appended to he username; otherwise, the given email address will be subscribed.

    -

    Responses

    Response samples

    Content type
    application/json
    {
    • "result": "OK"
    }

    unsubscribe a user from a mailing list

    Unsubscribes a user from a mailing list.

    -
    Authorizations:
    path Parameters
    mailing_list
    required
    string

    The name of the list from which the user will be unsubscribed. If there is no '@' symbol, then '@csclub.uwaterloo.ca' will be appended to the list name.

    -
    username
    required
    string

    The user who will be unsubscribed from the list. If there is no '@' symbol, then '@csclub.uwaterloo.ca' will be appended to he username; otherwise, the given email address will be unsubscribed.

    -

    Responses

    Response samples

    Content type
    application/json
    {
    • "result": "OK"
    }

    uwldap

    Operations related to the UW LDAP directory

    -

    get UWLDAP information for a user

    Returns information about a user from the UW LDAP directory.

    -
    path Parameters
    username
    required
    string

    username of the user to return

    -

    Responses

    Response samples

    Content type
    application/json
    {
    • "uid": "ctdalek",
    • "cn": "Calum Dalek",
    • "given_name": "Calum",
    • "sn": "Dalek",
    • "mail_local_addresses": [
      ]
    }

    update CSC programs from UWLDAP

    Sync the 'program' attribute in the CSC LDAP with the UW LDAP. +

    mailman

    Operations on mailing list subscriptions

    +

    subscribe a user to a mailing list

    Subscribes a user to a mailing list.

    +
    Authorizations:
    GSSAPIAuth
    path Parameters
    mailing_list
    required
    string

    The name of the list to which the user will be subscribed. If there is no '@' symbol, then '@csclub.uwaterloo.ca' will be appended to the list name.

    +
    username
    required
    string

    The user who will be subscribed to the list. If there is no '@' symbol, then '@csclub.uwaterloo.ca' will be appended to he username; otherwise, the given email address will be subscribed.

    +

    Responses

    Response samples

    Content type
    application/json
    {
    • "result": "OK"
    }

    unsubscribe a user from a mailing list

    Unsubscribes a user from a mailing list.

    +
    Authorizations:
    GSSAPIAuth
    path Parameters
    mailing_list
    required
    string

    The name of the list from which the user will be unsubscribed. If there is no '@' symbol, then '@csclub.uwaterloo.ca' will be appended to the list name.

    +
    username
    required
    string

    The user who will be unsubscribed from the list. If there is no '@' symbol, then '@csclub.uwaterloo.ca' will be appended to he username; otherwise, the given email address will be unsubscribed.

    +

    Responses

    Response samples

    Content type
    application/json
    {
    • "result": "OK"
    }

    uwldap

    Operations related to the UW LDAP directory

    +

    get UWLDAP information for a user

    Returns information about a user from the UW LDAP directory.

    +
    path Parameters
    username
    required
    string

    username of the user to return

    +

    Responses

    Response samples

    Content type
    application/json
    {
    • "uid": "ctdalek",
    • "cn": "Calum Dalek",
    • "given_name": "Calum",
    • "sn": "Dalek",
    • "mail_local_addresses": [
      ]
    }

    update CSC programs from UWLDAP

    Sync the 'program' attribute in the CSC LDAP with the UW LDAP. The JSON request body may be omitted.

    -
    Authorizations:
    query Parameters
    dry_run
    boolean
    Default: false

    Whether to perform a dry run or not. If true, a list of members who would have been changed is returned.

    -
    Request Body schema: application/json
    members
    Array of strings (UID)
    Default: []

    If non-empty, only these members will be synced with UWLDAP

    -

    Responses

    Request samples

    Content type
    application/json
    {
    • "members": [ ]
    }

    Response samples

    Content type
    application/json
    [
    • [
      ]
    ]

    database

    Operations related to databases

    -

    Create a MySQL database

    Create a MySQL database for the user

    -
    Authorizations:
    path Parameters
    username
    required
    string

    name of the user to create MySQL database for

    -

    Responses

    Response samples

    Content type
    application/json
    {
    • "password": "7fUi5rQr/lcpeEj4M86ZBbwM"
    }

    Reset MySQL database password

    Reset the password for a user's MySQL database

    -
    Authorizations:
    path Parameters
    username
    required
    string

    name of the user to reset the MySQL database password for

    -

    Responses

    Response samples

    Content type
    application/json
    {
    • "password": "kM90d3G/eofIUxr9O3CQHTlP"
    }

    Create a PostgreSQL database

    Create a PostgreSQL database for the user

    -
    Authorizations:
    path Parameters
    username
    required
    string

    name of the user to create PostgreSQL database for

    -

    Responses

    Response samples

    Content type
    application/json
    {
    • "password": "iHxd62DC7Qt1HyYRj18P6ujS"
    }

    Reset PostgreSQL database password

    Reset the password for a user's PostgreSQL database

    -
    Authorizations:
    path Parameters
    username
    required
    string

    name of the user to reset the PostgreSQL database password for

    -

    Responses

    Response samples

    Content type
    application/json
    {
    • "password": "CdPHT49iYAWzzKuhKTt2dNeu"
    }

    cloud

    Operations related to the CSC Cloud

    -

    Activate a cloud account

    Activate a cloud account for the calling user

    -
    Authorizations:

    Responses

    Response samples

    Content type
    application/json
    {
    • "status": "OK"
    }

    Purge expired accounts

    Delete the cloud accounts of expired members.

    +
    Authorizations:
    GSSAPIAuth
    query Parameters
    dry_run
    boolean
    Default: false

    Whether to perform a dry run or not. If true, a list of members who would have been changed is returned.

    +
    Request Body schema: application/json
    members
    Array of strings (UID)
    Default: []

    If non-empty, only these members will be synced with UWLDAP

    +

    Responses

    Request samples

    Content type
    application/json
    {
    • "members": [ ]
    }

    Response samples

    Content type
    application/json
    [
    • [
      ]
    ]

    database

    Operations related to databases

    +

    Create a MySQL database

    Create a MySQL database for the user

    +
    Authorizations:
    GSSAPIAuth
    path Parameters
    username
    required
    string

    name of the user to create MySQL database for

    +

    Responses

    Response samples

    Content type
    application/json
    {
    • "password": "7fUi5rQr/lcpeEj4M86ZBbwM"
    }

    Reset MySQL database password

    Reset the password for a user's MySQL database

    +
    Authorizations:
    GSSAPIAuth
    path Parameters
    username
    required
    string

    name of the user to reset the MySQL database password for

    +

    Responses

    Response samples

    Content type
    application/json
    {
    • "password": "kM90d3G/eofIUxr9O3CQHTlP"
    }

    Create a PostgreSQL database

    Create a PostgreSQL database for the user

    +
    Authorizations:
    GSSAPIAuth
    path Parameters
    username
    required
    string

    name of the user to create PostgreSQL database for

    +

    Responses

    Response samples

    Content type
    application/json
    {
    • "password": "iHxd62DC7Qt1HyYRj18P6ujS"
    }

    Reset PostgreSQL database password

    Reset the password for a user's PostgreSQL database

    +
    Authorizations:
    GSSAPIAuth
    path Parameters
    username
    required
    string

    name of the user to reset the PostgreSQL database password for

    +

    Responses

    Response samples

    Content type
    application/json
    {
    • "password": "CdPHT49iYAWzzKuhKTt2dNeu"
    }

    cloud

    Operations related to the CSC Cloud

    +

    Activate a cloud account

    Activate a cloud account for the calling user

    +
    Authorizations:
    GSSAPIAuth

    Responses

    Response samples

    Content type
    application/json
    {
    • "status": "OK"
    }

    Purge expired accounts

    Delete the cloud accounts of expired members.

    There is a one-month grace period after the expiration. After one month, expired members will be sent an email warning them that their account will be deleted. One week after that, if an expired member has still not renewed their membership, their account will be deleted.

    -
    Authorizations:

    Responses

    Response samples

    Content type
    application/json
    {
    • "accounts_to_be_deleted": [
      ],
    • "accounts_deleted": [
      ]
    }

    Create a vhost

    Add a new virtual host configuration.

    -
    Authorizations:
    path Parameters
    domain
    required
    string

    domain name of the virtual host

    -
    Request Body schema: application/json
    ip_address
    string

    IP address of the virtual host

    -

    Responses

    Request samples

    Content type
    application/json
    {
    • "ip_address": "172.19.134.11"
    }

    Response samples

    Content type
    application/json
    {
    • "status": "OK"
    }

    Delete a vhost

    Delete a virtual host configuration.

    -
    Authorizations:
    path Parameters
    domain
    required
    string

    domain name of the virtual host

    -

    Responses

    Response samples

    Content type
    application/json
    {
    • "status": "OK"
    }

    List all vhosts

    List all virtual host configurations for the calling user.

    -
    Authorizations:

    Responses

    Response samples

    Content type
    application/json
    {
    • "vhosts": [
      ]
    }

    Activate a Kubernetes account

    Create a Kubernetes namespace for the calling user. A new kubeconfig file will be returned. +

    Authorizations:
    GSSAPIAuth

    Responses

    Response samples

    Content type
    application/json
    {
    • "accounts_to_be_deleted": [
      ],
    • "accounts_deleted": [
      ]
    }

    Create a vhost

    Add a new virtual host configuration.

    +
    Authorizations:
    GSSAPIAuth
    path Parameters
    domain
    required
    string

    domain name of the virtual host

    +
    Request Body schema: application/json
    ip_address
    string

    IP address of the virtual host

    +

    Responses

    Request samples

    Content type
    application/json
    {
    • "ip_address": "172.19.134.11"
    }

    Response samples

    Content type
    application/json
    {
    • "status": "OK"
    }

    Delete a vhost

    Delete a virtual host configuration.

    +
    Authorizations:
    GSSAPIAuth
    path Parameters
    domain
    required
    string

    domain name of the virtual host

    +

    Responses

    Response samples

    Content type
    application/json
    {
    • "status": "OK"
    }

    List all vhosts

    List all virtual host configurations for the calling user.

    +
    Authorizations:
    GSSAPIAuth

    Responses

    Response samples

    Content type
    application/json
    {
    • "vhosts": [
      ]
    }

    Activate a Kubernetes account

    Create a Kubernetes namespace for the calling user. A new kubeconfig file will be returned. If the namespace already exists, the certificate inside the kubeconfig will be renewed.

    -
    Authorizations:

    Responses

    Response samples

    Content type
    application/json
    {
    • "status": "OK",
    • "kubeconfig": "string"
    }

    positions

    Show current positions

    Shows the list of positions and members holding them.

    -
    Authorizations:

    Responses

    Response samples

    Content type
    application/json
    {
    • "president": "user0",
    • "vice-president": "user1",
    • "sysadmin": "user2",
    • "treasurer": null
    }

    Update positions

    Update members for each positions. Members not specified in the parameters will be removed from the position and unsubscribed from the exec's mailing list. New position holders will be subscribed to the mailing list.

    -
    Authorizations:
    Request Body schema: application/json

    New position holders

    -
    property name*
    string

    Responses

    Request samples

    Content type
    application/json
    {
    • "president": "user0",
    • "vice-president": "user1",
    • "sysadmin": "user2",
    • "treasurer": null
    }

    Response samples

    Content type
    text/plain
    {"status": "in progress", "operation": "update_positions_ldap"}
    +
    Authorizations:
    GSSAPIAuth

    Responses

    Response samples

    Content type
    application/json
    {
    • "status": "OK",
    • "kubeconfig": "string"
    }

    positions

    Show current positions

    Shows the list of positions and members holding them.

    +
    Authorizations:
    GSSAPIAuth

    Responses

    Response samples

    Content type
    application/json
    {
    • "president": "user0",
    • "vice-president": "user1",
    • "sysadmin": "user2",
    • "treasurer": null
    }

    Update positions

    Update members for each positions. Members not specified in the parameters will be removed from the position and unsubscribed from the exec's mailing list. New position holders will be subscribed to the mailing list.

    +
    Authorizations:
    GSSAPIAuth
    Request Body schema: application/json

    New position holders

    +
    property name*
    additional property
    string

    Responses

    Request samples

    Content type
    application/json
    {
    • "president": "user0",
    • "vice-president": "user1",
    • "sysadmin": "user2",
    • "treasurer": null
    }

    Response samples

    Content type
    text/plain
    {"status": "in progress", "operation": "update_positions_ldap"}
     {"status": "in progress", "operation": "update_exec_group_ldap"}
     {"status": "in progress", "operation": "subscribe_to_mailing_list"}
     {"status": "completed", "result": "OK"}
    -
    +