From 042c168bd468c6a7e06c2b99ea8a6ded93281eb1 Mon Sep 17 00:00:00 2001 From: christianrowlands Date: Fri, 26 Jan 2024 17:45:16 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20christia?= =?UTF-8?q?nrowlands/network-survey-messaging@53fd92201fa6d34625b698fa6d73?= =?UTF-8?q?0c4ffb0c2f5f=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- css/asyncapi.min.css | 2 +- index.html | 3523 +++++++++++++++++++++++------------------ js/asyncapi-ui.min.js | 10 +- 3 files changed, 1980 insertions(+), 1555 deletions(-) diff --git a/css/asyncapi.min.css b/css/asyncapi.min.css index 97f8d3d..b28defe 100644 --- a/css/asyncapi.min.css +++ b/css/asyncapi.min.css @@ -2,4 +2,4 @@ /*! tailwindcss v2.2.19 | MIT License | https://tailwindcss.com*/ -/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */.aui-root html{-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.15;-webkit-text-size-adjust:100%}.aui-root body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.aui-root hr{height:0;color:inherit}.aui-root abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.aui-root b,.aui-root strong{font-weight:bolder}.aui-root code,.aui-root kbd,.aui-root pre,.aui-root samp{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}.aui-root small{font-size:80%}.aui-root sub,.aui-root sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.aui-root sub{bottom:-.25em}.aui-root sup{top:-.5em}.aui-root table{text-indent:0;border-color:inherit}.aui-root button,.aui-root input,.aui-root optgroup,.aui-root select,.aui-root textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}.aui-root button,.aui-root select{text-transform:none}.aui-root [type=button],.aui-root button{-webkit-appearance:button}.aui-root legend{padding:0}.aui-root progress{vertical-align:baseline}.aui-root summary{display:list-item}.aui-root blockquote,.aui-root dd,.aui-root dl,.aui-root figure,.aui-root h1,.aui-root h2,.aui-root h3,.aui-root h4,.aui-root h5,.aui-root h6,.aui-root hr,.aui-root p,.aui-root pre{margin:0}.aui-root button{background-color:transparent;background-image:none}.aui-root fieldset{margin:0;padding:0}.aui-root ol,.aui-root ul{list-style:none;margin:0;padding:0}.aui-root html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.aui-root body{font-family:inherit;line-height:inherit}.aui-root *,.aui-root :after,.aui-root :before{box-sizing:border-box;border:0 solid}.aui-root hr{border-top-width:1px}.aui-root img{border-style:solid}.aui-root textarea{resize:vertical}.aui-root input::-moz-placeholder, .aui-root textarea::-moz-placeholder{opacity:1;color:#cbd5e0}.aui-root input:-ms-input-placeholder, .aui-root textarea:-ms-input-placeholder{opacity:1;color:#cbd5e0}.aui-root input::placeholder,.aui-root textarea::placeholder{opacity:1;color:#cbd5e0}.aui-root button{cursor:pointer}.aui-root table{border-collapse:collapse}.aui-root h1,.aui-root h2,.aui-root h3,.aui-root h4,.aui-root h5,.aui-root h6{font-size:inherit;font-weight:inherit}.aui-root a{color:inherit;text-decoration:inherit}.aui-root button,.aui-root input,.aui-root optgroup,.aui-root select,.aui-root textarea{padding:0;line-height:inherit;color:inherit}.aui-root code,.aui-root kbd,.aui-root pre,.aui-root samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.aui-root audio,.aui-root canvas,.aui-root embed,.aui-root iframe,.aui-root img,.aui-root object,.aui-root svg,.aui-root video{display:block;vertical-align:middle}.aui-root img,.aui-root video{max-width:100%;height:auto}.aui-root [hidden]{display:none}.aui-root *,.aui-root :after,.aui-root :before{--tw-border-opacity:1;border-color:rgba(203,213,224,var(--tw-border-opacity))}.aui-root .container{width:100%}@media (min-width:640px){.aui-root .container{max-width:640px}}@media (min-width:768px){.aui-root .container{max-width:768px}}@media (min-width:1024px){.aui-root .container{max-width:1024px}}@media (min-width:1280px){.aui-root .container{max-width:1280px}}@media (min-width:1536px){.aui-root .container{max-width:1536px}}.aui-root .prose{color:#4a5568;max-width:65ch}.aui-root .prose [class~=lead]{color:#718096;font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.aui-root .prose a{color:#1a202c;text-decoration:underline;font-weight:500}.aui-root .prose strong{color:#1a202c;font-weight:600}.aui-root .prose ol[type=a]{--list-counter-style:lower-alpha}.aui-root .prose ol[type=i]{--list-counter-style:lower-roman}.aui-root .prose ol[type="1"]{--list-counter-style:decimal}.aui-root .prose ol>li{position:relative;padding-left:1.75em}.aui-root .prose ol>li:before{content:counter(list-item,var(--list-counter-style,decimal)) ".";position:absolute;font-weight:400;color:#a0aec0;left:0}.aui-root .prose ul>li{position:relative;padding-left:1.75em}.aui-root .prose ul>li:before{content:"";position:absolute;background-color:#e2e8f0;border-radius:50%;width:.375em;height:.375em;top:.6875em;left:.25em}.aui-root .prose hr{border-color:#edf2f7;border-top-width:1px;margin-top:3em;margin-bottom:3em}.aui-root .prose blockquote{font-weight:500;font-style:italic;color:#1a202c;border-left-width:.25rem;border-left-color:#edf2f7;quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.aui-root .prose blockquote p:first-of-type:before{content:open-quote}.aui-root .prose blockquote p:last-of-type:after{content:close-quote}.aui-root .prose h1{color:#1a202c;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.aui-root .prose h2{color:#1a202c;font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.aui-root .prose h3{color:#1a202c;font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.aui-root .prose h4{color:#1a202c;font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.aui-root .prose figure figcaption{color:#a0aec0;font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.aui-root .prose code{color:#1a202c;font-weight:600;font-size:.875em}.aui-root .prose code:after,.aui-root .prose code:before{content:"`"}.aui-root .prose a code{color:#1a202c}.aui-root .prose pre{color:#edf2f7;background-color:#1a202c;overflow-x:auto;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.aui-root .prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.aui-root .prose pre code:after,.aui-root .prose pre code:before{content:none}.aui-root .prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.aui-root .prose thead{color:#1a202c;font-weight:600;border-bottom-width:1px;border-bottom-color:#e2e8f0}.aui-root .prose thead th{vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.aui-root .prose tbody tr{border-bottom-width:1px;border-bottom-color:#edf2f7}.aui-root .prose tbody tr:last-child{border-bottom-width:0}.aui-root .prose tbody td{vertical-align:top;padding:.5714286em}.aui-root .prose{font-size:1rem;line-height:1.75}.aui-root .prose p{margin-top:1.25em;margin-bottom:1.25em}.aui-root .prose figure,.aui-root .prose img,.aui-root .prose video{margin-top:2em;margin-bottom:2em}.aui-root .prose figure>*{margin-top:0;margin-bottom:0}.aui-root .prose h2 code{font-size:.875em}.aui-root .prose h3 code{font-size:.9em}.aui-root .prose ol,.aui-root .prose ul{margin-top:1.25em;margin-bottom:1.25em}.aui-root .prose li{margin-top:.5em;margin-bottom:.5em}.aui-root .prose>ul>li p{margin-top:.75em;margin-bottom:.75em}.aui-root .prose>ul>li>:first-child{margin-top:1.25em}.aui-root .prose>ul>li>:last-child{margin-bottom:1.25em}.aui-root .prose>ol>li>:first-child{margin-top:1.25em}.aui-root .prose>ol>li>:last-child{margin-bottom:1.25em}.aui-root .prose ol ol,.aui-root .prose ol ul,.aui-root .prose ul ol,.aui-root .prose ul ul{margin-top:.75em;margin-bottom:.75em}.aui-root .prose h2+*,.aui-root .prose h3+*,.aui-root .prose h4+*,.aui-root .prose hr+*{margin-top:0}.aui-root .prose thead th:first-child{padding-left:0}.aui-root .prose thead th:last-child{padding-right:0}.aui-root .prose tbody td:first-child{padding-left:0}.aui-root .prose tbody td:last-child{padding-right:0}.aui-root .prose>:first-child{margin-top:0}.aui-root .prose>:last-child{margin-bottom:0}@media (min-width:1024px){.aui-root .container\:base .burger-menu{display:none}}@media (min-width:1024px){.aui-root .container\:base .sidebar{position:relative;display:block;height:auto;width:16rem}}@media (min-width:1024px){.aui-root .container\:base .sidebar--content{width:14rem}}.aui-root .container\:xl .sidebar--content{position:absolute;left:50%;transform:translate(-50%)}@media (min-width:1536px){.aui-root .container\:base .panel-item{display:flex}}.aui-root .container\:xl .panel-item{display:block}@media (min-width:1536px){.aui-root .container\:base .panel--center .panel-item--center{width:58.333333%}}@media (min-width:1536px){.aui-root .container\:base .panel--center .panel-item--right{width:41.666667%}}.aui-root .container\:xl .panel--center .panel-item--center,.aui-root .container\:xl .panel--center .panel-item--right{width:100%}@media (min-width:1536px){.aui-root .container\:base .examples{margin-top:0}}.aui-root .container\:base .panel--right{display:none}@media (min-width:1536px){.aui-root .container\:base .panel--right{display:block;width:41.666667%}}.aui-root .container\:xl .panel--right{display:none}.aui-root .prose pre{white-space:pre-wrap}.aui-root .fixed{position:fixed}.aui-root .absolute{position:absolute}.aui-root .relative{position:relative}.aui-root .top-0{top:0}.aui-root .right-0{right:0}.aui-root .right-8{right:2rem}.aui-root .bottom-16{bottom:4rem}.aui-root .z-10{z-index:10}.aui-root .z-20{z-index:20}.aui-root .z-30{z-index:30}.aui-root .mx-2{margin-left:.5rem;margin-right:.5rem}.aui-root .-mx-8{margin-left:-2rem;margin-right:-2rem}.aui-root .my-2{margin-top:.5rem;margin-bottom:.5rem}.aui-root .mt-1{margin-top:.25rem}.aui-root .mt-2{margin-top:.5rem}.aui-root .mt-4{margin-top:1rem}.aui-root .mt-9{margin-top:2.25rem}.aui-root .mt-10{margin-top:2.5rem}.aui-root .mt-16{margin-top:4rem}.aui-root .mr-1{margin-right:.25rem}.aui-root .mr-2{margin-right:.5rem}.aui-root .mb-2{margin-bottom:.5rem}.aui-root .mb-3{margin-bottom:.75rem}.aui-root .mb-4{margin-bottom:1rem}.aui-root .mb-12{margin-bottom:3rem}.aui-root .-mb-1{margin-bottom:-.25rem}.aui-root .ml-0{margin-left:0}.aui-root .ml-1{margin-left:.25rem}.aui-root .ml-2{margin-left:.5rem}.aui-root .ml-0\.5{margin-left:.125rem}.aui-root .block{display:block}.aui-root .inline-block{display:inline-block}.aui-root .flex{display:flex}.aui-root .table{display:table}.aui-root .hidden{display:none}.aui-root .h-5{height:1.25rem}.aui-root .h-6{height:1.5rem}.aui-root .h-8{height:2rem}.aui-root .h-11{height:2.75rem}.aui-root .h-16{height:4rem}.aui-root .h-full{height:100%}.aui-root .max-h-screen{max-height:100vh}.aui-root .w-1{width:.25rem}.aui-root .w-5{width:1.25rem}.aui-root .w-16{width:4rem}.aui-root .w-20{width:5rem}.aui-root .w-64{width:16rem}.aui-root .w-full{width:100%}.aui-root .min-w-1\/4{min-width:25%}.aui-root .max-w-none{max-width:none}.aui-root .flex-1{flex:1 1 0%}.aui-root .transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.aui-root .-rotate-180{--tw-rotate:-180deg}.aui-root .-rotate-90{--tw-rotate:-90deg}@-webkit-keyframes spin{to{transform:rotate(1turn)}}@keyframes spin{to{transform:rotate(1turn)}}@-webkit-keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}.aui-root .cursor-pointer{cursor:pointer}.aui-root .flex-wrap{flex-wrap:wrap}.aui-root .items-center{align-items:center}.aui-root .justify-center{justify-content:center}.aui-root .space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem*var(--tw-space-x-reverse));margin-left:calc(0.5rem*(1 - var(--tw-space-x-reverse)))}.aui-root .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem*var(--tw-space-y-reverse))}.aui-root .overflow-auto{overflow:auto}.aui-root .overflow-y-auto{overflow-y:auto}.aui-root .whitespace-pre-wrap{white-space:pre-wrap}.aui-root .break-words{overflow-wrap:break-word}.aui-root .break-all{word-break:break-all}.aui-root .rounded{border-radius:.25rem}.aui-root .rounded-full{border-radius:9999px}.aui-root .rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.aui-root .border{border-width:1px}.aui-root .border-l-8{border-left-width:8px}.aui-root .border-solid{border-style:solid}.aui-root .border-gray-400{--tw-border-opacity:1;border-color:rgba(203,213,224,var(--tw-border-opacity))}.aui-root .border-red-500{--tw-border-opacity:1;border-color:rgba(245,101,101,var(--tw-border-opacity))}.aui-root .border-red-600{--tw-border-opacity:1;border-color:rgba(229,62,62,var(--tw-border-opacity))}.aui-root .border-orange-300{--tw-border-opacity:1;border-color:rgba(251,211,141,var(--tw-border-opacity))}.aui-root .border-orange-600{--tw-border-opacity:1;border-color:rgba(221,107,32,var(--tw-border-opacity))}.aui-root .border-green-600{--tw-border-opacity:1;border-color:rgba(56,161,105,var(--tw-border-opacity))}.aui-root .border-blue-300{--tw-border-opacity:1;border-color:rgba(144,205,244,var(--tw-border-opacity))}.aui-root .border-blue-600{--tw-border-opacity:1;border-color:rgba(49,130,206,var(--tw-border-opacity))}.aui-root .border-purple-300{--tw-border-opacity:1;border-color:rgba(214,188,250,var(--tw-border-opacity))}.aui-root .bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.aui-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgba(247,250,252,var(--tw-bg-opacity))}.aui-root .bg-gray-200{--tw-bg-opacity:1;background-color:rgba(237,242,247,var(--tw-bg-opacity))}.aui-root .bg-gray-800{--tw-bg-opacity:1;background-color:rgba(45,55,72,var(--tw-bg-opacity))}.aui-root .bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(214,158,46,var(--tw-bg-opacity))}.aui-root .bg-green-600{--tw-bg-opacity:1;background-color:rgba(56,161,105,var(--tw-bg-opacity))}.aui-root .bg-teal-500{--tw-bg-opacity:1;background-color:rgba(56,178,172,var(--tw-bg-opacity))}.aui-root .bg-blue-400{--tw-bg-opacity:1;background-color:rgba(99,179,237,var(--tw-bg-opacity))}.aui-root .bg-blue-500{--tw-bg-opacity:1;background-color:rgba(66,153,225,var(--tw-bg-opacity))}.aui-root .bg-blue-600{--tw-bg-opacity:1;background-color:rgba(49,130,206,var(--tw-bg-opacity))}.aui-root .bg-indigo-400{--tw-bg-opacity:1;background-color:rgba(127,156,245,var(--tw-bg-opacity))}.aui-root .bg-purple-600{--tw-bg-opacity:1;background-color:rgba(128,90,213,var(--tw-bg-opacity))}.aui-root .hover\:bg-orange-300:hover{--tw-bg-opacity:1;background-color:rgba(251,211,141,var(--tw-bg-opacity))}.aui-root .hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgba(144,205,244,var(--tw-bg-opacity))}.aui-root .hover\:bg-purple-300:hover{--tw-bg-opacity:1;background-color:rgba(214,188,250,var(--tw-bg-opacity))}.aui-root .fill-current{fill:currentColor}.aui-root .p-1{padding:.25rem}.aui-root .p-2{padding:.5rem}.aui-root .p-4{padding:1rem}.aui-root .p-8{padding:2rem}.aui-root .px-1{padding-left:.25rem;padding-right:.25rem}.aui-root .px-2{padding-left:.5rem;padding-right:.5rem}.aui-root .px-3{padding-left:.75rem;padding-right:.75rem}.aui-root .px-4{padding-left:1rem;padding-right:1rem}.aui-root .px-8{padding-left:2rem;padding-right:2rem}.aui-root .py-0{padding-top:0;padding-bottom:0}.aui-root .py-1{padding-top:.25rem;padding-bottom:.25rem}.aui-root .py-2{padding-top:.5rem;padding-bottom:.5rem}.aui-root .py-4{padding-top:1rem;padding-bottom:1rem}.aui-root .py-8{padding-top:2rem;padding-bottom:2rem}.aui-root .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.aui-root .pt-8{padding-top:2rem}.aui-root .pb-16{padding-bottom:4rem}.aui-root .text-left{text-align:left}.aui-root .text-center{text-align:center}.aui-root .align-baseline{vertical-align:baseline}.aui-root .font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.aui-root .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.aui-root .text-xs{font-size:.75rem}.aui-root .text-sm{font-size:.875rem}.aui-root .text-base{font-size:1rem}.aui-root .text-lg{font-size:1.125rem}.aui-root .text-2xl{font-size:1.5rem}.aui-root .text-3xl{font-size:1.875rem}.aui-root .text-4xl{font-size:2.25rem}.aui-root .font-thin{font-weight:100}.aui-root .font-extralight{font-weight:200}.aui-root .font-light{font-weight:300}.aui-root .font-bold{font-weight:700}.aui-root .uppercase{text-transform:uppercase}.aui-root .lowercase{text-transform:lowercase}.aui-root .capitalize{text-transform:capitalize}.aui-root .italic{font-style:italic}.aui-root .leading-normal{line-height:1.5}.aui-root .text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.aui-root .text-gray-200{--tw-text-opacity:1;color:rgba(237,242,247,var(--tw-text-opacity))}.aui-root .text-gray-500{--tw-text-opacity:1;color:rgba(160,174,192,var(--tw-text-opacity))}.aui-root .text-gray-600{--tw-text-opacity:1;color:rgba(113,128,150,var(--tw-text-opacity))}.aui-root .text-gray-700{--tw-text-opacity:1;color:rgba(74,85,104,var(--tw-text-opacity))}.aui-root .text-gray-800{--tw-text-opacity:1;color:rgba(45,55,72,var(--tw-text-opacity))}.aui-root .text-red-600{--tw-text-opacity:1;color:rgba(229,62,62,var(--tw-text-opacity))}.aui-root .text-orange-500{--tw-text-opacity:1;color:rgba(237,137,54,var(--tw-text-opacity))}.aui-root .text-orange-600{--tw-text-opacity:1;color:rgba(221,107,32,var(--tw-text-opacity))}.aui-root .text-green-600{--tw-text-opacity:1;color:rgba(56,161,105,var(--tw-text-opacity))}.aui-root .text-teal-500{--tw-text-opacity:1;color:rgba(56,178,172,var(--tw-text-opacity))}.aui-root .text-blue-500{--tw-text-opacity:1;color:rgba(66,153,225,var(--tw-text-opacity))}.aui-root .text-purple-500{--tw-text-opacity:1;color:rgba(159,122,234,var(--tw-text-opacity))}.aui-root .hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgba(26,32,44,var(--tw-text-opacity))}.aui-root .hover\:text-orange-600:hover{--tw-text-opacity:1;color:rgba(221,107,32,var(--tw-text-opacity))}.aui-root .hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgba(49,130,206,var(--tw-text-opacity))}.aui-root .hover\:text-purple-600:hover{--tw-text-opacity:1;color:rgba(128,90,213,var(--tw-text-opacity))}.aui-root .underline{text-decoration:underline}.aui-root .no-underline{text-decoration:none}.aui-root *,.aui-root :after,.aui-root :before{--tw-shadow:0 0 transparent}.aui-root .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06)}.aui-root .shadow,.aui-root .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.aui-root .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06)}.aui-root .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.aui-root *,.aui-root :after,.aui-root :before{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(66,153,225,0.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent}.aui-root .filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.aui-root .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.aui-root .duration-150{transition-duration:.15s}.aui-root .ease-linear{transition-timing-function:linear}.aui-root .break-anywhere{overflow-wrap:anywhere}@media (min-width:768px){.aui-root .md\:flex{display:flex}}@media (min-width:1536px){.aui-root .\32xl\:mx-0{margin-left:0;margin-right:0}.aui-root .\32xl\:w-7\/12{width:58.333333%}.aui-root .\32xl\:rounded{border-radius:.25rem}.aui-root .\32xl\:px-4{padding-left:1rem;padding-right:1rem}} \ No newline at end of file +/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */.aui-root html{-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.15;-webkit-text-size-adjust:100%}.aui-root body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.aui-root hr{height:0;color:inherit}.aui-root abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.aui-root b,.aui-root strong{font-weight:bolder}.aui-root code,.aui-root kbd,.aui-root pre,.aui-root samp{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}.aui-root small{font-size:80%}.aui-root sub,.aui-root sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.aui-root sub{bottom:-.25em}.aui-root sup{top:-.5em}.aui-root table{text-indent:0;border-color:inherit}.aui-root button,.aui-root input,.aui-root optgroup,.aui-root select,.aui-root textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}.aui-root button,.aui-root select{text-transform:none}.aui-root [type=button],.aui-root button{-webkit-appearance:button}.aui-root legend{padding:0}.aui-root progress{vertical-align:baseline}.aui-root summary{display:list-item}.aui-root blockquote,.aui-root dd,.aui-root dl,.aui-root figure,.aui-root h1,.aui-root h2,.aui-root h3,.aui-root h4,.aui-root h5,.aui-root h6,.aui-root hr,.aui-root p,.aui-root pre{margin:0}.aui-root button{background-color:transparent;background-image:none}.aui-root fieldset{margin:0;padding:0}.aui-root ol,.aui-root ul{list-style:none;margin:0;padding:0}.aui-root html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.aui-root body{font-family:inherit;line-height:inherit}.aui-root *,.aui-root :after,.aui-root :before{box-sizing:border-box;border:0 solid}.aui-root hr{border-top-width:1px}.aui-root img{border-style:solid}.aui-root textarea{resize:vertical}.aui-root input::-moz-placeholder, .aui-root textarea::-moz-placeholder{opacity:1;color:#cbd5e0}.aui-root input:-ms-input-placeholder, .aui-root textarea:-ms-input-placeholder{opacity:1;color:#cbd5e0}.aui-root input::placeholder,.aui-root textarea::placeholder{opacity:1;color:#cbd5e0}.aui-root button{cursor:pointer}.aui-root table{border-collapse:collapse}.aui-root h1,.aui-root h2,.aui-root h3,.aui-root h4,.aui-root h5,.aui-root h6{font-size:inherit;font-weight:inherit}.aui-root a{color:inherit;text-decoration:inherit}.aui-root button,.aui-root input,.aui-root optgroup,.aui-root select,.aui-root textarea{padding:0;line-height:inherit;color:inherit}.aui-root code,.aui-root kbd,.aui-root pre,.aui-root samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.aui-root audio,.aui-root canvas,.aui-root embed,.aui-root iframe,.aui-root img,.aui-root object,.aui-root svg,.aui-root video{display:block;vertical-align:middle}.aui-root img,.aui-root video{max-width:100%;height:auto}.aui-root [hidden]{display:none}.aui-root *,.aui-root :after,.aui-root :before{--tw-border-opacity:1;border-color:rgba(203,213,224,var(--tw-border-opacity))}.aui-root .container{width:100%}@media (min-width:640px){.aui-root .container{max-width:640px}}@media (min-width:768px){.aui-root .container{max-width:768px}}@media (min-width:1024px){.aui-root .container{max-width:1024px}}@media (min-width:1280px){.aui-root .container{max-width:1280px}}@media (min-width:1536px){.aui-root .container{max-width:1536px}}.aui-root .prose{color:#4a5568;max-width:65ch}.aui-root .prose [class~=lead]{color:#718096;font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.aui-root .prose a{color:#1a202c;text-decoration:underline;font-weight:500}.aui-root .prose strong{color:#1a202c;font-weight:600}.aui-root .prose ol[type=a]{--list-counter-style:lower-alpha}.aui-root .prose ol[type=i]{--list-counter-style:lower-roman}.aui-root .prose ol[type="1"]{--list-counter-style:decimal}.aui-root .prose ol>li{position:relative;padding-left:1.75em}.aui-root .prose ol>li:before{content:counter(list-item,var(--list-counter-style,decimal)) ".";position:absolute;font-weight:400;color:#a0aec0;left:0}.aui-root .prose ul>li{position:relative;padding-left:1.75em}.aui-root .prose ul>li:before{content:"";position:absolute;background-color:#e2e8f0;border-radius:50%;width:.375em;height:.375em;top:.6875em;left:.25em}.aui-root .prose hr{border-color:#edf2f7;border-top-width:1px;margin-top:3em;margin-bottom:3em}.aui-root .prose blockquote{font-weight:500;font-style:italic;color:#1a202c;border-left-width:.25rem;border-left-color:#edf2f7;quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.aui-root .prose blockquote p:first-of-type:before{content:open-quote}.aui-root .prose blockquote p:last-of-type:after{content:close-quote}.aui-root .prose h1{color:#1a202c;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.aui-root .prose h2{color:#1a202c;font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.aui-root .prose h3{color:#1a202c;font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.aui-root .prose h4{color:#1a202c;font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.aui-root .prose figure figcaption{color:#a0aec0;font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.aui-root .prose code{color:#1a202c;font-weight:600;font-size:.875em}.aui-root .prose code:after,.aui-root .prose code:before{content:"`"}.aui-root .prose a code{color:#1a202c}.aui-root .prose pre{color:#edf2f7;background-color:#1a202c;overflow-x:auto;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.aui-root .prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.aui-root .prose pre code:after,.aui-root .prose pre code:before{content:none}.aui-root .prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.aui-root .prose thead{color:#1a202c;font-weight:600;border-bottom-width:1px;border-bottom-color:#e2e8f0}.aui-root .prose thead th{vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.aui-root .prose tbody tr{border-bottom-width:1px;border-bottom-color:#edf2f7}.aui-root .prose tbody tr:last-child{border-bottom-width:0}.aui-root .prose tbody td{vertical-align:top;padding:.5714286em}.aui-root .prose{font-size:1rem;line-height:1.75}.aui-root .prose p{margin-top:1.25em;margin-bottom:1.25em}.aui-root .prose figure,.aui-root .prose img,.aui-root .prose video{margin-top:2em;margin-bottom:2em}.aui-root .prose figure>*{margin-top:0;margin-bottom:0}.aui-root .prose h2 code{font-size:.875em}.aui-root .prose h3 code{font-size:.9em}.aui-root .prose ol,.aui-root .prose ul{margin-top:1.25em;margin-bottom:1.25em}.aui-root .prose li{margin-top:.5em;margin-bottom:.5em}.aui-root .prose>ul>li p{margin-top:.75em;margin-bottom:.75em}.aui-root .prose>ul>li>:first-child{margin-top:1.25em}.aui-root .prose>ul>li>:last-child{margin-bottom:1.25em}.aui-root .prose>ol>li>:first-child{margin-top:1.25em}.aui-root .prose>ol>li>:last-child{margin-bottom:1.25em}.aui-root .prose ol ol,.aui-root .prose ol ul,.aui-root .prose ul ol,.aui-root .prose ul ul{margin-top:.75em;margin-bottom:.75em}.aui-root .prose h2+*,.aui-root .prose h3+*,.aui-root .prose h4+*,.aui-root .prose hr+*{margin-top:0}.aui-root .prose thead th:first-child{padding-left:0}.aui-root .prose thead th:last-child{padding-right:0}.aui-root .prose tbody td:first-child{padding-left:0}.aui-root .prose tbody td:last-child{padding-right:0}.aui-root .prose>:first-child{margin-top:0}.aui-root .prose>:last-child{margin-bottom:0}@media (min-width:1024px){.aui-root .container\:base .burger-menu{display:none}}@media (min-width:1024px){.aui-root .container\:base .sidebar{position:relative;display:block;height:auto;width:16rem}}@media (min-width:1024px){.aui-root .container\:base .sidebar--content{width:14rem}}.aui-root .container\:xl .sidebar--content{position:absolute;left:50%;transform:translate(-50%)}@media (min-width:1536px){.aui-root .container\:base .panel-item{display:flex}}.aui-root .container\:xl .panel-item{display:block}@media (min-width:1536px){.aui-root .container\:base .panel--center .panel-item--center{width:58.333333%}}@media (min-width:1536px){.aui-root .container\:base .panel--center .panel-item--right{width:41.666667%}}.aui-root .container\:xl .panel--center .panel-item--center,.aui-root .container\:xl .panel--center .panel-item--right{width:100%}@media (min-width:1536px){.aui-root .container\:base .examples{margin-top:0}}.aui-root .container\:base .panel--right{display:none}@media (min-width:1536px){.aui-root .container\:base .panel--right{display:block;width:41.666667%}}.aui-root .container\:xl .panel--right{display:none}.aui-root .prose pre{white-space:pre-wrap}.aui-root .fixed{position:fixed}.aui-root .absolute{position:absolute}.aui-root .relative{position:relative}.aui-root .top-0{top:0}.aui-root .right-0{right:0}.aui-root .right-8{right:2rem}.aui-root .bottom-16{bottom:4rem}.aui-root .z-10{z-index:10}.aui-root .z-20{z-index:20}.aui-root .z-30{z-index:30}.aui-root .mx-2{margin-left:.5rem;margin-right:.5rem}.aui-root .-mx-8{margin-left:-2rem;margin-right:-2rem}.aui-root .my-2{margin-top:.5rem;margin-bottom:.5rem}.aui-root .mt-1{margin-top:.25rem}.aui-root .mt-2{margin-top:.5rem}.aui-root .mt-4{margin-top:1rem}.aui-root .mt-9{margin-top:2.25rem}.aui-root .mt-10{margin-top:2.5rem}.aui-root .mt-16{margin-top:4rem}.aui-root .mr-1{margin-right:.25rem}.aui-root .mr-2{margin-right:.5rem}.aui-root .mb-2{margin-bottom:.5rem}.aui-root .mb-3{margin-bottom:.75rem}.aui-root .mb-4{margin-bottom:1rem}.aui-root .mb-12{margin-bottom:3rem}.aui-root .-mb-1{margin-bottom:-.25rem}.aui-root .ml-0{margin-left:0}.aui-root .ml-1{margin-left:.25rem}.aui-root .ml-2{margin-left:.5rem}.aui-root .ml-0\.5{margin-left:.125rem}.aui-root .block{display:block}.aui-root .inline-block{display:inline-block}.aui-root .flex{display:flex}.aui-root .table{display:table}.aui-root .hidden{display:none}.aui-root .h-5{height:1.25rem}.aui-root .h-6{height:1.5rem}.aui-root .h-8{height:2rem}.aui-root .h-11{height:2.75rem}.aui-root .h-16{height:4rem}.aui-root .h-full{height:100%}.aui-root .max-h-screen{max-height:100vh}.aui-root .w-1{width:.25rem}.aui-root .w-5{width:1.25rem}.aui-root .w-16{width:4rem}.aui-root .w-20{width:5rem}.aui-root .w-64{width:16rem}.aui-root .w-full{width:100%}.aui-root .min-w-1\/4{min-width:25%}.aui-root .max-w-none{max-width:none}.aui-root .flex-1{flex:1 1 0%}.aui-root .transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.aui-root .-rotate-180{--tw-rotate:-180deg}.aui-root .-rotate-90{--tw-rotate:-90deg}@-webkit-keyframes spin{to{transform:rotate(1turn)}}@keyframes spin{to{transform:rotate(1turn)}}@-webkit-keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}.aui-root .cursor-pointer{cursor:pointer}.aui-root .flex-wrap{flex-wrap:wrap}.aui-root .items-center{align-items:center}.aui-root .justify-center{justify-content:center}.aui-root .space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.5rem*var(--tw-space-x-reverse));margin-left:calc(0.5rem*(1 - var(--tw-space-x-reverse)))}.aui-root .space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0.5rem*var(--tw-space-y-reverse))}.aui-root .overflow-y-auto{overflow-y:auto}.aui-root .whitespace-pre-wrap{white-space:pre-wrap}.aui-root .break-words{overflow-wrap:break-word}.aui-root .break-all{word-break:break-all}.aui-root .rounded{border-radius:.25rem}.aui-root .rounded-full{border-radius:9999px}.aui-root .rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.aui-root .border{border-width:1px}.aui-root .border-l-8{border-left-width:8px}.aui-root .border-solid{border-style:solid}.aui-root .border-gray-400{--tw-border-opacity:1;border-color:rgba(203,213,224,var(--tw-border-opacity))}.aui-root .border-red-500{--tw-border-opacity:1;border-color:rgba(245,101,101,var(--tw-border-opacity))}.aui-root .border-orange-300{--tw-border-opacity:1;border-color:rgba(251,211,141,var(--tw-border-opacity))}.aui-root .border-green-600{--tw-border-opacity:1;border-color:rgba(56,161,105,var(--tw-border-opacity))}.aui-root .border-blue-300{--tw-border-opacity:1;border-color:rgba(144,205,244,var(--tw-border-opacity))}.aui-root .border-blue-600{--tw-border-opacity:1;border-color:rgba(49,130,206,var(--tw-border-opacity))}.aui-root .border-purple-300{--tw-border-opacity:1;border-color:rgba(214,188,250,var(--tw-border-opacity))}.aui-root .bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.aui-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgba(247,250,252,var(--tw-bg-opacity))}.aui-root .bg-gray-200{--tw-bg-opacity:1;background-color:rgba(237,242,247,var(--tw-bg-opacity))}.aui-root .bg-gray-800{--tw-bg-opacity:1;background-color:rgba(45,55,72,var(--tw-bg-opacity))}.aui-root .bg-yellow-600{--tw-bg-opacity:1;background-color:rgba(214,158,46,var(--tw-bg-opacity))}.aui-root .bg-green-600{--tw-bg-opacity:1;background-color:rgba(56,161,105,var(--tw-bg-opacity))}.aui-root .bg-teal-500{--tw-bg-opacity:1;background-color:rgba(56,178,172,var(--tw-bg-opacity))}.aui-root .bg-blue-400{--tw-bg-opacity:1;background-color:rgba(99,179,237,var(--tw-bg-opacity))}.aui-root .bg-blue-500{--tw-bg-opacity:1;background-color:rgba(66,153,225,var(--tw-bg-opacity))}.aui-root .bg-blue-600{--tw-bg-opacity:1;background-color:rgba(49,130,206,var(--tw-bg-opacity))}.aui-root .bg-indigo-400{--tw-bg-opacity:1;background-color:rgba(127,156,245,var(--tw-bg-opacity))}.aui-root .bg-purple-600{--tw-bg-opacity:1;background-color:rgba(128,90,213,var(--tw-bg-opacity))}.aui-root .hover\:bg-orange-300:hover{--tw-bg-opacity:1;background-color:rgba(251,211,141,var(--tw-bg-opacity))}.aui-root .hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgba(144,205,244,var(--tw-bg-opacity))}.aui-root .hover\:bg-purple-300:hover{--tw-bg-opacity:1;background-color:rgba(214,188,250,var(--tw-bg-opacity))}.aui-root .fill-current{fill:currentColor}.aui-root .p-1{padding:.25rem}.aui-root .p-2{padding:.5rem}.aui-root .p-4{padding:1rem}.aui-root .p-8{padding:2rem}.aui-root .px-1{padding-left:.25rem;padding-right:.25rem}.aui-root .px-2{padding-left:.5rem;padding-right:.5rem}.aui-root .px-3{padding-left:.75rem;padding-right:.75rem}.aui-root .px-4{padding-left:1rem;padding-right:1rem}.aui-root .px-8{padding-left:2rem;padding-right:2rem}.aui-root .py-0{padding-top:0;padding-bottom:0}.aui-root .py-1{padding-top:.25rem;padding-bottom:.25rem}.aui-root .py-2{padding-top:.5rem;padding-bottom:.5rem}.aui-root .py-4{padding-top:1rem;padding-bottom:1rem}.aui-root .py-8{padding-top:2rem;padding-bottom:2rem}.aui-root .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.aui-root .pt-8{padding-top:2rem}.aui-root .pb-16{padding-bottom:4rem}.aui-root .text-left{text-align:left}.aui-root .text-center{text-align:center}.aui-root .align-baseline{vertical-align:baseline}.aui-root .font-sans{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.aui-root .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.aui-root .text-xs{font-size:.75rem}.aui-root .text-sm{font-size:.875rem}.aui-root .text-base{font-size:1rem}.aui-root .text-lg{font-size:1.125rem}.aui-root .text-2xl{font-size:1.5rem}.aui-root .text-3xl{font-size:1.875rem}.aui-root .text-4xl{font-size:2.25rem}.aui-root .font-thin{font-weight:100}.aui-root .font-extralight{font-weight:200}.aui-root .font-light{font-weight:300}.aui-root .font-bold{font-weight:700}.aui-root .uppercase{text-transform:uppercase}.aui-root .lowercase{text-transform:lowercase}.aui-root .capitalize{text-transform:capitalize}.aui-root .italic{font-style:italic}.aui-root .leading-normal{line-height:1.5}.aui-root .text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.aui-root .text-gray-200{--tw-text-opacity:1;color:rgba(237,242,247,var(--tw-text-opacity))}.aui-root .text-gray-500{--tw-text-opacity:1;color:rgba(160,174,192,var(--tw-text-opacity))}.aui-root .text-gray-600{--tw-text-opacity:1;color:rgba(113,128,150,var(--tw-text-opacity))}.aui-root .text-gray-700{--tw-text-opacity:1;color:rgba(74,85,104,var(--tw-text-opacity))}.aui-root .text-gray-800{--tw-text-opacity:1;color:rgba(45,55,72,var(--tw-text-opacity))}.aui-root .text-red-600{--tw-text-opacity:1;color:rgba(229,62,62,var(--tw-text-opacity))}.aui-root .text-orange-500{--tw-text-opacity:1;color:rgba(237,137,54,var(--tw-text-opacity))}.aui-root .text-orange-600{--tw-text-opacity:1;color:rgba(221,107,32,var(--tw-text-opacity))}.aui-root .text-teal-500{--tw-text-opacity:1;color:rgba(56,178,172,var(--tw-text-opacity))}.aui-root .text-blue-500{--tw-text-opacity:1;color:rgba(66,153,225,var(--tw-text-opacity))}.aui-root .text-purple-500{--tw-text-opacity:1;color:rgba(159,122,234,var(--tw-text-opacity))}.aui-root .hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgba(26,32,44,var(--tw-text-opacity))}.aui-root .hover\:text-orange-600:hover{--tw-text-opacity:1;color:rgba(221,107,32,var(--tw-text-opacity))}.aui-root .hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgba(49,130,206,var(--tw-text-opacity))}.aui-root .hover\:text-purple-600:hover{--tw-text-opacity:1;color:rgba(128,90,213,var(--tw-text-opacity))}.aui-root .underline{text-decoration:underline}.aui-root .no-underline{text-decoration:none}.aui-root *,.aui-root :after,.aui-root :before{--tw-shadow:0 0 transparent}.aui-root .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06)}.aui-root .shadow,.aui-root .shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.aui-root .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06)}.aui-root .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.aui-root *,.aui-root :after,.aui-root :before{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(66,153,225,0.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent}.aui-root .filter{--tw-blur:var(--tw-empty,/*!*/ /*!*/);--tw-brightness:var(--tw-empty,/*!*/ /*!*/);--tw-contrast:var(--tw-empty,/*!*/ /*!*/);--tw-grayscale:var(--tw-empty,/*!*/ /*!*/);--tw-hue-rotate:var(--tw-empty,/*!*/ /*!*/);--tw-invert:var(--tw-empty,/*!*/ /*!*/);--tw-saturate:var(--tw-empty,/*!*/ /*!*/);--tw-sepia:var(--tw-empty,/*!*/ /*!*/);--tw-drop-shadow:var(--tw-empty,/*!*/ /*!*/);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.aui-root .transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.aui-root .duration-150{transition-duration:.15s}.aui-root .ease-linear{transition-timing-function:linear}.aui-root .break-anywhere{overflow-wrap:anywhere}@media (min-width:768px){.aui-root .md\:flex{display:flex}}@media (min-width:1536px){.aui-root .\32xl\:mx-0{margin-left:0;margin-right:0}.aui-root .\32xl\:w-7\/12{width:58.333333%}.aui-root .\32xl\:rounded{border-radius:.25rem}.aui-root .\32xl\:px-4{padding-left:1rem;padding-right:1rem}} \ No newline at end of file diff --git a/index.html b/index.html index 20ea0ab..c05a96a 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ - Network Survey Messaging API 0.15.0 documentation + Network Survey Messaging API 1.0.0 documentation @@ -11,23 +11,22 @@ -
Network Survey Messaging API 0.15.0

The Network Survey Messaging API defines a set of messages that can be used to describe -wireless survey related events. The messages range from cellular surveys such as GSM, CDMA, -UMTS, and LTE, to simple RF energy detection events.

+
Network Survey Messaging API 1.0.0

The Network Survey Messaging API defines a set of messages that can be used to describe wireless survey related events. The messages range from cellular surveys such as GSM, CDMA, UMTS, LTE, and NR, to simple RF energy detection events.

+

NOTE: Despite the name "Network Survey Messaging API", this message specification is not exclusive to the Network Survey Android App. Instead, the Network Survey Android App is just one app that leverages Network Survey Messaging. Therefore, there are messages in this specification that do not apply to the Network Survey Android App (e.g. EnergyDetection).

While the most common use of these messages would be to send to an MQTT broker, this API specification simply defines the message schema. The transport or storage technology employed is purposefully left open to allow for these messages to flow over a variety of transports such as MQTT, gRPC, AMQP, etc. In addition, these messages can be written to disk by writing the JSON strings directly to a file to support unstructured data storage, or in a more structured approach such as a PostgreSQL or SQLite database.

-

Officially, the message schema support for the Network Survey Messaging API are the JSON defined messags from this -document. However, protobuf definitions of these messages have been created as a convinence for a couple of reasons. +

Officially, the message schema support for the Network Survey Messaging API are the JSON defined messages from this +document. However, protobuf definitions of these messages have been created as a convenience for a couple of reasons. First, it can make generating the JSON compliant messages easier and also converting the JSON messages to language specific objects. Secondly, it can allow for sending the messages in protocol buffer format instead of JSON if a compressed binary format is needed. It also has the side effect of supporting sending these messages over gRPC if Remote Procedure Call support is of interest. Check out the Network Survey Messaging Github README for more details.

-

Servers

  • mqtt://test.mosquitto.orgmqttmosquitto

Operations

  • PUB gsm_message

    The gsm_message topic/channel is where GSM survey records can be published. For MQTT, set the MQTT topic as "gsm_message" and then publish a JSON message representing a GSM survey record in the format defined below.

    -
    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    GSM Record

    Represents information recorded about a GSM tower at a particular time and geographic location.

    object
  • PUB 80211_probe_request_message

    The 80211_probe_request_message topic/channel is where 802.11 proble request survey records can be published. For MQTT, set the MQTT topic as "80211_probe_request_message" and then publish a JSON message representing an 802.11 Probe Request record in the format defined below. Added in 0.9.0

    -
    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    Wi-Fi Probe Request Record

    Represents information recorded about an 802.11 Probe Request at a particular time and geographic location. 802.11 Probe Request frames are sent by clients looking to discover information about an Access Point with a specific SSID. This message represents a capture of a single 802.11 Probe Request message.

    object
  • RECEIVE 80211_probe_request_message

    The 80211_probe_request_message topic/channel is where 802.11 probe request survey records can be published. For MQTT, set the MQTT topic as "80211_probe_request_message" and then publish a JSON message representing an 802.11 Probe Request record in the format defined below. Added in 0.9.0

    +
    Operation ID80211_probe_request_message

    Accepts the following message:

    Wi-Fi Probe Request Record

    Represents information recorded about an 802.11 Probe Request at a particular time and geographic location. 802.11 Probe Request frames are sent by clients looking to discover information about an Access Point with a specific SSID. This message represents a capture of a single 802.11 Probe Request message.

    object

    Examples

    Additional properties are allowed.

    Additional properties are allowed.

Examples

  • PUB 80211_deauthentication_message

    The 80211_deauthentication_message topic/channel is where 802.11 (Wi-Fi) Deauthentication Management Frames can be published. For MQTT, set the MQTT topic as "wifi_deauthentication_message". When a station wants to disassociate from another station, it invokes the deauthentication service. Deauthentication is a notification and cannot be refused. A station performs deauthentication by sending an authentication management frame (or group of frames to multiple stations) to advise of the termination of authentication.

    -
    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    Wi-Fi Deauthentication Record

    Represents an 802.11 deauthentication management frame. When a station wants to disassociate from another station, it invokes the deauthentication service. Deauthentication is a notification and cannot be refused. A station performs deauthentication by sending an authentication management frame (or group of frames to multiple stations) to advise of the termination of authentication.

    object
  • RECEIVE 80211_deauthentication_message

    The 80211_deauthentication_message topic/channel is where 802.11 (Wi-Fi) Deauthentication Management Frames can be published. For MQTT, set the MQTT topic as "wifi_deauthentication_message". When a station wants to disassociate from another station, it invokes the deauthentication service. Deauthentication is a notification and cannot be refused. A station performs deauthentication by sending an authentication management frame (or group of frames to multiple stations) to advise of the termination of authentication.

    +
    Operation ID80211_deauthentication_message

    Accepts the following message:

    Wi-Fi Deauthentication Record

    Represents an 802.11 deauthentication management frame. When a station wants to disassociate from another station, it invokes the deauthentication service. Deauthentication is a notification and cannot be refused. A station performs deauthentication by sending an authentication management frame (or group of frames to multiple stations) to advise of the termination of authentication.

    object

    Examples

    Additional properties are allowed.

    Additional properties are allowed.

  • Examples

  • PUB 80211_ota_message

    The 80211_ota_message topic/channel is where Over The Air (OTA) 802.11 (Wi-Fi) messages can be published. For MQTT, set the MQTT topic as "wifi_ota_message" and then publish a JSON message representing an OTA WiFi message.

    -
    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    Wi-Fi Over The Air (OTA) Record

    Represents information recorded about an 802.11 packet recorded at a particular time and geographic location. This message represents a capture of a 802.11 packet in PCAP format.

    object
  • RECEIVE 80211_ota_message

    The 80211_ota_message topic/channel is where Over The Air (OTA) 802.11 (Wi-Fi) messages can be published. For MQTT, set the MQTT topic as "wifi_ota_message" and then publish a JSON message representing an OTA WiFi message.

    +
    Operation ID80211_ota_message

    Accepts the following message:

    Wi-Fi Over The Air (OTA) Record

    Represents information recorded about an 802.11 packet recorded at a particular time and geographic location. This message represents a capture of a 802.11 packet in PCAP format.

    object

    Examples

  • PUB bluetooth_message

    The bluetooth_message topic/channel is where Bluetooth survey records can be published. For MQTT, set the MQTT topic as "bluetooth_message" and then publish a JSON message representing a Bluetooth survey record in the format defined below.

    -
    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    Bluetooth Record

    Represents information recorded about a Bluetooth device at a particular time and geographic location. This message represents a capture of a signal Bluetooth frame.

    object
  • RECEIVE bluetooth_message

    The bluetooth_message topic/channel is where Bluetooth survey records can be published. For MQTT, set the MQTT topic as "bluetooth_message" and then publish a JSON message representing a Bluetooth survey record in the format defined below.

    +
    Operation IDbluetooth_message

    Accepts the following message:

    Bluetooth Record

    Represents information recorded about a Bluetooth device at a particular time and geographic location. This message represents a capture of a signal Bluetooth frame.

    object

    Examples

  • PUB gnss_message

    The gnss_message topic/channel is where GNSS positioning records can be published. For MQTT, set the MQTT topic as "gnss_message" and then publish a JSON message in the format defined below.

    -
    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    GNSS Record

    Represents information recorded about a Global Navigation Sattelite System (GNSS) at a particular time and geographic location. Each record represents a single navigation message from a single satellite. These individual records are tied together using the group number field.

    object
  • RECEIVE gnss_message

    The gnss_message topic/channel is where GNSS positioning records can be published. For MQTT, set the MQTT topic as "gnss_message" and then publish a JSON message in the format defined below.

    +
    Operation IDgnss_message

    Accepts the following message:

    GNSS Record

    Represents information recorded about a Global Navigation Satellite System (GNSS) at a particular time and geographic location. Each record represents a single navigation message from a single satellite. These individual records are tied together using the group number field.

    object

    Examples

  • PUB energy_detection_message

    The energy_detection_message topic/channel is where RF energy detection records can be published. For MQTT, set the MQTT topic as "energy_detection_message" and then publish a JSON message in the format defined below.

    -
    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    Energy Detection

    Represents a General Purpose Radio (GPR) Energy Detection event. This survey record represents a general RF/PTT energy detection (i.e. RF energy was detected above a pre-defined threshold).

    object
  • RECEIVE energy_detection_message

    The energy_detection_message topic/channel is where RF energy detection records can be published. For MQTT, set the MQTT topic as "energy_detection_message" and then publish a JSON message in the format defined below.

    +
    Operation IDenergy_detection_message

    Accepts the following message:

    Energy Detection

    Represents a General Purpose Radio (GPR) Energy Detection event. This survey record represents a general RF/PTT energy detection (i.e. RF energy was detected above a pre-defined threshold).

    object

    Examples

  • PUB signal_detection_message

    The signal_detection_message topic/channel is where signal detection records can be published. For MQTT, set the MQTT topic as "signal_detection_message" and then publish a JSON message in the format defined below.

    -
    Operation IDpublish

    Available only on servers:

    Accepts the following message:

    Signal Detection

    Represents a General Purpose Radio (GPR) Signal Detection event. This survey record represents RF detections where the modulation and/or signal type could be determined. If both the modulation and signal type are unknown, then use the `energy_detection_message` instead.

    object
  • RECEIVE signal_detection_message

    The signal_detection_message topic/channel is where signal detection records can be published. For MQTT, set the MQTT topic as "signal_detection_message" and then publish a JSON message in the format defined below.

    +
    Operation IDsignal_detection_message

    Accepts the following message:

    Signal Detection

    Represents a General Purpose Radio (GPR) Signal Detection event. This survey record represents RF detections where the modulation and/or signal type could be determined. If both the modulation and signal type are unknown, then use the `energy_detection_message` instead.

    object

    Examples

  • PUB device_status_message

    The device_status_message topic/channel is where device status records can be published. This includes both DeviceStatus and PhoneState messages. For MQTT, set the MQTT topic as "device_status_message" and then publish a JSON message in one of the formats defined below.

    -
    Operation IDpublish

    Available only on servers:

    Accepts one of the following messages:

    • #0Device Status

      Represents a status message sent from the device to report its current state or to act as a heartbeat. The interval of this message can vary depending on use case.

      object
    • RECEIVE device_status_message

      The device_status_message topic/channel is where device status records can be published. This includes both DeviceStatus and PhoneState messages. For MQTT, set the MQTT topic as "device_status_message" and then publish a JSON message in one of the formats defined below.

      +
      Operation IDdevice_status_message

      Accepts one of the following messages:

      • #0Device Status

        Represents a status message sent from the device to report its current state or to act as a heartbeat. The interval of this message can vary depending on use case.

        object

        Additional properties are allowed.

      Examples

    • #1Phone State

      Represents the current state of the phone to include information about the currrently registered networks. The interval of this message can vary depending on use case, but is typically sent when a change in the phone's state orrurs, such as registering to a new network or being rejected from a netowrk.

      object
    • #1Phone State

      Represents the current state of the phone to include information about the currently registered networks. The interval of this message can vary depending on use case, but is typically sent when a change in the phone's state occurs, such as registering to a new network or being rejected from a network.

      object

      Examples

  • PUB cellular_ota_message

    The cellular_ota_message topic/channel is where Over The Air (OTA) cellular (LTE, UMTS/WCDMA) messages can be published. For MQTT, set the MQTT topic as "cellular_ota_message" and then publish a JSON message representing an OTA Cellular message.

    -
    Operation IDpublish

    Available only on servers:

    Accepts one of the following messages:

    • #0GSM RR Signaling OTA Message

      Represents a raw GSM RR Signaling message sent Over The Air (OTA) between a GSM BTS and a GSM ME.

      object
  • RECEIVE cellular_ota_message

    The cellular_ota_message topic/channel is where Over The Air (OTA) cellular (LTE, UMTS/WCDMA) messages can be published. For MQTT, set the MQTT topic as "cellular_ota_message" and then publish a JSON message representing an OTA Cellular message.

    +
    Operation IDcellular_ota_message

    Accepts one of the following messages:

    • #0GSM RR Signaling OTA Message

      Represents a raw GSM RR Signaling message sent Over The Air (OTA) between a GSM BTS and a GSM ME.

      object

      Examples

    • #1UMTS NAS Message

      Represents a raw UMTS NAS message sent Over The Air (OTA) between a UMTS NodeB and a UMTS UE.

      object

      Examples

    • #2WCDMA RRC OTA Message

      Represents a raw WCDMA RRC message sent Over The Air (OTA) between a UMTS NodeB and a UMTS UE.

      object

      Examples

    • #3LTE RRC OTA Message

      Represents a raw LTE RRC message sent Over The Air (OTA) between an LTE eNodeB and an LTE UE.

      object

      Examples

    • #4LTE NAS Message

      Represents a raw LTE NAS message sent Over The Air (OTA) between an LTE eNodeB and an LTE UE.

      object

      Examples

  • Messages

    Schemas