var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var ee=Array.isArray;function S(){}var C={H:null,A:null,T:null,S:null},w=Object.prototype.hasOwnProperty;function T(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function te(e,t){return T(e.type,t,e.props)}function E(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function ne(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var re=/\/+/g;function ie(e,t){return typeof e==`object`&&e&&e.key!=null?ne(``+e.key):t.toString(36)}function ae(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(S,S):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function oe(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,oe(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+ie(e,0):a,ee(o)?(i=``,c!=null&&(i=c.replace(re,`$&/`)+`/`),oe(o,r,i,``,function(e){return e})):o!=null&&(E(o)&&(o=te(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(re,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(ee(e))for(var u=0;u{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,ee||(ee=!0,E());else{var t=n(l);t!==null&&ie(x,t.startTime-e)}}}var ee=!1,S=-1,C=5,w=-1;function T(){return g?!0:!(e.unstable_now()-wt&&T());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ie(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}}}finally{i?E():ee=!1}}}var E;if(typeof y==`function`)E=function(){y(te)};else if(typeof MessageChannel<`u`){var ne=new MessageChannel,re=ne.port2;ne.port1.onmessage=te,E=function(){re.postMessage(null)}}else E=function(){_(te,0)};function ie(t,n){S=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(S),S=-1):h=!0,ie(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,ee||(ee=!0,E()))),r},e.unstable_shouldYield=T,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u();function n(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=p()})),h=o((e=>{var t=f(),n=u(),r=m();function i(e){var t=`https://react.dev/errors/`+e;if(1de||(e.current=ue[de],ue[de]=null,de--)}function A(e,t){de++,ue[de]=e.current,e.current=t}var pe=fe(null),me=fe(null),he=fe(null),ge=fe(null);function _e(e,t){switch(A(he,t),A(me,e),A(pe,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}k(pe),A(pe,e)}function ve(){k(pe),k(me),k(he)}function ye(e){e.memoizedState!==null&&A(ge,e);var t=pe.current,n=Hd(t,e.type);t!==n&&(A(me,e),A(pe,n))}function be(e){me.current===e&&(k(pe),k(me)),ge.current===e&&(k(ge),Qf._currentValue=le)}var xe,Se;function Ce(e){if(xe===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);xe=t&&t[1]||``,Se=-1)`:-1i||c[r]!==l[i]){var u=` `+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{we=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?Ce(n):``}function Ee(e,t){switch(e.tag){case 26:case 27:case 5:return Ce(e.type);case 16:return Ce(`Lazy`);case 13:return e.child!==t&&t!==null?Ce(`Suspense Fallback`):Ce(`Suspense`);case 19:return Ce(`SuspenseList`);case 0:case 15:return Te(e.type,!1);case 11:return Te(e.type.render,!1);case 1:return Te(e.type,!0);case 31:return Ce(`Activity`);default:return``}}function De(e){try{var t=``,n=null;do t+=Ee(e,n),n=e,e=e.return;while(e);return t}catch(e){return` Error generating stack: `+e.message+` `+e.stack}}var Oe=Object.prototype.hasOwnProperty,ke=t.unstable_scheduleCallback,Ae=t.unstable_cancelCallback,je=t.unstable_shouldYield,Me=t.unstable_requestPaint,Ne=t.unstable_now,Pe=t.unstable_getCurrentPriorityLevel,Fe=t.unstable_ImmediatePriority,Ie=t.unstable_UserBlockingPriority,Le=t.unstable_NormalPriority,Re=t.unstable_LowPriority,ze=t.unstable_IdlePriority,Be=t.log,Ve=t.unstable_setDisableYieldValue,He=null,Ue=null;function We(e){if(typeof Be==`function`&&Ve(e),Ue&&typeof Ue.setStrictMode==`function`)try{Ue.setStrictMode(He,e)}catch{}}var Ge=Math.clz32?Math.clz32:Je,Ke=Math.log,qe=Math.LN2;function Je(e){return e>>>=0,e===0?32:31-(Ke(e)/qe|0)|0}var Ye=256,Xe=262144,Ze=4194304;function Qe(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function $e(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Qe(n))):i=Qe(o):i=Qe(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Qe(n))):i=Qe(o)):i=Qe(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function et(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function tt(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function nt(){var e=Ze;return Ze<<=1,!(Ze&62914560)&&(Ze=4194304),e}function rt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function it(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function at(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),_n=!1;if(gn)try{var vn={};Object.defineProperty(vn,"passive",{get:function(){_n=!0}}),window.addEventListener(`test`,vn,vn),window.removeEventListener(`test`,vn,vn)}catch{_n=!1}var yn=null,bn=null,xn=null;function Sn(){if(xn)return xn;var e,t=bn,n=t.length,r,i=`value`in yn?yn.value:yn.textContent,a=i.length;for(e=0;e=er),rr=` `,ir=!1;function ar(e,t){switch(e){case`keyup`:return Qn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function or(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var sr=!1;function cr(e,t){switch(e){case`compositionend`:return or(t);case`keypress`:return t.which===32?(ir=!0,rr):null;case`textInput`:return e=t.data,e===rr&&ir?null:e;default:return null}}function lr(e,t){if(sr)return e===`compositionend`||!$n&&ar(e,t)?(e=Sn(),xn=bn=yn=null,sr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=jr(n)}}function Nr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Nr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Pr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ut(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ut(e.document)}return t}function Fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Ir=gn&&`documentMode`in document&&11>=document.documentMode,Lr=null,Rr=null,zr=null,Br=!1;function Vr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Br||Lr==null||Lr!==Ut(r)||(r=Lr,`selectionStart`in r&&Fr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),zr&&Ar(zr,r)||(zr=r,r=Ed(Rr,`onSelect`),0>=o,i-=o,Ni=1<<32-Ge(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),N&&Fi(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),N&&Fi(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return N&&Fi(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),N&&Fi(a,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===y&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case _:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===y){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===E&&Na(l)===r.type){n(e,r.sibling),c=a(r,o.props),Ba(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===y?(c=bi(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=yi(o.type,o.key,o.props,null,e.mode,c),Ba(c,o),c.return=e,e=c)}return s(e);case v:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=Ci(o,e.mode,c),c.return=e,e=c}return s(e);case E:return o=Na(o),b(e,r,o,c)}if(ce(o))return h(e,r,o,c);if(ae(o)){if(l=ae(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,za(o),c);if(o.$$typeof===S)return b(e,r,ca(e,o),c);Va(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=xi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Ra=0;var i=b(e,t,n,r);return La=null,i}catch(t){if(t===Da||t===ka)throw t;var a=hi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ua=Ha(!0),Wa=Ha(!1),Ga=!1;function Ka(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function qa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ja(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ya(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,G&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=fi(e),di(e,null,n),t}return ci(e,r,t,n),fi(e)}function Xa(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,st(e,n)}}function Za(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Qa=!1;function $a(){if(Qa){var e=va;if(e!==null)throw e}}function eo(e,t,n,r){Qa=!1;var i=e.updateQueue;Ga=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(J&f)===f:(r&f)===f){f!==0&&f===_a&&(Qa=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(m=g.payload,typeof m==`function`){d=m.call(_,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m==`function`?m.call(_,d,f):m,f==null)break a;d=h({},d,f);break a;case 2:Ga=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Gl|=o,e.lanes=o,e.memoizedState=d}}function to(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function no(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=D.T,s={};D.T=s,Ls(e,!1,t,n);try{var c=i(),l=D.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Is(e,t,xa(c,r),pu(e)):Is(e,t,r,pu(e))}catch(n){Is(e,t,{then:function(){},status:`rejected`,reason:n},pu())}finally{O.p=a,o!==null&&s.types!==null&&(o.types=s.types),D.T=o}}function Es(){}function Ds(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=Os(e).queue;Ts(e,a,t,le,n===null?Es:function(){return ks(e),n(r)})}function Os(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:le,baseState:le,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ro,lastRenderedState:le},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ro,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ks(e){var t=Os(e);t.next===null&&(t=e.alternate.memoizedState),Is(e,t.next.queue,{},pu())}function As(){return sa(Qf)}function js(){return B().memoizedState}function Ms(){return B().memoizedState}function Ns(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=pu();e=Ja(n);var r=Ya(t,e,n);r!==null&&(hu(r,t,n),Xa(r,t,n)),t={cache:pa()},e.payload=t;return}t=t.return}}function Ps(e,t,n){var r=pu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Rs(e)?zs(t,n):(n=li(e,t,n,r),n!==null&&(hu(n,e,r),Bs(n,t,r)))}function Fs(e,t,n){Is(e,t,n,pu())}function Is(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Rs(e))zs(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,kr(s,o))return ci(e,t,i,0),K===null&&si(),!1}catch{}if(n=li(e,t,i,r),n!==null)return hu(n,e,r),Bs(n,t,r),!0}return!1}function Ls(e,t,n,r){if(r={lane:2,revertLane:dd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Rs(e)){if(t)throw Error(i(479))}else t=li(e,n,r,2),t!==null&&hu(t,e,2)}function Rs(e){var t=e.alternate;return e===I||t!==null&&t===I}function zs(e,t){yo=vo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Bs(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,st(e,n)}}var Vs={readContext:sa,use:Io,useCallback:z,useContext:z,useEffect:z,useImperativeHandle:z,useLayoutEffect:z,useInsertionEffect:z,useMemo:z,useReducer:z,useRef:z,useState:z,useDebugValue:z,useDeferredValue:z,useTransition:z,useSyncExternalStore:z,useId:z,useHostTransitionStatus:z,useFormState:z,useActionState:z,useOptimistic:z,useMemoCache:z,useCacheRefresh:z};Vs.useEffectEvent=z;var Hs={readContext:sa,use:Io,useCallback:function(e,t){return No().memoizedState=[e,t===void 0?null:t],e},useContext:sa,useEffect:fs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),us(4194308,4,vs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return us(4194308,4,e,t)},useInsertionEffect:function(e,t){us(4,2,e,t)},useMemo:function(e,t){var n=No();t=t===void 0?null:t;var r=e();if(bo){We(!0);try{e()}finally{We(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=No();if(n!==void 0){var i=n(t);if(bo){We(!0);try{n(t)}finally{We(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Ps.bind(null,I,e),[r.memoizedState,e]},useRef:function(e){var t=No();return e={current:e},t.memoizedState=e},useState:function(e){e=Jo(e);var t=e.queue,n=Fs.bind(null,I,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:bs,useDeferredValue:function(e,t){return Cs(No(),e,t)},useTransition:function(){var e=Jo(!1);return e=Ts.bind(null,I,e.queue,!0,!1),No().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=I,a=No();if(N){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),K===null)throw Error(i(349));J&127||Uo(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,fs(Go.bind(null,r,o,e),[e]),r.flags|=2048,cs(9,{destroy:void 0},Wo.bind(null,r,o,n,t),null),n},useId:function(){var e=No(),t=K.identifierPrefix;if(N){var n=Pi,r=Ni;n=(r&~(1<<32-Ge(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=xo++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[mt]=t,o[ht]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Pd(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Fc(t)}}return H(t),Ic(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Fc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=he.current,qi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=Bi,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[mt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Md(e.nodeValue,n)),e||Wi(t,!0)}else e=Bd(e).createTextNode(r),e[mt]=t,t.stateNode=e}return H(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=qi(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[mt]=t}else Ji(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;H(t),e=!1}else n=Yi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(ho(t),t):(ho(t),null);if(t.flags&128)throw Error(i(558))}return H(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=qi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[mt]=t}else Ji(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;H(t),a=!1}else a=Yi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(ho(t),t):(ho(t),null)}return ho(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Rc(t,t.updateQueue),H(t),null);case 4:return ve(),e===null&&Sd(t.stateNode.containerInfo),H(t),null;case 10:return ta(t.type),H(t),null;case 19:if(k(F),r=t.memoizedState,r===null)return H(t),null;if(a=!!(t.flags&128),o=r.rendering,o===null){if(a)zc(r,!1);else{if(X!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=go(e),o!==null){for(t.flags|=128,zc(r,!1),e=o.updateQueue,t.updateQueue=e,Rc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)vi(n,e),n=n.sibling;return A(F,F.current&1|2),N&&Fi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ne()>tu&&(t.flags|=128,a=!0,zc(r,!1),t.lanes=4194304)}}else{if(!a){if(e=go(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Rc(t,e),zc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!N)return H(t),null}else 2*Ne()-r.renderingStartTime>tu&&n!==536870912&&(t.flags|=128,a=!0,zc(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(H(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ne(),e.sibling=null,n=F.current,A(F,a?n&1|2:n&1),N&&Fi(t,r.treeForkCount),e);case 22:case 23:return ho(t),so(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(H(t),t.subtreeFlags&6&&(t.flags|=8192)):H(t),n=t.updateQueue,n!==null&&Rc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&k(Ca),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ta(P),H(t),null;case 25:return null;case 30:return null}throw Error(i(156,t.tag))}function Vc(e,t){switch(Ri(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ta(P),ve(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return be(t),null;case 31:if(t.memoizedState!==null){if(ho(t),t.alternate===null)throw Error(i(340));Ji()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(ho(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Ji()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return k(F),null;case 4:return ve(),null;case 10:return ta(t.type),null;case 22:case 23:return ho(t),so(),e!==null&&k(Ca),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ta(P),null;case 25:return null;default:return null}}function Hc(e,t){switch(Ri(t),t.tag){case 3:ta(P),ve();break;case 26:case 27:case 5:be(t);break;case 4:ve();break;case 31:t.memoizedState!==null&&ho(t);break;case 13:ho(t);break;case 19:k(F);break;case 10:ta(t.type);break;case 22:case 23:ho(t),so(),e!==null&&k(Ca);break;case 24:ta(P)}}function Uc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function Wc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function Gc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{no(t,n)}catch(t){Z(e,e.return,t)}}}function Kc(e,t,n){n.props=Ys(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function qc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Z(e,t,n)}}function Jc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}}function Yc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Z(e,e.return,t)}}function Xc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[ht]=t}catch(t){Z(e,e.return,t)}}function Zc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function Qc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Zc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function $c(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=sn));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for($c(e,t,n),e=e.sibling;e!==null;)$c(e,t,n),e=e.sibling}function el(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(el(e,t,n),e=e.sibling;e!==null;)el(e,t,n),e=e.sibling}function tl(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[mt]=e,t[ht]=n}catch(t){Z(e,e.return,t)}}var nl=!1,U=!1,rl=!1,il=typeof WeakSet==`function`?WeakSet:Set,al=null;function ol(e,t){if(e=e.containerInfo,Rd=sp,e=Pr(e),Fr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||a!==0&&f.nodeType!==3||(c=s+a),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===a&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,al=t;al!==null;)if(t=al,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,al=e;else for(;al!==null;){switch(t=al,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n title`))),Pd(o,r,n),o[mt]=e,Et(o),r=o;break a;case`link`:var s=Vf(`link`,`href`,a).get(r+(n.href||``));if(s){for(var c=0;cg&&(o=g,g=h,h=o);var _=Mr(s,h),v=Mr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,D.T=null,n=lu,lu=null;var o=au,s=su;if(iu=0,ou=au=null,su=0,G&6)throw Error(i(331));var c=G;if(G|=4,Fl(o.current),Dl(o,o.current,s,n),G=c,id(0,!1),Ue&&typeof Ue.onPostCommitFiberRoot==`function`)try{Ue.onPostCommitFiberRoot(He,o)}catch{}return!0}finally{O.p=a,D.T=r,Vu(e,t)}}function Wu(e,t,n){t=Ti(n,t),t=tc(e.stateNode,t,2),e=Ya(e,t,2),e!==null&&(it(e,2),rd(e))}function Z(e,t,n){if(e.tag===3)Wu(e,e,n);else for(;t!==null;){if(t.tag===3){Wu(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(ru===null||!ru.has(r))){e=Ti(n,e),n=nc(2),r=Ya(t,n,2),r!==null&&(rc(n,r,t,e),it(r,2),rd(r));break}}t=t.return}}function Gu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new zl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Ul=!0,i.add(n),e=Ku.bind(null,e,t,n),t.then(e,e))}function Ku(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,K===e&&(J&n)===n&&(X===4||X===3&&(J&62914560)===J&&300>Ne()-$l?!(G&2)&&Su(e,0):ql|=n,Yl===J&&(Yl=0)),rd(e)}function qu(e,t){t===0&&(t=nt()),e=ui(e,t),e!==null&&(it(e,t),rd(e))}function Ju(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),qu(e,n)}function Yu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),qu(e,n)}function Xu(e,t){return ke(e,t)}var Zu=null,Qu=null,$u=!1,ed=!1,td=!1,nd=0;function rd(e){e!==Qu&&e.next===null&&(Qu===null?Zu=Qu=e:Qu=Qu.next=e),ed=!0,$u||($u=!0,ud())}function id(e,t){if(!td&&ed){td=!0;do for(var n=!1,r=Zu;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Ge(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,ld(r,a))}else a=J,a=$e(r,r===K?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||et(r,a)||(n=!0,ld(r,a))}r=r.next}while(n);td=!1}}function ad(){od()}function od(){ed=$u=!1;var e=0;nd!==0&&Gd()&&(e=nd);for(var t=Ne(),n=null,r=Zu;r!==null;){var i=r.next,a=sd(r,t);a===0?(r.next=null,n===null?Zu=i:n.next=i,i===null&&(Qu=n)):(n=r,(e!==0||a&3)&&(ed=!0)),r=i}iu!==0&&iu!==5||id(e,!1),nd!==0&&(nd=0)}function sd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=Gt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),Et(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+Gt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Gt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Gt(n.imageSizes)+`"]`)):i+=`[href="`+Gt(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=h({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),Et(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Gt(r)+`"][href="`+Gt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=h({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),Et(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=Tt(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=h({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);Et(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=Tt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),Et(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=Tt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),Et(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var a=(a=he.current)?gf(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=Tt(a).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var o=Tt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),o||Nf(a,e,n,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=Tt(a).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Af(e){return`href="`+Gt(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),Et(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Gt(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Gt(n.href)+`"]`);if(r)return t.instance=r,Et(r),r;var a=h({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),Et(r),Pd(r,`style`,a),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Af(n.href);var o=e.querySelector(jf(a));if(o)return t.state.loading|=4,t.instance=o,Et(o),o;r=Mf(n),(a=mf.get(a))&&Rf(r,a),o=(e.ownerDocument||e).createElement(`link`),Et(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(a=e.querySelector(Ff(o)))?(t.instance=a,Et(a),a):(r=n,(a=mf.get(o))&&(r=h({},n),zf(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),Et(a),Pd(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Et(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),Et(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()})),_=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),v=o(((e,t)=>{t.exports=_()})),y=c(g(),1),b=c(u(),1),x=v(),ee=`AL.AK.AZ.AR.CA.CO.CT.DE.DC.FL.GA.HI.ID.IL.IN.IA.KS.KY.LA.ME.MD.MA.MI.MN.MS.MO.MT.NE.NV.NH.NJ.NM.NY.NC.ND.OH.OK.OR.PA.RI.SC.SD.TN.TX.UT.VT.VA.WA.WV.WI.WY`.split(`.`),S={AL:`Alabama`,AK:`Alaska`,AZ:`Arizona`,AR:`Arkansas`,CA:`California`,CO:`Colorado`,CT:`Connecticut`,DE:`Delaware`,DC:`District of Columbia`,FL:`Florida`,GA:`Georgia`,HI:`Hawaii`,ID:`Idaho`,IL:`Illinois`,IN:`Indiana`,IA:`Iowa`,KS:`Kansas`,KY:`Kentucky`,LA:`Louisiana`,ME:`Maine`,MD:`Maryland`,MA:`Massachusetts`,MI:`Michigan`,MN:`Minnesota`,MS:`Mississippi`,MO:`Missouri`,MT:`Montana`,NE:`Nebraska`,NV:`Nevada`,NH:`New Hampshire`,NJ:`New Jersey`,NM:`New Mexico`,NY:`New York`,NC:`North Carolina`,ND:`North Dakota`,OH:`Ohio`,OK:`Oklahoma`,OR:`Oregon`,PA:`Pennsylvania`,RI:`Rhode Island`,SC:`South Carolina`,SD:`South Dakota`,TN:`Tennessee`,TX:`Texas`,UT:`Utah`,VT:`Vermont`,VA:`Virginia`,WA:`Washington`,WV:`West Virginia`,WI:`Wisconsin`,WY:`Wyoming`};function C({onNext:e}){let[t,n]=(0,b.useState)(``),r=ee.filter(e=>e.toLowerCase().includes(t.toLowerCase())||S[e].toLowerCase().includes(t.toLowerCase()));return(0,x.jsxs)(`div`,{style:{padding:`var(--space-5) 0 var(--space-7)`},children:[(0,x.jsx)(`span`,{className:`eyebrow`,children:`US Department of Education Civil Rights Data Collection`}),(0,x.jsx)(`h1`,{style:{marginTop:`var(--space-2)`,marginBottom:`var(--space-3)`},children:`Explore school-based arrest rates by district`}),(0,x.jsx)(`p`,{style:{fontSize:`1.1rem`,lineHeight:1.7,maxWidth:`48rem`},children:`The Civil Rights Data Collection (CRDC) is the only source of data on school-related arrests for all U.S. public schools and districts. Enter a state to see estimates for any district — with Bayesian model comparisons that reveal how confident we can be in each rate, even when arrests are rare events.`}),(0,x.jsxs)(`div`,{className:`stat-callout`,style:{marginTop:`var(--space-4)`},children:[(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`span`,{className:`stat-num`,children:`34,846`}),(0,x.jsx)(`span`,{className:`stat-label`,children:`students arrested in 2021–22`})]}),(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`span`,{className:`stat-num`,children:`0.72`}),(0,x.jsx)(`span`,{className:`stat-label accent`,children:`arrests per 1,000 students (national rate)`})]}),(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`span`,{className:`stat-num`,children:`11.6%`}),(0,x.jsx)(`span`,{className:`stat-label`,children:`of districts reported >0 arrests`})]})]}),(0,x.jsxs)(`div`,{style:{marginTop:`var(--space-5)`},children:[(0,x.jsx)(`label`,{htmlFor:`state-search`,style:{display:`block`,marginBottom:`var(--space-2)`,fontWeight:600},children:`Select a state to begin:`}),(0,x.jsx)(`input`,{id:`state-search`,type:`text`,placeholder:`Type a state name or code (e.g., Texas, TX)…`,value:t,onChange:e=>n(e.target.value),style:{width:`100%`,padding:`var(--space-2)`,fontSize:`1rem`,border:`1px solid var(--cv-rule)`,borderRadius:`var(--radius-md)`,fontFamily:`var(--font-sans)`},autoFocus:!0}),r.length>0&&(0,x.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(auto-fill, minmax(120px, 1fr))`,gap:`var(--space-1)`,marginTop:`var(--space-3)`},children:r.map(t=>(0,x.jsxs)(`button`,{className:`cv-card`,style:{textAlign:`center`,padding:`var(--space-2)`},onClick:()=>e(t),children:[(0,x.jsx)(`span`,{style:{fontSize:`1.25rem`,fontWeight:700,color:`var(--cv-navy-600)`},children:t}),(0,x.jsx)(`span`,{className:`stat-label`,style:{marginTop:`0.25rem`},children:S[t]})]},t))}),r.length===0&&(0,x.jsxs)(`p`,{style:{color:`var(--cv-ink-3)`,marginTop:`var(--space-2)`},children:[`No states match "`,t,`". Try a full state name or two-letter code.`]})]}),(0,x.jsxs)(`div`,{style:{marginTop:`var(--space-5)`,paddingBottom:`var(--space-3)`,borderBottom:`1px solid var(--cv-rule)`},children:[(0,x.jsx)(`span`,{className:`eyebrow`,children:`How it works`}),(0,x.jsxs)(`p`,{style:{fontSize:`0.9rem`,color:`var(--cv-ink-2)`,marginTop:`var(--space-1)`},children:[`After selecting a state, you'll search for a school district and see arrest estimates from 10 Bayesian models — including one-year vs. three-year specifications and baseline vs. referral-rate covariate models. The app fetches data directly from the`,` `,(0,x.jsx)(`a`,{href:`https://crdc-api.civilytics.org/api/v1/`,target:`_blank`,rel:`noopener noreferrer`,children:`CRDC Arrest Rate API`}),`. No account or key required.`]})]})]})}var w=`https://crdc-api.civilytics.org/api/v1`,T=[{race:`WH`,sex:`F`,label:`White Female`},{race:`WH`,sex:`M`,label:`White Male`},{race:`BL`,sex:`F`,label:`Black Female`},{race:`BL`,sex:`M`,label:`Black Male`},{race:`HI`,sex:`F`,label:`Hispanic Female`},{race:`HI`,sex:`M`,label:`Hispanic Male`},{race:`AM`,sex:`F`,label:`American Indian Female`},{race:`AM`,sex:`M`,label:`American Indian Male`}],te=[{model:`unified_m1_mod`,label:`One-year, no covariate`},{model:`unified_m2_mod`,label:`One-year + referral rate`},{model:`unified_m3_mod`,label:`Three-year, no covariate`},{model:`unified_m4_mod`,label:`Three-year + referral rate`}];async function E(e,{retries:t=3,delay:n=500}={}){let r=`${w}${e}`,i;for(let e=0;e<=t;e++)try{let e=await fetch(r,{signal:AbortSignal.timeout(3e4)});if(!e.ok)throw Error(`HTTP ${e.status}: ${e.statusText}`);let t=await e.json();if(t.status===`success`)return t.data;throw Error(t.error||`Unknown API error`)}catch(r){if(i=r,esetTimeout(e,t))}else throw i}throw i}async function ne(e,t){return E(`/districts?${new URLSearchParams({q:e,state:t})}`)}async function re(e,t={}){let n=new URLSearchParams;t.model&&n.set(`model`,t.model),t.year&&n.set(`year`,t.year),t.race&&n.set(`race`,t.race),t.sex&&n.set(`sex`,t.sex);let r=n.toString();return E(`/estimates/${e}${r?`?${r}`:``}`)}var ie=`/crdc-demo/data/top_districts.json`,ae=8,oe=null;function se(){return oe||=fetch(ie).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status} loading ${ie}`);return e.json()}).catch(e=>{throw oe=null,e}),oe}function ce({state:e,onSelect:t,onBack:n}){let[r,i]=(0,b.useState)(``),[a,o]=(0,b.useState)([]),[s,c]=(0,b.useState)([]),[l,u]=(0,b.useState)(!0),[d,f]=(0,b.useState)(!1);(0,b.useEffect)(()=>{let t=!1;return u(!0),se().then(n=>{if(t)return;let r=n?.states?.[e]||[];c(r.slice(0,ae).map(t=>({leaid:t.leaid,lea_name:t.name,state:e,observed_arrests:t.arrests})))}).catch(e=>{console.error(`Failed to load suggested districts:`,e),t||c([])}).finally(()=>{t||u(!1)}),()=>{t=!0}},[e]),(0,b.useEffect)(()=>{if(!r.trim()){o([]);return}let t=setTimeout(async()=>{f(!0);try{let t=await ne(r,e);o(t||[])}catch(e){console.error(`District search failed:`,e),o([])}finally{f(!1)}},300);return()=>clearTimeout(t)},[r,e]);let p=e=>(0,x.jsx)(`button`,{className:`cv-card`,style:{textAlign:`left`,padding:`var(--space-2)`},onClick:()=>t(e),children:(0,x.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`baseline`},children:[(0,x.jsx)(`span`,{style:{fontWeight:600,color:`var(--cv-navy-700)`,fontSize:`0.95rem`},children:e.lea_name||e.name}),e.observed_arrests!==void 0&&(0,x.jsxs)(`span`,{className:`stat-label accent`,style:{marginTop:0},children:[e.observed_arrests.toLocaleString(),` arrests in 2021–22`]})]})},e.leaid);return(0,x.jsxs)(`div`,{style:{padding:`var(--space-5) 0 var(--space-7)`},children:[(0,x.jsx)(`button`,{className:`btn-outline`,onClick:n,style:{marginBottom:`var(--space-3)`},children:`← Change state`}),(0,x.jsx)(`h2`,{style:{marginTop:0,marginBottom:`var(--space-1)`},children:e===`DC`?`District of Columbia`:`Find a district in ${D(e)}`}),(0,x.jsx)(`p`,{style:{color:`var(--cv-ink-2)`,marginBottom:`var(--space-3)`},children:`Search by district name, or try one of the suggested districts with the highest arrest counts.`}),!r&&(0,x.jsxs)(`div`,{style:{marginTop:`var(--space-4)`},children:[(0,x.jsx)(`span`,{className:`eyebrow`,children:`Suggested districts — most arrests in 2021–22`}),l?(0,x.jsx)(`p`,{style:{color:`var(--cv-ink-3)`,padding:`var(--space-2) 0`},children:`Loading suggestions…`}):s.length>0?(0,x.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(auto-fill, minmax(280px, 1fr))`,gap:`var(--space-1)`},children:s.map(p)}):(0,x.jsx)(`p`,{style:{color:`var(--cv-ink-3)`,padding:`var(--space-2) 0`},children:`No districts with reported arrests found in this state. Try searching by name below.`})]}),(0,x.jsxs)(`div`,{style:{marginTop:r?0:`var(--space-5)`},children:[(0,x.jsx)(`label`,{htmlFor:`district-search`,className:`stat-label`,children:`Search district name:`}),(0,x.jsx)(`input`,{id:`district-search`,type:`text`,placeholder:`Type a district name… (e.g., Madison, Derby, Paterson)`,value:r,onChange:e=>i(e.target.value),style:{width:`100%`,padding:`var(--space-2)`,fontSize:`1rem`,border:`1px solid var(--cv-rule)`,borderRadius:`var(--radius-md)`,fontFamily:`var(--font-sans)`}}),r&&(0,x.jsxs)(`div`,{style:{marginTop:`var(--space-2)`},children:[d?(0,x.jsx)(`p`,{style:{color:`var(--cv-ink-3)`},children:`Searching…`}):a.length>0?(0,x.jsx)(`div`,{style:{display:`grid`,gap:`var(--space-1)`},children:a.slice(0,20).map(p)}):(0,x.jsxs)(`p`,{style:{color:`var(--cv-ink-3)`},children:[`No districts found matching "`,r,`".`]}),a.length>0&&(0,x.jsx)(`button`,{className:`btn-outline`,onClick:()=>i(``),style:{marginTop:`var(--space-2)`},children:`← Show suggested districts again`})]})]})]})}function D(e){return{AL:`Alabama`,AK:`Alaska`,AZ:`Arizona`,AR:`Arkansas`,CA:`California`,CO:`Colorado`,CT:`Connecticut`,DE:`Delaware`,DC:`District of Columbia`,FL:`Florida`,GA:`Georgia`,HI:`Hawaii`,ID:`Idaho`,IL:`Illinois`,IN:`Indiana`,IA:`Iowa`,KS:`Kansas`,KY:`Kentucky`,LA:`Louisiana`,ME:`Maine`,MD:`Maryland`,MA:`Massachusetts`,MI:`Michigan`,MN:`Minnesota`,MS:`Mississippi`,MO:`Missouri`,MT:`Montana`,NE:`Nebraska`,NV:`Nevada`,NH:`New Hampshire`,NJ:`New Jersey`,NM:`New Mexico`,NY:`New York`,NC:`North Carolina`,ND:`North Dakota`,OH:`Ohio`,OK:`Oklahoma`,OR:`Oregon`,PA:`Pennsylvania`,RI:`Rhode Island`,SC:`South Carolina`,SD:`South Dakota`,TN:`Tennessee`,TX:`Texas`,UT:`Utah`,VT:`Vermont`,VA:`Virginia`,WA:`Washington`,WV:`West Virginia`,WI:`Wisconsin`,WY:`Wyoming`}[e]||e}var O=`modulepreload`,le=function(e){return`/crdc-demo/`+e},ue={},de=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=le(t,n),t=s(t),t in ue)return;ue[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:O,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},fe=null;function k(){return fe||=A(),fe}async function A(){let e=await de(()=>import(`./duckdb-browser-CTRvhmYS.js`),[]),t=(await de(async()=>{let{default:e}=await import(`./duckdb-browser-mvp.worker-BFSLeoep.js`);return{default:e}},[])).default,n=(await de(async()=>{let{default:e}=await import(`./duckdb-mvp-B3jza7CB.js`);return{default:e}},[])).default,r=new Worker(t),i=new e.ConsoleLogger(e.LogLevel.WARNING),a=new e.AsyncDuckDB(i,r);return await a.instantiate(n,null),a}function pe(e,t){return t?`${e}_${t}`:`${e}`}function me(e,t){if(!Array.isArray(e)||!(t>0)||e.length!==t)return!1;for(let n=0;ne-t),r=t*(n.length-1),i=Math.floor(r),a=Math.ceil(r);if(i===a)return n[i];let o=r-i;return n[i]*(1-o)+n[a]*o}function be(e){let t=e.length,n=e.reduce((e,t)=>e+t,0)/t,r=e.reduce((e,t)=>e+(t-n)**2,0)/(t-1);return Math.sqrt(r)}function xe(e,t=0){let n=t>0?t:0,r=n?n/_e:ge,i=n?n/ve:1/0,a=e.length;if(a<2)return r;let o=[be(e),(ye(e,.75)-ye(e,.25))/1.34].filter(e=>e>0),s=.9*(o.length?Math.min(...o):0)*a**-.2;return Math.min(Math.max(s,r),i)}function Se(e,{min:t=0,max:n,n:r=60}={}){let i=n??Math.max(...e)*1.1,a=xe(e,Math.max(i-t,0)),o=(i-t)/(r-1),s=[];for(let n=0;n0)||!n.every(e=>me(e,t)))return null;let r=Array(t).fill(0);for(let e of n)for(let n=0;ne-t),r=n.length,i=Math.ceil(t*r)-1;if(i<=0)return[n[0],n[0]];if(i>=r-1)return[n[0],n[r-1]];let a=[n[0],n[i]],o=n[i]-n[0];for(let e=1;e+i{try{let e=await fetch(`${ke}/${r}`);if(!e.ok)throw Error(`tree listing HTTP ${e.status}`);return(await e.json()).filter(e=>e?.type===`file`&&/\/data_\d+\.parquet$/.test(e.path||``)).map(e=>({part:Number(e.path.match(/data_(\d+)\.parquet$/)[1]),size:e.size||0})).sort((e,t)=>e.part-t.part)}catch(e){throw Pe.delete(r),e}})()),Pe.get(r)}async function Ie(e,t,n){try{return(await Promise.all(t.map(async t=>(await Fe(e,t,n)).reduce((e,t)=>e+t.size,0)))).reduce((e,t)=>e+t,0)}catch{return 0}}async function Le(e,t,n){let r=Ne(e,t,n);try{let r=await Fe(e,t,n);if(r.length>0)return r.map(e=>e.part);throw Error(`tree listing contained no parquet parts`)}catch(e){console.warn(`useDrawDistribution: falling back to sequential part probing for ${r}:`,e.message);let t=[];for(let e=0;e{try{let a=Ne(t,n,r),o=await Le(t,n,r);if(o.length===0)throw Error(`No draw shard published for ${r}/${n}/${t}`);return await Promise.all(o.map(async t=>{let n=await fetch(`${Oe}/${a}/data_${t}.parquet`);if(!n.ok)throw Error(`Failed to fetch draw shard part ${t}: HTTP ${n.status}`);let r=new Uint8Array(await n.arrayBuffer()),o=`${i}__${t}.parquet`;return await e.registerFileBuffer(o,r),o}))}catch(e){throw Ae.delete(i),e}})()),Ae.get(i)}async function ze(e,{leaid:t,state:n,model:r,year:i}){let a=await Re(e,r,i,n),o;try{o=await e.connect();let n=a.map(e=>`'${e}'`).join(`, `),i=await o.prepare(`SELECT RACE, SEX, draw_id, pred FROM read_parquet([${n}]) WHERE LEAID = ?`),s=await i.query(t);await i.close();let c=s.toArray().map(e=>e.toJSON()),l={},u=0;for(let e of c){let t=Number(e.draw_id),n=Number(e.pred);if(!Number.isFinite(t)||t<1||!Number.isFinite(n))continue;let r=pe(e.RACE,e.SEX);(l[r]??=[])[t-1]=n,t>u&&(u=t)}let d={},f=0;for(let[e,n]of Object.entries(l))me(n,u)?d[e]=n:(f+=1,console.warn(`useDrawDistribution: dropping incomplete draw set for`,{leaid:t,model:r,key:e,got:n.length,want:u}));return Object.keys(d).length>0?{counts:d,nDraws:u,dropped:f}:null}finally{o&&await o.close()}}function Be({leaid:e,state:t,models:n,year:r}){let[i,a]=(0,b.useState)(`loading`),[o,s]=(0,b.useState)(null),c=(n||[]).filter(Boolean).join(`,`);return(0,b.useEffect)(()=>{let n=!1;a(`loading`),s(null);let i=c?c.split(`,`):[];if(!e||!t||!r||i.length===0)return;async function o(){try{let o=await k(),c=await Promise.all(i.map(async n=>{try{return[n,await ze(o,{leaid:e,state:t,model:n,year:r})]}catch(e){return console.error(`useDrawDistribution: model ${n} failed:`,e),[n,null]}}));if(n)return;let l=Object.fromEntries(c);Object.values(l).some(e=>e!==null)?(s(l),a(`ready`)):(console.warn(`useDrawDistribution: no usable draws for`,{leaid:e,state:t,year:r,models:i}),s(null),a(`error`))}catch(e){console.error(`useDrawDistribution failed:`,e),n||(s(null),a(`error`))}}return o(),()=>{n=!0}},[e,t,r,c]),{status:i,byModel:o,nDraws:(0,b.useMemo)(()=>Math.max(0,...Object.values(o||{}).map(e=>e?.nDraws||0)),[o])}}function Ve({leaid:e,state:t,model:n,years:r,enabled:i}){let[a,o]=(0,b.useState)(`idle`),[s,c]=(0,b.useState)(null),[l,u]=(0,b.useState)(0),d=(r||[]).join(`,`);return(0,b.useEffect)(()=>{let e=!1;if(u(0),!(!t||!n||!d))return Ie(n,d.split(`,`),t).then(t=>{e||u(t)}),()=>{e=!0}},[t,n,d]),(0,b.useEffect)(()=>{let r=!1;if(o(i?`loading`:`idle`),c(null),!i||!e||!t||!n||!d)return;async function a(){try{let i=await k(),a=d.split(`,`),s=await Promise.all(a.map(async r=>{try{let a=await ze(i,{leaid:e,state:t,model:n,year:r});return!a||a.dropped>0?[r,null]:[r,Ee(we(a.counts,a.nDraws))]}catch(e){return console.error(`useDistrictTotalDraws: ${r} failed:`,e),[r,null]}}));if(r)return;let l=Object.fromEntries(s);Object.values(l).some(e=>e!==null)?(c(l),o(`ready`)):(c(null),o(`error`))}catch(e){console.error(`useDistrictTotalDraws failed:`,e),r||(c(null),o(`error`))}}return a(),()=>{r=!0}},[e,t,n,d,i]),{status:a,byYear:s,bytes:l}}var He={WH:`#3D6FC4`,BL:`#C98A2A`,HI:`#9C3F86`,AM:`#3D9A6B`},Ue={WH:`White`,BL:`Black`,HI:`Hispanic`,AM:`American Indian / Alaska Native`},We={WH:`White`,BL:`Black`,HI:`Hispanic`,AM:`AI/AN`},Ge=`var(--cv-ink)`,Ke=`var(--cv-navy-600)`;function qe(e){return He[e]||`var(--cv-ink-4)`}function Je(e,t){let n=Ue[e]||e;return t?`${n} ${t===`F`?`Female`:`Male`}`:n}function Ye(e,t){let n=We[e]||e;return t?`${n} ${t}`:n}function Xe(e,t){let n=Ue[e]||e;return t?`${n} ${t===`F`?`female`:`male`}`:n}function Ze(e){return e?.length?e.reduce((e,t)=>e+(t.observed_arrests||0),0)<20:!1}function Qe(e,t){return!e?.length||!(t>0)?[]:e.map(e=>e/t*1e3)}function $e(e,t){let n={},r={};if(!e)return{counts:n,enroll:r};let i={};for(let t of Object.keys(e)){let[e]=t.split(`_`);(i[e]??=[]).push(t)}for(let[a,o]of Object.entries(i)){let i=o.filter(n=>e[n]?.length>0&&t?.[n]>0);if(i.length===0)continue;let s=e[i[0]].length;if(i.some(t=>e[t].length!==s))continue;let c=Array(s).fill(0);for(let t of i){let n=e[t];for(let e=0;ee+(t?.[n]||0),0)}return{counts:n,enroll:r}}var et=[`WH`,`BL`,`HI`,`AM`],tt=[`F`,`M`];function nt(e,t){let n=(e||[]).filter(e=>et.includes(e.race)&&tt.includes(e.sex)),r=new Map;for(let e of n){let n=t?null:e.sex,i=pe(e.race,n),a=r.get(i)||{key:i,race:e.race,sex:n,enroll:0,observed:0};r.set(i,{...a,enroll:a.enroll+(e.stu_enroll||0),observed:a.observed+(e.observed_arrests||0),modeled:t?null:{median:(e.rate_median||0)*1e3,lower:(e.rate_lower||0)*1e3,upper:(e.rate_upper||0)*1e3}})}return[...r.values()].map(e=>({...e,label:Je(e.race,e.sex),shortLabel:Ye(e.race,e.sex),sentenceLabel:Xe(e.race,e.sex),rate:e.enroll>0?e.observed/e.enroll*1e3:0})).sort((e,t)=>t.observed-e.observed||t.enroll-e.enroll||e.key.localeCompare(t.key))}function rt(e){if(!e?.length)return[];let t=e.filter(e=>e.observed>0);return t.length>0?t.map(e=>e.key):[...e].sort((e,t)=>t.enroll-e.enroll).slice(0,2).map(e=>e.key)}function it(e){return!e||e.length<2?null:[e[0].key,e[1].key]}function at(e){let t={};for(let n of e||[])!et.includes(n.race)||!tt.includes(n.sex)||(t[pe(n.race,n.sex)]=n.stu_enroll||0);return t}function ot(e,t,n){return e?n?$e(e,t):{counts:e,enroll:t||{}}:{counts:{},enroll:{}}}function st({items:e}){return(0,x.jsx)(`div`,{style:{display:`flex`,flexWrap:`wrap`,gap:`1.25rem`,marginTop:`var(--space-2)`},children:e.map(e=>(0,x.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`0.4rem`},children:[(0,x.jsx)(ct,{shape:e.shape,color:e.color}),(0,x.jsx)(`span`,{style:{fontSize:`0.8rem`,color:`var(--cv-ink-2)`},children:e.label})]},e.label))})}function ct({shape:e,color:t}){return e===`diamond`?(0,x.jsx)(`span`,{style:{display:`inline-block`,width:`9px`,height:`9px`,background:t,transform:`rotate(45deg)`,flexShrink:0}}):e===`line`?(0,x.jsx)(`span`,{style:{display:`inline-block`,width:`16px`,height:`3px`,background:t,borderRadius:`2px`,flexShrink:0}}):e===`dot`?(0,x.jsx)(`span`,{style:{display:`inline-block`,width:`10px`,height:`10px`,background:t,borderRadius:`50%`,flexShrink:0}}):(0,x.jsx)(`span`,{style:{display:`inline-block`,width:`11px`,height:`11px`,background:t,borderRadius:`3px`,flexShrink:0}})}function lt(e,t){let n=Math.floor(Math.log10(e)),r=e/10**n,i;return i=t?r<1.5?1:r<3?2:r<7?5:10:r<=1?1:r<=2?2:r<=5?5:10,i*10**n}function ut(e,t=5){if(!(e>0))return{ticks:[0],niceMax:1};let n=lt(lt(e,!1)/(t-1),!0),r=Math.ceil(e/n)*n,i=[];for(let e=0;e<=r+n/2;e+=n)i.push(Math.round(e*1e6)/1e6);return{ticks:i,niceMax:r}}var dt=Object.fromEntries(te.map(e=>[e.model,e.label]));function ft({totals:e,usingExact:t,onRequest:n}){let r={fontSize:`0.75rem`,margin:`var(--space-1) 0 0`};if(t)return(0,x.jsxs)(`p`,{style:{...r,color:`var(--cv-ink-3)`},children:[`The modeled band is the 95% interval of the district `,(0,x.jsx)(`em`,{children:`total`}),`, taken from`,` `,e?.byYear&&Object.values(e.byYear).find(Boolean)?.nDraws?.toLocaleString()||`500`,` `,`posterior predictive draws — summed across student groups within each draw, then summarized across draws.`]});if(e?.status===`loading`)return(0,x.jsx)(`p`,{style:{...r,color:`var(--cv-ink-3)`},children:`Computing the total from posterior draws…`});let i=e?.bytes?(e.bytes/1048576).toFixed(1):null;return(0,x.jsxs)(`p`,{style:{...r,color:`var(--cv-ink-3)`},children:[`The modeled band sums each student group’s own 95% bounds, which is wider than the interval of the total — it is the case where every group lands at its extreme in the same draw.`,` `,e?.status===`error`?(0,x.jsx)(x.Fragment,{children:`The exact total could not be computed from the draws for this district.`}):n&&(0,x.jsxs)(`button`,{type:`button`,onClick:n,style:pt,children:[`Compute the exact interval from the draws`,i?` (${i} MB)`:``]})]})}var pt={background:`none`,border:`none`,padding:0,font:`inherit`,color:`var(--cv-navy-600)`,textDecoration:`underline`,cursor:`pointer`},mt={"15-16":`2015–16`,"17-18":`2017–18`,"21-22":`2021–22`},ht=26,gt=760,_t=300,vt={top:20,right:24,bottom:52,left:56},yt=64;function bt({data:e,modelId:t,totals:n,onRequestExactTotals:r}){let i=n?.status===`ready`?n.byYear:null,a=e.map(e=>{let t=i?.[e.year];return t?{...e,modeledMedian:t.median,modeledLower:t.lower,modeledUpper:t.upper,exact:!0}:{...e,exact:!1}}),o=a.some(e=>e.exact),{ticks:s,niceMax:c}=ut(Math.max(...a.map(e=>Math.max(e.arrests,e.modeledUpper??0)),1)),l=dt[t]||t,u=gt,d=_t,f=vt,p=u-f.left-f.right,m=d-f.top-f.bottom,h=f.left+yt,g=f.left+p-yt,_=e=>h+e/Math.max(a.length-1,1)*(g-h),v=e=>ht+(m-ht)*(1-e/c);return(0,x.jsxs)(`div`,{className:`cv-card`,style:{padding:`var(--space-2)`},children:[(0,x.jsx)(`h3`,{style:{fontSize:`0.85rem`,marginBottom:0,color:`var(--cv-ink-2)`},children:`Arrests over time — observed vs. modeled`}),l&&(0,x.jsxs)(`p`,{style:{fontSize:`0.78rem`,fontStyle:`italic`,color:`var(--cv-ink-3)`,margin:`0.15rem 0 0`},children:[`Modeled intervals use the `,l.toLowerCase(),` model.`]}),(0,x.jsxs)(`svg`,{width:`100%`,viewBox:`0 0 ${u} ${d}`,style:{maxWidth:`100%`,minWidth:`320px`,marginTop:`var(--space-1)`},role:`img`,"aria-label":`Total arrests by CRDC wave, observed against the modeled total`,children:[s.map(e=>{let t=f.top+v(e);return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:f.left,y1:t,x2:f.left+p,y2:t,stroke:`var(--cv-rule)`,strokeWidth:1}),(0,x.jsx)(`text`,{x:f.left-8,y:t+3,textAnchor:`end`,fontSize:`0.62rem`,fill:`var(--cv-ink-3)`,children:e.toLocaleString()})]},`y-${e}`)}),(0,x.jsx)(`line`,{x1:f.left,y1:f.top+v(0),x2:f.left+p,y2:f.top+v(0),stroke:`var(--cv-rule-strong)`,strokeWidth:1}),(0,x.jsx)(`text`,{x:14,y:f.top+m/2,textAnchor:`middle`,fontSize:`0.64rem`,fill:`var(--cv-ink-3)`,transform:`rotate(-90 14 ${f.top+m/2})`,children:`Total arrests`}),a.map((e,t)=>(0,x.jsx)(`text`,{x:_(t),y:f.top+v(0)+18,textAnchor:`middle`,fontSize:`0.62rem`,fill:`var(--cv-ink-2)`,children:mt[e.year]||e.label},e.year)),(0,x.jsx)(`text`,{x:f.left+p/2,y:294,textAnchor:`middle`,fontSize:`0.64rem`,fill:`var(--cv-ink-3)`,children:`CRDC wave`}),a.map((e,t)=>{if(e.modeledMedian==null)return null;let n=_(t),r=f.top+v(e.modeledMedian),i=f.top+v(e.modeledLower??e.modeledMedian),a=f.top+v(e.modeledUpper??e.modeledMedian);return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:n,y1:i,x2:n,y2:a,stroke:Ke,strokeWidth:1.5,strokeLinecap:`round`,opacity:.75}),(0,x.jsx)(`circle`,{cx:n,cy:r,r:3.5,fill:Ke,stroke:`var(--cv-paper)`,strokeWidth:1.25})]},`modeled-${e.year}`)}),a.length>1&&(0,x.jsx)(`polyline`,{points:a.map((e,t)=>`${_(t)},${f.top+v(e.arrests)}`).join(` `),fill:`none`,stroke:`var(--cv-ink)`,strokeWidth:2,strokeLinejoin:`round`,strokeLinecap:`round`}),a.map((e,t)=>{let n=_(t),r=f.top+v(e.arrests),i=e.enroll>0?(e.arrests/(e.enroll/1e3)).toFixed(2):`0.00`;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:n-4.5,y:r-4.5,width:9,height:9,fill:Ge,stroke:`var(--cv-paper)`,strokeWidth:1.5,transform:`rotate(45 ${n} ${r})`}),(0,x.jsxs)(`text`,{x:n,y:r-13,textAnchor:`middle`,fontSize:`0.66rem`,fontWeight:700,fill:`var(--cv-ink)`,stroke:`var(--cv-paper)`,strokeWidth:3.5,strokeLinejoin:`round`,paintOrder:`stroke`,children:[i,(0,x.jsx)(`tspan`,{fontSize:`0.58rem`,fontWeight:500,fill:`var(--cv-ink-3)`,children:` per 1,000`})]})]},e.year)})]}),(0,x.jsx)(st,{items:[{shape:`diamond`,color:Ge,label:`Observed`},{shape:`dot`,color:Ke,label:`Modeled (median + 95% interval)`}]}),(0,x.jsx)(ft,{totals:n,usingExact:o,onRequest:r}),(0,x.jsx)(`p`,{style:{fontSize:`0.75rem`,color:`var(--cv-ink-3)`,marginTop:`var(--space-1)`},children:`Rate per 1,000 students labeled above each observed point. Data from CRDC waves 2015–16 through 2021–22.`})]})}function j(e){return function(){return e}}var xt=Math.PI,St=2*xt,Ct=1e-6,wt=St-Ct;function Tt(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw Error(`invalid digits: ${e}`);if(t>15)return Tt;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;tCt){if(!(Math.abs(u*s-c*l)>Ct)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((xt-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Ct&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>Ct||Math.abs(this._y1-l)>Ct)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%St+St),d>wt?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>Ct&&this._append`A${n},${n},0,${+(d>=xt)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};Dt.prototype;function Ot(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new Dt(t)}Array.prototype.slice;function kt(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function At(e){this._context=e}At.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function jt(e){return new At(e)}function Mt(e){return e[0]}function Nt(e){return e[1]}function Pt(e,t){var n=j(!0),r=null,i=jt,a=null,o=Ot(s);e=typeof e==`function`?e:e===void 0?Mt:j(e),t=typeof t==`function`?t:t===void 0?Nt:j(t);function s(s){var c,l=(s=kt(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return Pt().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:j(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:j(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:j(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:j(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:j(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:j(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:j(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}function It(e){return e<0?-1:1}function Lt(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(It(a)+It(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Rt(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function zt(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function Bt(e){this._context=e}Bt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:zt(this,this._t0,Rt(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,zt(this,Rt(this,n=Lt(this,e,t)),n);break;default:zt(this,this._t0,n=Lt(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(Bt.prototype).point=function(e,t){Bt.prototype.point.call(this,t,e)};function Vt(e){return new Bt(e)}function Ht(e,t){this._context=e,this._t=t}Ht.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function Ut(e){return new Ht(e,.5)}function Wt(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function Gt(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function Kt(e){let t,n,r;e.length===2?(t=e===Wt||e===Gt?e:qt,n=e,r=e):(t=Wt,n=(t,n)=>Wt(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i>>1;n(e[t],r)<0?i=t+1:a=t}while(i>>1;n(e[t],r)<=0?i=t+1:a=t}while(in&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function qt(){return 0}function Jt(e){return e===null?NaN:+e}var Yt=Kt(Wt),Xt=Yt.right;Yt.left,Kt(Jt).center;var Zt=Math.sqrt(50),Qt=Math.sqrt(10),$t=Math.sqrt(2);function en(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=Zt?10:a>=Qt?5:a>=$t?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/lt&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*lt&&--c),c0))return[];if(e===t)return[e];let r=t=i))return[];let s=a-i+1,c=Array(s);if(r){if(o<0)for(let e=0;e>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?On(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?On(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=hn.exec(e))?new jn(t[1],t[2],t[3],1):(t=gn.exec(e))?new jn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=_n.exec(e))?On(t[1],t[2],t[3],t[4]):(t=vn.exec(e))?On(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=yn.exec(e))?Rn(t[1],t[2]/100,t[3]/100,1):(t=bn.exec(e))?Rn(t[1],t[2]/100,t[3]/100,t[4]):xn.hasOwnProperty(e)?Dn(xn[e]):e===`transparent`?new jn(NaN,NaN,NaN,0):null}function Dn(e){return new jn(e>>16&255,e>>8&255,e&255,1)}function On(e,t,n,r){return r<=0&&(e=t=n=NaN),new jn(e,t,n,r)}function kn(e){return e instanceof cn||(e=En(e)),e?(e=e.rgb(),new jn(e.r,e.g,e.b,e.opacity)):new jn}function An(e,t,n,r){return arguments.length===1?kn(e):new jn(e,t,n,r??1)}function jn(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}on(jn,An,sn(cn,{brighter(e){return e=e==null?un:un**+e,new jn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ln:ln**+e,new jn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new jn(In(this.r),In(this.g),In(this.b),Fn(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Mn,formatHex:Mn,formatHex8:Nn,formatRgb:Pn,toString:Pn}));function Mn(){return`#${Ln(this.r)}${Ln(this.g)}${Ln(this.b)}`}function Nn(){return`#${Ln(this.r)}${Ln(this.g)}${Ln(this.b)}${Ln((isNaN(this.opacity)?1:this.opacity)*255)}`}function Pn(){let e=Fn(this.opacity);return`${e===1?`rgb(`:`rgba(`}${In(this.r)}, ${In(this.g)}, ${In(this.b)}${e===1?`)`:`, ${e})`}`}function Fn(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function In(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ln(e){return e=In(e),(e<16?`0`:``)+e.toString(16)}function Rn(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Vn(e,t,n,r)}function zn(e){if(e instanceof Vn)return new Vn(e.h,e.s,e.l,e.opacity);if(e instanceof cn||(e=En(e)),!e)return new Vn;if(e instanceof Vn)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n0&&c<1?0:o,new Vn(o,s,c,e.opacity)}function Bn(e,t,n,r){return arguments.length===1?zn(e):new Vn(e,t,n,r??1)}function Vn(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}on(Vn,Bn,sn(cn,{brighter(e){return e=e==null?un:un**+e,new Vn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ln:ln**+e,new Vn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new jn(Wn(e>=240?e-240:e+120,i,r),Wn(e,i,r),Wn(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Vn(Hn(this.h),Un(this.s),Un(this.l),Fn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=Fn(this.opacity);return`${e===1?`hsl(`:`hsla(`}${Hn(this.h)}, ${Un(this.s)*100}%, ${Un(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function Hn(e){return e=(e||0)%360,e<0?e+360:e}function Un(e){return Math.max(0,Math.min(1,e||0))}function Wn(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var Gn=e=>()=>e;function Kn(e,t){return function(n){return e+n*t}}function qn(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function Jn(e){return(e=+e)==1?Yn:function(t,n){return n-t?qn(t,n,e):Gn(isNaN(t)?n:t)}}function Yn(e,t){var n=t-e;return n?Kn(e,n):Gn(isNaN(e)?t:e)}var Xn=(function e(t){var n=Jn(t);function r(e,t){var r=n((e=An(e)).r,(t=An(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Yn(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Zn(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;in&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:tr(r,i)})),n=ir.lastIndex;return nt&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function gr(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i2?_r:gr,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),tr))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,dr),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=lr,u()},d.clamp=function(e){return arguments.length?(o=e?!0:pr,u()):o!==pr},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function br(){return yr()(pr,pr)}function xr(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function Sr(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Cr(e){return e=Sr(Math.abs(e)),e?e[1]:NaN}function wr(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function Tr(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var Er=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Dr(e){if(!(t=Er.exec(e)))throw Error(`invalid format: `+e);var t;return new Or({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Dr.prototype=Or.prototype;function Or(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}Or.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function kr(e){out:for(var t=e.length,n=1,r=-1,i;n0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var Ar;function jr(e,t){var n=Sr(e,t);if(!n)return Ar=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(Ar=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+Sr(e,Math.max(0,t+a-1))[0]}function Mr(e,t){var n=Sr(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var Nr={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:xr,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Mr(e*100,t),r:Mr,s:jr,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Pr(e){return e}var Fr=Array.prototype.map,Ir=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function Lr(e){var t=e.grouping===void 0||e.thousands===void 0?Pr:wr(Fr.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?Pr:Tr(Fr.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=Dr(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):Nr[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),ee=Nr[y],S=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function C(e){var n=b,r=x,o,l,p;if(y===`c`)r=ee(e)+r,e=``;else{e=+e;var C=e<0||1/e<0;if(e=isNaN(e)?c:ee(Math.abs(e),_),v&&(e=kr(e)),C&&+e==0&&f!==`+`&&(C=!1),n=(C?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&Ar!==void 0?Ir[8+Ar/3]:``)+r+(C&&f===`(`?`)`:``),S){for(o=-1,l=e.length;++op||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var w=n.length+e.length+r.length,T=w>1)+n+e+r+T.slice(w);break;default:e=T+n+e+r}return a(e)}return C.toString=function(){return e+``},C}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(Cr(t)/3)))*3,r=10**-n,i=l((e=Dr(e),e.type=`f`,e),{suffix:Ir[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var Rr,zr,Br;Vr({thousands:`,`,grouping:[3],currency:[`$`,``]});function Vr(e){return Rr=Lr(e),zr=Rr.format,Br=Rr.formatPrefix,Rr}function Hr(e){return Math.max(0,-Cr(Math.abs(e)))}function Ur(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Cr(t)/3)))*3-Cr(Math.abs(e)))}function Wr(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Cr(t)-Cr(e))+1}function Gr(e,t,n,r){var i=rn(e,t,n),a;switch(r=Dr(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=Ur(i,o))&&(r.precision=a),Br(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=Wr(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=Hr(i))&&(r.precision=a-(r.type===`%`)*2)}return zr(r)}function Kr(e){var t=e.domain;return e.ticks=function(e){var n=t();return tn(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return Gr(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s0;){if(l=nn(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function qr(){var e=br();return e.copy=function(){return vr(e,qr())},an.apply(e,arguments),Kr(e)}function Jr(e,t,n={}){let r=Qe(e,t);return r.length?Yr(r,n,1e3/t):null}function Yr(e,t={},n=0){if(!e?.length)return null;let{min:r=0,max:i,n:a=60}=t,o=new Map;for(let t of e){let e=Math.round(t*1e9)/1e9;o.set(e,(o.get(e)||0)+1)}if(o.size<=12){let t=e.length,a=[...o.entries()].map(([e,n])=>({x:e,y:n/t})).sort((e,t)=>e.x-t.x);return{kind:`mass`,points:a,maxY:Math.max(...a.map(e=>e.y)),step:n>0?n:Xr(a,i,r)}}let s=Se(e,{min:r,max:i,n:a});return{kind:`kde`,points:s,maxY:Math.max(...s.map(e=>e.y)),step:0}}function Xr(e,t,n){let r=1/0;for(let t=1;t0&&nn?t-n:1)/40}function Zr(e,t,n,r){return!e?.length||!n?.length||e.length!==n.length||!(t>0)||!(r>0)?[]:e.map((e,i)=>e/t*1e3-n[i]/r*1e3)}function Qr(e){return e?.length?{n:e.length,prGreater:e.filter(e=>e>0).length/e.length,median:ye(e,.5),lower80:ye(e,.1),upper80:ye(e,.9),lower95:ye(e,.025),upper95:ye(e,.975)}:null}var $r=`#22406A`,ei=`#F2EDE4`,ti=`#C25311`,ni=24,ri=760,ii=250,ai={top:18,right:22,bottom:46,left:22};function oi({groups:e,enrollByGroup:t,byModel:n,selectedModel:r,status:i,pooled:a,pair:o,onPairChange:s}){let{counts:c,enroll:l}=(0,b.useMemo)(()=>ot(n?.[r]?.counts,t,a),[n,r,t,a]),u=(0,b.useMemo)(()=>e.filter(e=>c?.[e.key]?.length>0&&l?.[e.key]>0),[e,c,l]),[d,f]=o||[],p=u.find(e=>e.key===d),m=u.find(e=>e.key===f),h=(0,b.useMemo)(()=>p&&m?Zr(c[p.key],l[p.key],c[m.key],l[m.key]):[],[p,m,c,l]),g=(0,b.useMemo)(()=>Qr(h),[h]);return(0,x.jsxs)(`div`,{className:`cv-card`,style:{padding:`var(--space-2)`},children:[(0,x.jsxs)(`div`,{style:bi,children:[(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`h3`,{style:yi,children:`Model estimated differences`}),(0,x.jsx)(`p`,{style:xi,children:`How much higher is one group’s modelled arrest rate than another’s, and how sure is the model of the direction?`})]}),u.length>=2&&(0,x.jsx)(fi,{comparable:u,keyA:d,keyB:f,onPairChange:s})]}),i===`loading`?(0,x.jsx)(`p`,{style:Si,children:`Loading posterior draws…`}):u.length<2?(0,x.jsx)(mi,{reason:u.length===1?`Only ${u[0].label} has a usable set of posterior draws in this district, so there is no second group to compare it against.`:`No student group in this district has a usable set of posterior draws, so no difference can be computed. This is usually because the district is absent from the published draw shard for this model.`}):!p||!m||p.key===m.key?(0,x.jsx)(mi,{reason:`Pick two different student groups to compare.`}):g?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(si,{summary:g,groupA:p,groupB:m}),(0,x.jsx)(ci,{deltas:h,summary:g,groupA:p,groupB:m}),(0,x.jsxs)(`p`,{style:Ci,children:[`Δ is computed at each of `,g.n.toLocaleString(),` posterior predictive draws as`,` `,p.label,` minus `,m.label,`, per 1,000 students. The dashed line marks no difference. Bars beneath the curve are the 80% and 95% intervals around the median Δ.`]})]}):(0,x.jsx)(mi,{reason:`${p.label} and ${m.label} do not have matching draw sets in this model specification, so their difference cannot be computed draw by draw.`})]})}function si({summary:e,groupA:t,groupB:n}){let r=e.prGreater*100,i=e.median>=0?t:n,a=e.median>=0?n:t,o=e.median>=0?r:100-r;return(0,x.jsxs)(`div`,{style:wi,children:[(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`span`,{style:Ti,children:gi(r)}),(0,x.jsx)(`span`,{style:Ei,children:`Pr(Δ > 0)`})]}),(0,x.jsxs)(`p`,{style:{margin:0,fontSize:`0.88rem`,maxWidth:`38rem`},children:[`In `,gi(o),` of posterior predictive draws, the `,i.sentenceLabel,` arrest rate exceeds the `,a.sentenceLabel,` rate. The median difference is`,` `,(0,x.jsx)(`strong`,{children:_i(e.median)}),` per 1,000 students.`]})]})}function ci({deltas:e,summary:t,groupA:n,groupB:r}){let i=ri-ai.left-ai.right,a=ii-ai.bottom,{ticks:o,min:s,max:c}=(0,b.useMemo)(()=>li(t),[t]),l=qr().domain([s,c]).range([ai.left,ai.left+i]),u=(0,b.useMemo)(()=>Yr(e,{min:s,max:c,n:80}),[e,s,c]);if(!u)return null;let d=qr().domain([0,u.maxY||1]).range([a,ai.top]),f=u.kind===`mass`?di(u.points,u.step,s,c):u.points,p=Ft().x(e=>l(hi(e.x,s,c))).y0(a).y1(e=>d(e.y)).curve(u.kind===`mass`?Ut:Vt),m=`delta-gradient-${n.key}-${r.key}`;return(0,x.jsx)(`div`,{style:{overflowX:`auto`},children:(0,x.jsxs)(`svg`,{width:`100%`,viewBox:`0 0 ${ri} ${ii}`,style:{maxWidth:`100%`,minWidth:`320px`},role:`img`,"aria-label":`Posterior distribution of the difference in arrest rate between ${n.label} and ${r.label}`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`linearGradient`,{id:m,x1:`0`,y1:`0`,x2:`1`,y2:`0`,children:ui(s,c).map(e=>(0,x.jsx)(`stop`,{offset:`${e.offset*100}%`,stopColor:e.color},e.offset))})}),o.map(e=>(0,x.jsx)(`line`,{x1:l(e),y1:ai.top,x2:l(e),y2:a,stroke:`var(--cv-rule)`,strokeWidth:1},e)),(0,x.jsx)(`path`,{d:p(f),fill:`url(#${m})`,opacity:.85}),(0,x.jsx)(`path`,{d:p.lineY1()(f),fill:`none`,stroke:`var(--cv-ink-2)`,strokeWidth:1.5,strokeLinejoin:`round`}),(0,x.jsx)(`line`,{x1:l(0),y1:ai.top-4,x2:l(0),y2:a+6,stroke:`var(--cv-danger)`,strokeWidth:2,strokeDasharray:`5 4`}),(0,x.jsx)(`text`,{x:l(0),y:ai.top-7,textAnchor:`middle`,fontSize:`0.62rem`,fill:`var(--cv-danger)`,children:`no difference`}),(0,x.jsx)(`line`,{x1:ai.left,y1:a,x2:ai.left+i,y2:a,stroke:`var(--cv-rule-strong)`,strokeWidth:1}),(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:l(hi(t.lower95,s,c)),y1:a+13,x2:l(hi(t.upper95,s,c)),y2:a+13,stroke:`var(--cv-ink-2)`,strokeWidth:1.5,strokeLinecap:`round`}),(0,x.jsx)(`line`,{x1:l(hi(t.lower80,s,c)),y1:a+13,x2:l(hi(t.upper80,s,c)),y2:a+13,stroke:`var(--cv-ink)`,strokeWidth:4,strokeLinecap:`round`}),(0,x.jsx)(`circle`,{cx:l(hi(t.median,s,c)),cy:a+13,r:3.5,fill:`var(--cv-paper)`,stroke:`var(--cv-ink)`,strokeWidth:2})]}),o.map(e=>(0,x.jsx)(`text`,{x:l(e),y:a+32,textAnchor:`middle`,fontSize:`0.62rem`,fill:`var(--cv-ink-3)`,children:vi(e)},e)),(0,x.jsxs)(`text`,{x:ai.left,y:246,textAnchor:`start`,fontSize:`0.62rem`,fill:`var(--cv-ink-3)`,children:[`← `,r.shortLabel,` higher`]}),(0,x.jsxs)(`text`,{x:ai.left+i,y:246,textAnchor:`end`,fontSize:`0.62rem`,fill:`var(--cv-ink-3)`,children:[n.shortLabel,` higher →`]})]})})}function li(e){let{niceMax:t}=ut(Math.max(Math.abs(e.lower95),Math.abs(e.upper95),Math.abs(e.median),1e-6)*1.25,4),n=t/4,r=[];for(let e=-4;e<=4;e++)r.push(Math.round(n*e*1e6)/1e6);return{ticks:r,min:-t,max:t}}function ui(e,t){let n=(0-e)/(t-e),r=Xn($r,ei),i=Xn(ei,ti),a=[];for(let e=0;e<=ni;e++){let t=e/ni,o=t<=n?r(n>0?t/n:1):i(n<1?(t-n)/(1-n):0);a.push({offset:t,color:o})}return a}function di(e,t,n,r){let i=Math.max(t,1e-6)/2;return[{x:Math.max(e[0].x-i,n),y:0},...e,{x:Math.min(e[e.length-1].x+i,r),y:0}]}function fi({comparable:e,keyA:t,keyB:n,onPairChange:r}){return(0,x.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`0.4rem`,flexWrap:`wrap`},children:[(0,x.jsx)(pi,{label:`Compare`,value:t,options:e,onChange:e=>r([e,n])}),(0,x.jsx)(`span`,{style:{fontSize:`0.8rem`,color:`var(--cv-ink-3)`},children:`against`}),(0,x.jsx)(pi,{label:`against`,value:n,options:e,onChange:e=>r([t,e])})]})}function pi({label:e,value:t,options:n,onChange:r}){return(0,x.jsx)(`select`,{"aria-label":e,value:t||``,onChange:e=>r(e.target.value),style:{padding:`0.25rem 0.4rem`,fontFamily:`var(--font-sans)`,fontSize:`0.78rem`},children:n.map(e=>(0,x.jsx)(`option`,{value:e.key,children:e.label},e.key))})}function mi({reason:e}){return(0,x.jsx)(`div`,{style:Di,children:(0,x.jsx)(`p`,{style:{margin:0,fontSize:`0.85rem`},children:e})})}function hi(e,t,n){return Math.min(Math.max(e,t),n)}function gi(e){return`${e.toLocaleString(void 0,{minimumFractionDigits:1,maximumFractionDigits:1})}%`}function _i(e){return`${e>0?`+`:``}${e.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})}`}function vi(e){if(e===0)return`0`;let t=Math.abs(e);return e.toLocaleString(void 0,{minimumFractionDigits:t<1?2:+(t<10),maximumFractionDigits:t<1?2:+(t<10)})}var yi={fontSize:`0.85rem`,marginBottom:`var(--space-1)`,color:`var(--cv-ink-2)`},bi={display:`flex`,justifyContent:`space-between`,alignItems:`flex-start`,flexWrap:`wrap`,gap:`var(--space-2)`},xi={fontSize:`0.8rem`,color:`var(--cv-ink-3)`,margin:0,maxWidth:`32rem`},Si={color:`var(--cv-ink-3)`,fontSize:`0.85rem`,padding:`var(--space-2) 0`},Ci={fontSize:`0.74rem`,color:`var(--cv-ink-3)`,margin:`0.4rem 0 0`,lineHeight:1.5},wi={display:`flex`,alignItems:`center`,gap:`var(--space-3)`,flexWrap:`wrap`,padding:`var(--space-2) 0`,borderTop:`3px double var(--cv-ink)`,borderBottom:`1px solid var(--cv-rule)`,margin:`var(--space-2) 0`},Ti={fontFamily:`'Source Serif 4', Georgia, serif`,fontWeight:700,fontSize:`2.75rem`,lineHeight:1,letterSpacing:`-0.02em`,color:`var(--cv-ink)`,fontVariantNumeric:`tabular-nums`,display:`block`},Ei={fontSize:`0.72rem`,fontWeight:600,textTransform:`uppercase`,letterSpacing:`0.08em`,color:`var(--cv-ink-3)`,display:`block`,marginTop:`0.3rem`},Di={background:`var(--cv-paper-2)`,border:`1px solid var(--cv-rule)`,borderLeft:`3px solid var(--cv-ink-4)`,borderRadius:`var(--radius-md)`,padding:`var(--space-2)`,marginTop:`var(--space-2)`,color:`var(--cv-ink-2)`},Oi=Math.sqrt(2*Math.PI),ki=.001;function Ai(e){return Math.exp(-.5*e*e)/Oi}function ji(e){let t=e<0?-1:1,n=Math.abs(e),r=1/(1+.3275911*n);return t*(1-((((1.061405429*r+-1.453152027)*r+1.421413741)*r+-.284496736)*r+.254829592)*r*Math.exp(-n*n))}function Mi(e){return .5*(1+ji(e/Math.SQRT2))}function Ni(e){let t=[-39.69683028665376,220.9460984245205,-275.9285104469687,138.357751867269,-30.66479806614716,2.506628277459239],n=[-54.47609879822406,161.5858368580409,-155.6989798598866,66.80131188771972,-13.28068155288572],r=[-.007784894002430293,-.3223964580411365,-2.400758277161838,-2.549732539343734,4.374664141464968,2.938163982698783],i=[.007784695709041462,.3224671290700398,2.445134137142996,3.754408661907416];if(e<.02425){let t=Math.sqrt(-2*Math.log(e));return(((((r[0]*t+r[1])*t+r[2])*t+r[3])*t+r[4])*t+r[5])/((((i[0]*t+i[1])*t+i[2])*t+i[3])*t+1)}if(e<=.97575){let r=e-.5,i=r*r;return(((((t[0]*i+t[1])*i+t[2])*i+t[3])*i+t[4])*i+t[5])*r/(((((n[0]*i+n[1])*i+n[2])*i+n[3])*i+n[4])*i+1)}let a=Math.sqrt(-2*Math.log(1-e));return-(((((r[0]*a+r[1])*a+r[2])*a+r[3])*a+r[4])*a+r[5])/((((i[0]*a+i[1])*a+i[2])*a+i[3])*a+1)}function Pi({median:e,lower:t,upper:n,intervalMass:r=.95,floorAtZero:i=!0}){let a=Ni((1+r)/2),o=(e-t)/a,s=(n-e)/a;o>0||(o=Math.max(s*.15,ki)),s>0||(s=Math.max(o*.15,ki)),o=Math.max(o,ki),s=Math.max(s,ki);function c(t){if(i&&t<0)return 0;let n=t0){let n=e+r,i=t+2*r,a=n/i,o=Math.sqrt(a/i*(1-a));return{upper:(a+r*o)*i,lower:(a-r*o)*i,sd:o*i,se:o,phat:a}}let i=-Math.log(1-n),a=(i+0)/2;return{upper:i,lower:0,sd:a/n,se:0,phat:a}}var Ri=.995,zi=1.15;function Bi(e,t){let n=[];for(let t of e||[])t?.length&&n.push(ye(t,Ri));for(let e of t||[])Number.isFinite(e)&&n.push(e);let r=n.length?Math.max(...n):0,i=Math.max(r,1)*zi,{ticks:a,niceMax:o}=ut(Math.min(i,100),5);return{ticks:a,niceMax:o,clipped:r>o}}var M=.62;function N(e,t){return(e||``).length*t*M}function Vi(e,{min:t,max:n,fontPx:r,gap:i=6}={}){if(!e?.length)return{labels:[],lanes:0};let a=e.map(e=>{let i=N(e.text,r),a=i/2,o=`middle`;e.x-an&&(o=`end`);let s=e.x;s=o===`start`?Math.max(t,Math.min(s,n-i)):o===`end`?Math.min(n,Math.max(s,t+i)):Math.min(Math.max(s,t+a),n-a);let c=o===`start`?s:o===`end`?s-i:s-a;return{...e,width:i,anchor:o,x:s,left:c,right:c+i,lane:0}}),o=[];for(let e of[...a].sort((e,t)=>e.left-t.left)){let t=0;for(;te.left;)t++;o[t]=e.right,e.lane=t}return{labels:a,lanes:o.length}}function Hi(){return(0,x.jsx)(`p`,{style:{fontSize:`0.78rem`,fontStyle:`italic`,color:`var(--cv-ink-3)`,margin:`0.25rem 0 0`},children:Ii})}var Ui=.95,Wi=.4,Gi=2,Ki=760,qi={top:22,right:18,bottom:34,left:16},Ji=118,Yi=74,Xi=26,Zi=10.4,Qi=9.3,$i=14,ea=12,ta=8,na=13;function ra({groups:e,selectedKeys:t,enrollByGroup:n,byModel:r,status:i,nDraws:a,selectedModel:o,onSelectModel:s,compareAll:c,onCompareAllChange:l,pooled:u}){let d=(0,b.useMemo)(()=>c?te.map(e=>e.model):[o],[c,o]),f=(0,b.useMemo)(()=>e.filter(e=>t.includes(e.key)),[e,t]),p=(0,b.useMemo)(()=>{let e={};for(let t of f){if(!(t.enroll>0))continue;let n=Li(t.observed,t.enroll,Ui);e[t.key]={lower:Math.max(0,n.lower/t.enroll*1e3),upper:n.upper/t.enroll*1e3,point:t.observed/t.enroll*1e3}}return e},[f]),m=(0,b.useMemo)(()=>{let e={};for(let t of d)e[t]=ot(r?.[t]?.counts,n,u);return e},[d,r,n,u]),h=(0,b.useMemo)(()=>{let e=[];for(let t of d){let{counts:n,enroll:r}=m[t]||{};for(let t of f)e.push(Qe(n?.[t.key],r?.[t.key]))}return Bi(e,Object.values(p).map(e=>e.upper))},[d,m,f,p]),g=(0,b.useMemo)(()=>{let e={};for(let t of d){let{counts:n,enroll:r}=m[t]||{};e[t]=f.map(e=>({group:e,...ia(e,n?.[e.key],r?.[e.key],h.niceMax)}))}return e},[d,m,f,h.niceMax]),_=Object.values(g).flat().some(e=>e.source!==`draws`),v=i===`loading`,y=u?[{sex:null,label:null}]:[{sex:`F`,label:`Female students`},{sex:`M`,label:`Male students`}];return(0,x.jsxs)(`div`,{className:`cv-card`,style:{padding:`var(--space-2)`},children:[(0,x.jsxs)(`div`,{style:pa,children:[(0,x.jsxs)(`div`,{children:[(0,x.jsx)(`h3`,{style:P,children:`Arrest rate probability density`}),(0,x.jsxs)(`p`,{style:ma,children:[`Each curve is one student group’s modelled arrest rate. The bar beneath each panel is what was actually reported, with its `,Math.round(Ui*100),`% Agresti–Coull interval.`]})]}),(0,x.jsx)(da,{selectedModel:o,onSelectModel:s,compareAll:c,onCompareAllChange:l,loading:v})]}),!v&&_&&(0,x.jsx)(Hi,{}),f.length===0?(0,x.jsx)(`p`,{style:ga,children:`No student groups are selected. Check a group in the table above to show its distribution.`}):v?(0,x.jsx)(`p`,{style:ga,children:c?`Loading posterior draws for all four specifications…`:`Loading posterior draws…`}):y.map(e=>(0,x.jsx)(oa,{label:e.label,sex:e.sex,domain:h,rowsByModel:g,activeModels:d,acByKey:p,compareAll:c},e.sex||`pooled`)),h.clipped&&(0,x.jsxs)(`p`,{style:_a,children:[`The axis stops at `,h.niceMax,` per 1,000; one or more groups extend beyond it. Those curves and intervals are cut off at the right edge, marked ›.`]}),(0,x.jsxs)(`p`,{style:va,children:[`Densities are drawn from `,a>0?a.toLocaleString():`500`,` posterior predictive draws per group. Point ranges are the observed rate with its`,` `,Math.round(Ui*100),`% Agresti–Coull interval. Source: CRDC School Arrest Rate API (Knowles & Miller 2025), 2021–22 Civil Rights Data Collection.`]})]})}function ia(e,t,n,r){let i={min:0,max:r,n:60},a=Jr(t,n,i);if(a)return{profile:a,source:`draws`};if(!e.modeled||!(e.modeled.upper>0))return{profile:null,source:`none`};let o=Fi(Pi({...e.modeled,intervalMass:.95}),i);return{profile:{kind:`kde`,points:o,maxY:Math.max(...o.map(e=>e.y)),step:0},source:`approx`}}function aa(e,t,n){let r=e.points.reduce((e,t)=>t.y>e.y?t:e,e.points[0]);return t(Math.min(r.x,n))}function oa({label:e,sex:t,domain:n,rowsByModel:r,activeModels:i,acByKey:a,compareAll:o}){let s=i.map(e=>({model:e,label:te.find(t=>t.model===e)?.label||e,entries:(r[e]||[]).filter(e=>!t||e.group.sex===t)})),c=s.some(e=>e.entries.some(e=>e.profile)),l=o?Yi:Ji,u=Ki-qi.left-qi.right,d=o?Qi:Zi,f=o?ea:$i,p=qr().domain([0,n.niceMax]).range([qi.left,qi.left+u]),m=qi.top,h=s.map(e=>{let t=e.entries.filter(e=>e.profile),{labels:r,lanes:i}=Vi(t.map(e=>({key:e.group.key,x:aa(e.profile,p,n.niceMax),text:e.group.shortLabel,color:qe(e.group.race)})),{min:qi.left,max:qi.left+u,fontPx:d,gap:ta}),a=o?na:0,s=a+(i>0?i*f+3:0),c=m;return m+=s+l+Xi,{row:e,drawable:t,labels:r,band:s,specLabel:a,top:c,lineHeight:f,fontPx:d}}),g=m,_=g+qi.bottom;return(0,x.jsxs)(`figure`,{style:{margin:`0 0 var(--space-2)`},children:[e&&(0,x.jsx)(`figcaption`,{style:ha,children:e}),c?(0,x.jsx)(`div`,{style:{overflowX:`auto`},children:(0,x.jsxs)(`svg`,{width:`100%`,viewBox:`0 0 ${Ki} ${_}`,style:{maxWidth:`100%`,minWidth:`320px`},role:`img`,"aria-label":`Modelled arrest rate distributions${e?` for ${e.toLowerCase()}`:``}`,children:[n.ticks.map(e=>(0,x.jsx)(`line`,{x1:p(e),y1:qi.top,x2:p(e),y2:g,stroke:`var(--cv-rule)`,strokeWidth:1},e)),h.map(e=>(0,x.jsx)(sa,{placed:e,compareAll:o,x:p,rowHeight:l,acByKey:a,niceMax:n.niceMax},e.row.model)),n.ticks.map(e=>(0,x.jsx)(`text`,{x:p(e),y:g+15,textAnchor:`middle`,fontSize:`0.62rem`,fill:`var(--cv-ink-3)`,children:e},e)),(0,x.jsx)(`text`,{x:qi.left+u/2,y:_-4,textAnchor:`middle`,fontSize:`0.64rem`,fill:`var(--cv-ink-3)`,children:`Arrests per 1,000 students`})]})}):(0,x.jsx)(`p`,{style:ga,children:`No modelled distribution is available for these groups.`})]})}function sa({placed:e,compareAll:t,x:n,rowHeight:r,acByKey:i,niceMax:a}){let{row:o,drawable:s,labels:c,band:l,specLabel:u,top:d,lineHeight:f,fontPx:p}=e,m=d+l+r,h=r*.86;return(0,x.jsxs)(`g`,{children:[t&&(0,x.jsx)(`text`,{x:qi.left+2,y:d+10,fontSize:`0.62rem`,fontWeight:700,fill:`var(--cv-ink-2)`,children:o.label}),c.map(e=>(0,x.jsx)(`text`,{x:e.x,y:d+u+e.lane*f+p,textAnchor:e.anchor,fontSize:`${p}px`,fontWeight:700,fill:e.color,stroke:`var(--cv-paper)`,strokeWidth:3,strokeLinejoin:`round`,paintOrder:`stroke`,children:e.text},e.key)),s.map(e=>(0,x.jsx)(ca,{entry:e,x:n,baselineY:m,peakHeight:h,niceMax:a},e.group.key)),(0,x.jsx)(`line`,{x1:qi.left,y1:m,x2:n(a),y2:m,stroke:`var(--cv-rule-strong)`,strokeWidth:1}),o.entries.map((e,t)=>{let r=i[e.group.key];return r?(0,x.jsx)(ua,{ac:r,color:qe(e.group.race),x:n,y:m+8+t%3*5,niceMax:a},e.group.key):null})]})}function ca({entry:e,x:t,baselineY:n,peakHeight:r,niceMax:i}){let{profile:a,group:o}=e,s=qe(o.race),c=qr().domain([0,a.maxY||1]).range([n,n-r]),l=a.kind===`mass`?la(a.points,a.step,i):a.points,u=Ft().x(e=>t(Math.min(e.x,i))).y0(n).y1(e=>c(e.y)).curve(a.kind===`mass`?Ut:Vt);return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`path`,{d:u(l),fill:s,opacity:Wi}),(0,x.jsx)(`path`,{d:u.lineY1()(l),fill:`none`,stroke:s,strokeWidth:Gi,strokeLinejoin:`round`})]})}function la(e,t,n){let r=Math.max(t,1e-6)/2,i=e[0],a=e[e.length-1];return[{x:Math.max(0,i.x-r),y:0},...e,{x:Math.min(a.x+r,n),y:0}]}function ua({ac:e,color:t,x:n,y:r,niceMax:i}){let a=Math.min(e.lower,i),o=Math.min(e.upper,i),s=Math.min(e.point,i),c=e.upper>i;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:n(a),y1:r,x2:n(o),y2:r,stroke:t,strokeWidth:2,strokeLinecap:`round`}),(0,x.jsx)(`circle`,{cx:n(s),cy:r,r:3,fill:t,stroke:`var(--cv-paper)`,strokeWidth:1}),c&&(0,x.jsx)(`text`,{x:n(i)+3,y:r+3,fontSize:`0.6rem`,fill:t,children:`›`})]})}function da({selectedModel:e,onSelectModel:t,compareAll:n,onCompareAllChange:r,loading:i}){return(0,x.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`0.4rem`,alignItems:`flex-end`},children:[(0,x.jsx)(`div`,{role:`group`,"aria-label":`Model specification`,style:ya,children:te.map(r=>{let i=!n&&r.model===e;return(0,x.jsx)(`button`,{type:`button`,onClick:()=>t(r.model),"aria-pressed":i,disabled:n,style:{...ba,background:i?`var(--cv-navy-600)`:`transparent`,color:i?`#fff`:`var(--cv-ink-2)`,opacity:n?.5:1,cursor:n?`not-allowed`:`pointer`},children:r.label},r.model)})}),(0,x.jsxs)(`label`,{style:xa,children:[(0,x.jsx)(`input`,{type:`checkbox`,checked:n,onChange:e=>r(e.target.checked)}),(0,x.jsx)(`span`,{children:`Compare all four specifications`}),i&&n&&(0,x.jsx)(fa,{})]})]})}function fa(){return(0,x.jsx)(`span`,{"aria-label":`Loading`,style:{display:`inline-block`,width:`11px`,height:`11px`,border:`2px solid var(--cv-rule-strong)`,borderTopColor:`var(--cv-accent)`,borderRadius:`50%`,animation:`cv-spin 700ms linear infinite`}})}var P={fontSize:`0.85rem`,marginBottom:`var(--space-1)`,color:`var(--cv-ink-2)`},pa={display:`flex`,justifyContent:`space-between`,alignItems:`flex-start`,flexWrap:`wrap`,gap:`var(--space-2)`},ma={fontSize:`0.8rem`,color:`var(--cv-ink-3)`,margin:0,maxWidth:`34rem`},ha={fontSize:`0.75rem`,fontWeight:700,textTransform:`uppercase`,letterSpacing:`0.06em`,color:`var(--cv-ink-3)`,marginBottom:`0.1rem`},ga={color:`var(--cv-ink-3)`,fontSize:`0.85rem`,padding:`var(--space-2) 0`},_a={fontSize:`0.76rem`,fontStyle:`italic`,color:`var(--cv-ink-3)`,margin:`0 0 0.4rem`},va={fontSize:`0.74rem`,color:`var(--cv-ink-3)`,margin:`0.4rem 0 0`,lineHeight:1.5},ya={display:`inline-flex`,border:`1px solid var(--cv-rule)`,borderRadius:`var(--radius-md)`,overflow:`hidden`},ba={padding:`0.25rem 0.55rem`,border:`none`,borderRight:`1px solid var(--cv-rule)`,fontFamily:`var(--font-sans)`,fontSize:`0.72rem`,fontWeight:600},xa={display:`inline-flex`,alignItems:`center`,gap:`0.4rem`,fontSize:`0.76rem`,color:`var(--cv-ink-2)`,cursor:`pointer`};function Sa({groups:e,selectedKeys:t,onToggleGroup:n,pooled:r,autoPooled:i,onPooledChange:a,selectionIsEnrollmentFallback:o}){if(!e?.length)return(0,x.jsxs)(`div`,{className:`cv-card`,style:{padding:`var(--space-2)`},children:[(0,x.jsx)(`h3`,{style:Ea,children:`Reported arrests and enrollment`}),(0,x.jsx)(`p`,{style:{color:`var(--cv-ink-3)`,margin:0},children:`No student-group data is available for this district in 2021–22.`})]});let s=new Set(t),c=e.reduce((e,t)=>e+t.enroll,0),l=e.reduce((e,t)=>e+t.observed,0),u=c>0?l/c*1e3:0;return(0,x.jsxs)(`div`,{className:`cv-card`,style:{padding:`var(--space-2)`},children:[(0,x.jsx)(`h3`,{style:Ea,children:`Reported arrests and enrollment, 2021–22`}),(0,x.jsx)(`p`,{style:{fontSize:`0.8rem`,color:`var(--cv-ink-3)`,margin:`0 0 var(--space-2)`},children:`Check a group to show its modelled arrest-rate distribution in the chart below.`}),r&&(0,x.jsx)(wa,{autoPooled:i,totalObserved:l,onPooledChange:a}),o&&(0,x.jsx)(`p`,{style:Na,children:`No group in this district reported an arrest in 2021–22, so the two largest groups by enrollment are shown by default.`}),(0,x.jsx)(`div`,{style:{overflowX:`auto`},children:(0,x.jsxs)(`table`,{style:Da,children:[(0,x.jsx)(`caption`,{style:{captionSide:`bottom`,textAlign:`left`,paddingTop:`var(--space-1)`,fontSize:`0.75rem`,color:`var(--cv-ink-3)`},children:`Students counted are those in the four modelled race groups (American Indian / Alaska Native, Black, Hispanic, White) — not the district’s total enrollment, which also includes groups this model does not estimate.`}),(0,x.jsx)(`thead`,{children:(0,x.jsxs)(`tr`,{children:[(0,x.jsx)(`th`,{scope:`col`,style:{...Oa,textAlign:`left`},children:`Student group`}),(0,x.jsx)(`th`,{scope:`col`,style:Oa,children:`Students`}),(0,x.jsx)(`th`,{scope:`col`,style:Oa,children:`Observed arrests`}),(0,x.jsx)(`th`,{scope:`col`,style:Oa,children:`Rate per 1,000`})]})}),(0,x.jsx)(`tbody`,{children:e.map(e=>(0,x.jsx)(Ca,{group:e,checked:s.has(e.key),onToggle:()=>n(e.key)},e.key))}),(0,x.jsx)(`tfoot`,{children:(0,x.jsxs)(`tr`,{children:[(0,x.jsx)(`th`,{scope:`row`,style:{...ka,textAlign:`left`,fontWeight:700,borderTop:`2px solid var(--cv-ink)`},children:`All modelled groups`}),(0,x.jsx)(`td`,{style:{...Aa,fontWeight:700,borderTop:`2px solid var(--cv-ink)`},children:c.toLocaleString()}),(0,x.jsx)(`td`,{style:{...Aa,fontWeight:700,borderTop:`2px solid var(--cv-ink)`},children:l.toLocaleString()}),(0,x.jsx)(`td`,{style:{...Aa,fontWeight:700,borderTop:`2px solid var(--cv-ink)`},children:Ta(u)})]})})]})}),!r&&(0,x.jsxs)(`label`,{style:{...Ma,marginTop:`var(--space-2)`},children:[(0,x.jsx)(`input`,{type:`checkbox`,checked:!1,onChange:()=>a(!0)}),(0,x.jsx)(`span`,{children:`Combine Female and Male within each race`})]})]})}function Ca({group:e,checked:t,onToggle:n}){let r=e.observed===0,i=`group-toggle-${e.key}`;return(0,x.jsxs)(`tr`,{style:{opacity:r?.62:1},children:[(0,x.jsx)(`td`,{style:{...ka,textAlign:`left`},children:(0,x.jsxs)(`label`,{htmlFor:i,style:{display:`flex`,alignItems:`center`,gap:`0.5rem`,cursor:`pointer`},children:[(0,x.jsx)(`input`,{id:i,type:`checkbox`,checked:t,onChange:n}),(0,x.jsx)(`span`,{"aria-hidden":`true`,style:{width:`11px`,height:`11px`,borderRadius:`3px`,flexShrink:0,background:t?qe(e.race):`transparent`,border:`2px solid ${qe(e.race)}`}}),(0,x.jsx)(`span`,{children:e.label})]})}),(0,x.jsx)(`td`,{style:Aa,children:e.enroll.toLocaleString()}),(0,x.jsx)(`td`,{style:Aa,children:e.observed.toLocaleString()}),(0,x.jsx)(`td`,{style:Aa,children:Ta(e.rate)})]})}function wa({autoPooled:e,totalObserved:t,onPooledChange:n}){return(0,x.jsxs)(`div`,{style:ja,children:[(0,x.jsx)(`p`,{style:{margin:0,fontSize:`0.82rem`},children:e?(0,x.jsxs)(x.Fragment,{children:[`This district reported `,t.toLocaleString(),` arrests in total — fewer than`,` `,20,` — so Female and Male students are combined within each race to give each estimate more data to stand on.`]}):(0,x.jsx)(x.Fragment,{children:`Female and Male students are combined within each race.`})}),(0,x.jsxs)(`label`,{style:Ma,children:[(0,x.jsx)(`input`,{type:`checkbox`,checked:!0,onChange:()=>n(!1)}),(0,x.jsx)(`span`,{children:`Combined — uncheck to show Female and Male separately`})]})]})}function Ta(e){return e>0?e.toLocaleString(void 0,{minimumFractionDigits:1,maximumFractionDigits:1}):`0.0`}var Ea={fontSize:`0.85rem`,marginBottom:`var(--space-1)`,color:`var(--cv-ink-2)`},Da={width:`100%`,borderCollapse:`collapse`,fontSize:`0.85rem`,fontVariantNumeric:`tabular-nums`},Oa={textAlign:`right`,padding:`0.35rem 0.5rem`,borderBottom:`1px solid var(--cv-rule-strong)`,fontSize:`0.72rem`,fontWeight:600,textTransform:`uppercase`,letterSpacing:`0.06em`,color:`var(--cv-ink-3)`,whiteSpace:`nowrap`},ka={padding:`0.35rem 0.5rem`,borderBottom:`1px solid var(--cv-rule)`},Aa={...ka,textAlign:`right`,whiteSpace:`nowrap`},ja={background:`var(--cv-paper-2)`,border:`1px solid var(--cv-rule)`,borderLeft:`3px solid var(--cv-accent)`,borderRadius:`var(--radius-md)`,padding:`var(--space-1) var(--space-2)`,marginBottom:`var(--space-2)`,display:`flex`,flexDirection:`column`,gap:`0.4rem`},Ma={display:`inline-flex`,alignItems:`center`,gap:`0.45rem`,fontSize:`0.78rem`,color:`var(--cv-ink-2)`,cursor:`pointer`},Na={fontSize:`0.78rem`,fontStyle:`italic`,color:`var(--cv-ink-3)`,margin:`0 0 var(--space-2)`},Pa=[`15-16`,`17-18`,`21-22`],Fa=`unified_m3_mod`,Ia=`unified_m4_mod`,La=`21-22`,Ra=te.map(e=>e.model),za=3145728;function Ba({district:e,state:t}){let[n,r]=(0,b.useState)(null),[i,a]=(0,b.useState)({}),[o,s]=(0,b.useState)(!0),[c,l]=(0,b.useState)(Ia),[u,d]=(0,b.useState)(!1),[f,p]=(0,b.useState)(null),[m,h]=(0,b.useState)(null),[g,_]=(0,b.useState)(null),[v,y]=(0,b.useState)(!1);(0,b.useEffect)(()=>{let t=!1;s(!0),r(null),a({}),p(null),h(null),_(null),d(!1),y(!1);async function n(){let n={};await Promise.all(Pa.map(async t=>{try{n[t]=await re(e.leaid,{model:Fa,year:t})}catch(e){console.error(`ChartPanel: wave ${t} fetch failed:`,e)}})),!t&&(r(n),s(!1))}return n(),()=>{t=!0}},[e.leaid]),(0,b.useEffect)(()=>{let t=!1;if(i[c])return;async function n(){try{let n=await re(e.leaid,{model:c,year:La});t||a(e=>({...e,[c]:n}))}catch(e){console.error(`ChartPanel: summary fetch failed for ${c}:`,e),t||a(e=>({...e,[c]:[]}))}}return n(),()=>{t=!0}},[e.leaid,c,i]);let ee=(0,b.useMemo)(()=>i[c]||[],[i,c]),S=(0,b.useMemo)(()=>Ze(ee),[ee]),C=f??S,w=(0,b.useMemo)(()=>nt(ee,C),[ee,C]),T=(0,b.useMemo)(()=>at(ee),[ee]),te=(0,b.useMemo)(()=>rt(w),[w]),E=m?.pooled===C?m.keys:te,ne=(0,b.useMemo)(()=>it(w),[w]),ie=g?.pooled===C?g.pair:ne,ae=w.length>0&&w.every(e=>e.observed===0)&&m===null,oe=(0,b.useCallback)(e=>{let t=E.includes(e)?E.filter(t=>t!==e):[...E,e];h({pooled:C,keys:t})},[E,C]),se=(0,b.useCallback)(e=>{p(e),h(null),_(null)},[]),ce=(0,b.useCallback)(e=>_({pooled:C,pair:e}),[C]),D=(0,b.useMemo)(()=>u?Ra:[c],[u,c]),{status:O,byModel:le,nDraws:ue}=Be({leaid:e.leaid,state:t,models:D,year:La}),de=Ve({leaid:e.leaid,state:t,model:Fa,years:Pa,enabled:v});if((0,b.useEffect)(()=>{de.bytes>0&&de.bytes<=za&&y(!0)},[de.bytes]),o||!n)return(0,x.jsx)(Va,{});let fe=Pa.map(e=>{let t=n[e]||[];return{year:e,label:`20${e.replace(`-`,`-`)}`,arrests:t.reduce((e,t)=>e+(t.observed_arrests||0),0),enroll:t.reduce((e,t)=>e+(t.stu_enroll||0),0),modeledMedian:t.reduce((e,t)=>e+(t.count_median||0),0),modeledLower:t.reduce((e,t)=>e+(t.count_lower||0),0),modeledUpper:t.reduce((e,t)=>e+(t.count_upper||0),0)}});return(0,x.jsxs)(`div`,{style:{padding:`var(--space-3) 0 var(--space-7)`},children:[(0,x.jsxs)(`div`,{style:{marginBottom:`var(--space-4)`},children:[(0,x.jsx)(`span`,{className:`eyebrow`,children:`District estimates — Bayesian model comparison`}),(0,x.jsxs)(`h2`,{style:{marginTop:`var(--space-1)`,marginBottom:0},children:[e.lea_name,` (`,t,`) — School-based arrest rates, 2021–22 CRDC`]})]}),(0,x.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`var(--space-5)`,maxWidth:`70rem`,marginLeft:`auto`,marginRight:`auto`},children:[(0,x.jsx)(Sa,{groups:w,selectedKeys:E,onToggleGroup:oe,pooled:C,autoPooled:S,onPooledChange:se,selectionIsEnrollmentFallback:ae}),(0,x.jsx)(ra,{groups:w,selectedKeys:E,enrollByGroup:T,byModel:le,status:O,nDraws:ue,selectedModel:c,onSelectModel:l,compareAll:u,onCompareAllChange:d,pooled:C}),(0,x.jsx)(oi,{groups:w,enrollByGroup:T,byModel:le,selectedModel:c,status:O,pooled:C,pair:ie,onPairChange:ce}),(0,x.jsx)(bt,{data:fe,modelId:Fa,totals:de,onRequestExactTotals:()=>y(!0)})]}),(0,x.jsxs)(`div`,{style:{marginTop:`var(--space-6)`,padding:`var(--space-3) 0`,borderTop:`1px solid var(--cv-rule)`},children:[(0,x.jsx)(`span`,{className:`eyebrow`,children:`Methodology`}),(0,x.jsx)(`p`,{style:{fontSize:`0.85rem`,color:`var(--cv-ink-2)`,marginTop:`var(--space-1)`},children:`Estimates are from the CRDC School Arrest Rate API (Knowles & Miller 2025). Data shown spans three waves of the Civil Rights Data Collection (2015–16, 2017–18, 2021–22) and lets you explore four Bayesian model specifications: one-year vs. three-year models with and without referral-rate covariates. All rates are per 1,000 students. Modelled distributions are drawn from the published posterior predictive draws, fetched in the browser.`}),(0,x.jsxs)(`p`,{style:{fontSize:`0.85rem`,color:`var(--cv-ink-2)`,marginTop:`var(--space-2)`},children:[(0,x.jsx)(`strong`,{children:`Student groups not shown.`}),` The CRDC also reports arrests for Asian, Hawaiian/Pacific Islander, and multiracial students. The underlying research does not model these groups due to extreme sparsity in the outcome of interest and computational limits. Fitting every reported group would also have meant fitting 70 stratified models rather than 40. Their absence here reflects that scope, not a finding about those students, and no estimate for them should be inferred from this page. See the`,` `,(0,x.jsx)(`a`,{href:`https://crdc-api.civilytics.org/api/v1/`,target:`_blank`,rel:`noopener noreferrer`,children:`white paper`}),` `,`for the full rationale. Arrests that cannot be disaggregated by both race and sex — including Section 504 students — are excluded upstream, as are the small number of arrests in schools not enrolling grade 7 or above.`]})]})]})}function Va(){return(0,x.jsxs)(`div`,{style:{padding:`var(--space-5) 0 var(--space-7)`,textAlign:`center`},children:[(0,x.jsx)(`span`,{className:`eyebrow`,children:`Preparing charts`}),(0,x.jsx)(`p`,{style:{color:`var(--cv-ink-3)`},children:`Organizing data across all model specifications…`})]})}var Ha=[`21-22`,`17-18`,`15-16`];function Ua({district:e,state:t}){let[n,r]=(0,b.useState)(0),[i,a]=(0,b.useState)(0),[o,s]=(0,b.useState)(null);if((0,b.useEffect)(()=>{let t=!1;async function n(){try{let n=Ha.map(n=>Wa(e.leaid,n).then(()=>!t&&r(e=>e+1)).catch(()=>{})),i=T.map(n=>Wa(e.leaid,`21-22`,n.race,n.sex).then(()=>!t&&r(e=>e+1)).catch(()=>{})),o=te.flatMap(n=>T.map(i=>Wa(e.leaid,`21-22`,i.race,i.sex,n.model).then(()=>!t&&r(e=>e+1)).catch(()=>{}))),s=[...n,...i,...o];t||a(s.length),await Promise.all(s),t||r(s.length)}catch(e){t||s(e.message||`Failed to load data`)}}return n(),()=>{t=!0}},[e.leaid]),n>=i&&i>0)return(0,x.jsx)(Ba,{district:e,state:t});if(o)return Ka(o,e);let c=Ha.length+T.length+te.length*T.length,l=Array.from({length:c},(e,t)=>{if(t(0,x.jsx)(`div`,{style:{textAlign:`center`,paddingBottom:`var(--space-1)`},children:(0,x.jsx)(`span`,{className:`stat-label`,style:{display:`block`},children:e})},t)),l.map((e,t)=>{let r=t(0,x.jsxs)(`span`,{className:`stat-label`,style:{display:`inline-flex`,alignItems:`center`,gap:`0.4rem`},children:[(0,x.jsx)(`span`,{style:{width:12,height:12,background:`var(--cv-navy-${600-t*150})`,borderRadius:2}}),e.label]},t))})]})}async function Wa(e,t,n=null,r=null,i=`unified_m2_mod`){return re(e,{year:t,model:i,race:n,sex:r})}function Ga(e){return{AL:`Alabama`,AK:`Alaska`,AZ:`Arizona`,AR:`Arkansas`,CA:`California`,CO:`Colorado`,CT:`Connecticut`,DE:`Delaware`,DC:`District of Columbia`,FL:`Florida`,GA:`Georgia`,HI:`Hawaii`,ID:`Idaho`,IL:`Illinois`,IN:`Indiana`,IA:`Iowa`,KS:`Kansas`,KY:`Kentucky`,LA:`Louisiana`,ME:`Maine`,MD:`Maryland`,MA:`Massachusetts`,MI:`Michigan`,MN:`Minnesota`,MS:`Mississippi`,MO:`Missouri`,MT:`Montana`,NE:`Nebraska`,NV:`Nevada`,NH:`New Hampshire`,NJ:`New Jersey`,NM:`New Mexico`,NY:`New York`,NC:`North Carolina`,ND:`North Dakota`,OH:`Ohio`,OK:`Oklahoma`,OR:`Oregon`,PA:`Pennsylvania`,RI:`Rhode Island`,SC:`South Carolina`,SD:`South Dakota`,TN:`Tennessee`,TX:`Texas`,UT:`Utah`,VT:`Vermont`,VA:`Virginia`,WA:`Washington`,WV:`West Virginia`,WI:`Wisconsin`,WY:`Wyoming`}[e]||e}function Ka(e,t){return(0,x.jsxs)(`div`,{style:{padding:`var(--space-5) 0 var(--space-7)`,textAlign:`center`},children:[(0,x.jsx)(`span`,{className:`stat-label`,style:{color:`var(--cv-danger)`},children:`ERROR`}),(0,x.jsxs)(`h3`,{style:{marginTop:`var(--space-2)`},children:[`Failed to load data for `,t.lea_name]}),(0,x.jsxs)(`p`,{style:{color:`var(--cv-ink-2)`,maxWidth:`40rem`,margin:`0 auto var(--space-3)`},children:[e,`. This may be a temporary API issue or the district may not have available estimates.`]}),(0,x.jsx)(`button`,{className:`btn-outline`,onClick:()=>window.location.href=`/`,children:`← Try another district`})]})}function qa(){return(0,x.jsxs)(`footer`,{className:`cv-footer cv-wrap`,style:{marginTop:`var(--space-5)`},children:[(0,x.jsx)(`span`,{children:`© Civilytics — social science for the public good.`}),(0,x.jsxs)(`div`,{style:{display:`flex`,gap:`var(--space-2)`,flexWrap:`wrap`},children:[(0,x.jsx)(`a`,{href:`https://civilytics.com`,children:`civilytics.com`}),(0,x.jsx)(`a`,{href:`https://github.com/civilytics/crdc-arrests`,target:`_blank`,rel:`noopener noreferrer`,children:`Source code`}),(0,x.jsx)(`a`,{href:`https://crdc-api.civilytics.org/api/v1/`,target:`_blank`,rel:`noopener noreferrer`,children:`API docs`})]}),(0,x.jsxs)(`div`,{style:{width:`100%`,marginTop:`var(--space-2)`,padding:`var(--space-1) 0`,borderTop:`1px solid var(--cv-rule)`},children:[(0,x.jsx)(`span`,{className:`stat-label`,children:`About this demo`}),(0,x.jsx)(`p`,{style:{fontSize:`0.8rem`,color:`var(--cv-ink-2)`,marginTop:`var(--space-0.5)`},children:`This application demonstrates the CRDC School Arrest Rate API, which provides Bayesian small-area estimates of school-based arrest rates from the US Department of Education Civil Rights Data Collection. Estimates use hierarchical models that improve precision for rare events — enabling meaningful comparisons across districts, student groups, and time. Cite: Knowles & Miller 2025.`})]})]})}var Ja=/^[A-Z]{2}$/;function Ya(){let[e,t]=(0,b.useState)(`state`),[n,r]=(0,b.useState)(null),[i,a]=(0,b.useState)(null);return(0,b.useEffect)(()=>{let e=new URLSearchParams(window.location.search),n=e.get(`leaid`),i=e.get(`state`),o=i?i.trim().toUpperCase():null;if(i&&!Ja.test(o)){console.warn("Ignoring deep link: `state` is not a two-letter state code.");return}n&&o&&(r(o),re(n,{model:`unified_m2_mod`,year:`21-22`}).then(e=>{let r=e?.[0];a(r?{leaid:r.leaid,lea_name:r.lea_name,state:r.state}:{leaid:n,lea_name:`Unknown District`,state:o}),t(`loading`)}).catch(()=>{a({leaid:n,lea_name:`Unknown District`,state:o}),t(`loading`)}))},[]),(0,x.jsxs)(`div`,{className:`cv-app`,children:[(0,x.jsx)(`header`,{className:`cv-header cv-wrap`,children:(0,x.jsx)(`a`,{href:`/crdc-demo`,"aria-label":`Civilytics`,style:{display:`block`},children:(0,x.jsx)(`img`,{src:`/crdc-demo/civilytics-wordmark.svg`,alt:`Civilytics — social science for the public good`,style:{height:`2.5rem`,width:`auto`}})})}),(0,x.jsxs)(`main`,{style:{maxWidth:`60rem`,margin:`0 auto`,padding:`0 var(--space-3)`},children:[e===`state`&&(0,x.jsx)(C,{onNext:e=>{r(e),t(`search`)}}),e===`search`&&n&&(0,x.jsx)(ce,{state:n,onSelect:e=>{let r=new URLSearchParams({leaid:e.leaid,state:n});window.history.replaceState(null,``,`?${r}`),a(e),t(`loading`)},onBack:()=>t(`state`)}),e===`loading`&&i&&(0,x.jsx)(Ua,{district:i,state:n}),e===`results`&&i&&(0,x.jsx)(Ba,{district:i,state:n}),(e===`loading`||e===`results`)&&(0,x.jsx)(`button`,{className:`btn-outline`,style:{margin:`var(--space-3) 0`,display:`block`},onClick:()=>{window.location.href=`/crdc-demo/`},children:`← Search another district`})]}),(0,x.jsx)(qa,{})]})}y.createRoot(document.getElementById(`root`)).render((0,x.jsx)(b.StrictMode,{children:(0,x.jsx)(Ya,{})}));