PageSourceSearch

https://platform.motion.org.uk/_next/static/chunks/pages/wellbeing/games/sudoku-caf620a41f7714d8.js

js motion.org.uk collected 2026-10-04 22:54:14 UTC 27,222 bytes, 1 lines download raw bytes

1!function(){try{var e="u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2196befa-e5fe-44dc-b6df-7d251c9c1def",e._sentryDebugIdIdentifier="sentry-dbid-2196befa-e5fe-44dc-b6df-7d251c9c1def")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5339],{693:(e,t,s)=>{"use strict";s.d(t,{X:()=>i});var a=s(28475);let n=["abort fetching component for route","cancel rendering route","loading initial props cancelled","route cancelled"],i=({error:e,context:t,destination:s})=>{console.error(t?`[${t}] Navigation failed:`:"Navigation failed:",e),(e=>{if(e instanceof DOMException&&"AbortError"===e.name)return!0;if(e instanceof Error){let t=e.message.toLowerCase();return n.some(e=>t.includes(e))}return!1})(e)||(0,a.Cp)(e,{tags:{feature:"navigation"},extra:{...t?{context:t}:{},...s?{destination:s}:{}}})}},4705:(e,t,s)=>{"use strict";s.d(t,{kJ:()=>i,xW:()=>o,xe:()=>l});var a=s(65663),n=s.n(a);let i="/wellbeing/login",r=[i,"/wellbeing/reset-password","/wellbeing/new-password"],o=e=>{let t=e.length>1&&e.endsWith("/")?e.slice(0,-1):e;return r.some(e=>t===e||t.startsWith(`${e}/`))},l=e=>{let t=s=>{s.startsWith(i)&&(e.clear(),n().events.off("routeChangeComplete",t))};n().events.on("routeChangeComplete",t)}},7123:(e,t,s)=>{"use strict";s.d(t,{B:()=>n});var a,n=((a={}).OwnUser="own_user",a.OwnOrganisation="own_organisation",a.PeopleWeSupport="people_we_support",a.Users="users",a.Organisations="organisations",a.Organisation="organisation",a.ActivitiesCatalog="activities_catalog",a.CompletedActivities="completed_activities",a.FamilyMembers="family_members",a.RelationshipTypes="relationship_types",a.OutcomeTailoringCategories="outcome_tailoring_categories",a.OutcomeTailoringOutcomes="outcome_tailoring_outcomes",a.PersonWeSupportOutcomes="person_we_support_outcomes",a.TailoredActivities="tailored_activities",a.PersonWeSupportCompletedActivities="person_we_support_completed_activities",a.UserCreatedActivities="user_created_activities",a.EasyReadSymbolAssets="easy_read_symbol_assets",a)},7150:e=>{e.exports={gameWindow:"window_gameWindow__W4a_L",makeWindowActive:"window_makeWindowActive__K4hCZ",activeButton:"window_activeButton__tRWOC",makeActive:"window_makeActive__siVaq",activeButtonActive:"window_activeButtonActive__G6FFe",buttons:"window_buttons__Xf2nM",text:"window_text__D_2I0"}},9926:e=>{e.exports={container:"sudoku_container__dwEbG",tableBody:"sudoku_tableBody__R7t27",header:"sudoku_header__qMweZ",headerGroupOne:"sudoku_headerGroupOne__d6RPd","headerGroup-Two":"sudoku_headerGroup-Two__NQzCV",innercontainer:"sudoku_innercontainer__MFG7l",game:"sudoku_game__qYiLu",gameBoard:"sudoku_gameBoard__AxKiH",gameRow:"sudoku_gameRow__VPngl",gameCell:"sudoku_gameCell__eJxQV","gameCell--filled":"sudoku_gameCell--filled__zV6BU","gameCell--userfilled":"sudoku_gameCell--userfilled__q2Ddo","gameCell--selected":"sudoku_gameCell--selected__o0GUX","gameCell--highlightselected":"sudoku_gameCell--highlightselected__ZYBaV",status:"sudoku_status__1fXqp",statusDifficulty:"sudoku_statusDifficulty__QNjZM",statusDifficultyText:"sudoku_statusDifficultyText__zv68r",statusDifficultySelect:"sudoku_statusDifficultySelect__f0woW",statusTime:"sudoku_statusTime__CEdtO",statusNumbers:"sudoku_statusNumbers__3PQCt",statusNumber:"sudoku_statusNumber__Se7uW",statusNumberSelected:"sudoku_statusNumberSelected__wYqFl",statusActions:"sudoku_statusActions__EGj1u",statusActionErase:"sudoku_statusActionErase__BXq1H",statusActionFastMode:"sudoku_statusActionFastMode__YLEwA",statusActionHint:"sudoku_statusActionHint__sO_8Q",statusActionMistakesMode:"sudoku_statusActionMistakesMode__mrp00",statusActionUndo:"sudoku_statusActionUndo__4o05V",statusActionFastModeSwitch:"sudoku_statusActionFastModeSwitch__ewRS2",statusActionMistakesModeSwitch:"sudoku_statusActionMistakesModeSwitch__kE_ku",statusActionSvg:"sudoku_statusActionSvg__BJXvj",statusActionText:"sudoku_statusActionText__2Mui_",statusActionFastModeSlider:"sudoku_statusActionFastModeSlider__JgIh6",statusActionMistakeModeSlider:"sudoku_statusActionMistakeModeSlider__dnvPt",footer:"sudoku_footer__C0fze",overlay:"sudoku_overlay__hGuaI","overlay--visible":"sudoku_overlay--visible__q383r",overlayText:"sudoku_overlayText__kFkeO",overlayTextspan1:"sudoku_overlayTextspan1__lkKNr",overlayTextspan2:"sudoku_overlayTextspan2__PL0wr",statusActionRrase:"sudoku_statusActionRrase__ws_73"}},29704:(e,t,s)=>{"use strict";s.d(t,{W:()=>n});var a=s(425);let n=({userPermissions:e=[]}={})=>(0,a.ZU)({userPermissions:e,requiredPermission:a.Rd.CanViewNavItemHome})?"/wellbeing/dashboard":"/wellbeing/activities"},42805:(e,t,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/wellbeing/games/sudoku",function(){return s(49648)}])},45758:e=>{e.exports={button:"theme_button__uYvTy",dangerButton:"theme_dangerButton__XC1Ho",Gobutton:"theme_Gobutton__EtoGS",bigButton:"theme_bigButton__hJB9_",smallButton:"theme_smallButton___FMjH"}},45809:(e,t,s)=>{"use strict";s.d(t,{a:()=>l});var a=s(425),n=s(94285),i=s(87825),r=s(56666),o=s(88671);let l=({activityId:e,context:t})=>{let{hasRequiredPermission:s,isPermissionCheckLoading:l}=(0,i.K)({permissionRequirement:a.iX,context:t}),u=(0,o.u)(),c=(0,n.useRef)(!1),{userHasPermissions:d}=(0,r.v)(),_=d(a.Tv);return(0,n.useEffect)(()=>{!l&&s&&_&&!c.current&&(c.current=!0,u.mutate({activityId:e}))},[e,_,u,s,l]),{hasRequiredPermission:s,isPermissionCheckLoading:l}}},46675:(e,t,s)=>{"use strict";s.d(t,{V:()=>u});var a=s(23090),n=s(52111),i=s(96539),r=s(80013),o=s(67848);let l=async()=>{let{data:e}=await r.n.get("/users/current");return e},u=()=>(0,n.useQuery)(o.i.current,l,{staleTime:i.jU,refetchOnWindowFocus:!1,retry:(e,t)=>(!a.A.isAxiosError(t)||t.response?.status!==401)&&e<3})},49648:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>F});var a=s(94513),n=s(65663),i=s(94285),r=s(51304),o=s.n(r),l=s(9926),u=s.n(l);let c=()=>(0,a.jsx)("footer",{className:u().footer,children:(0,a.jsxs)("p",{children:["\xa9 2020 Amith Raravi - source code on"," ",(0,a.jsx)("a",{href:"https://github.com/raravi/sudoku",children:"Github"})]})}),d=(0,i.createContext)({numberSelected:"0",setNumberSelected:()=>{},gameArray:[],setGameArray:()=>{},difficulty:"Easy",setDifficulty:()=>{},timeGameStarted:o()(),setTimeGameStarted:()=>{},fastMode:!1,setFastMode:()=>{},cellSelected:-1,setCellSelected:()=>{},initArray:[],setInitArray:()=>{},won:!1,setWon:()=>{}}),_=({children:e})=>{let[t,s]=(0,i.useState)("0"),[n,r]=(0,i.useState)([]),[l,u]=(0,i.useState)("Easy"),[c,_]=(0,i.useState)(o()()),[h,f]=(0,i.useState)(!1),[m,v]=(0,i.useState)(-1),[g,p]=(0,i.useState)([]),[x,k]=(0,i.useState)(!1);return(0,a.jsx)(d.Provider,{value:{numberSelected:t,setNumberSelected:s,gameArray:n,setGameArray:r,difficulty:l,setDifficulty:u,timeGameStarted:c,setTimeGameStarted:_,fastMode:h,setFastMode:f,cellSelected:m,setCellSelected:v,initArray:g,setInitArray:p,won:x,setWon:k},children:e})},h=()=>(0,i.useContext)(d),f=e=>{let t=[0,1,2,3,4,5,6,7,8],{numberSelected:s,gameArray:n,fastMode:i,cellSelected:r,initArray:o}=h();function l(e,t){return i?s===n[9*e+t]:r===9*e+t||"0"!==n[r]&&n[r]===n[9*e+t]}function c(t,s,n){return"0"===s?(0,a.jsx)("td",{className:`${u().gameCell} ${u()[`gameCell--${n}selected`]}`,onClick:()=>e.onClick(t),children:s},t):"0"===o[t]?(0,a.jsx)("td",{className:`${u().gameCell} ${u()["gameCell--userfilled"]} ${u()[`gameCell--${n}selected`]} `,onClick:()=>e.onClick(t),children:s},t):(0,a.jsx)("td",{className:`${u().gameCell} ${u()["gameCell--filled"]} ${u()[`gameCell--${n}selected`]} `,onClick:()=>e.onClick(t),children:s},t)}function d(t,s){return"0"===s?(0,a.jsx)("td",{className:u().gameCell,onClick:()=>e.onClick(t),children:s},t):"0"===o[t]?(0,a.jsx)("td",{className:`${u().gameCell} ${u()["gameCell--userfilled"]}`,onClick:()=>e.onClick(t),children:s},t):(0,a.jsx)("td",{className:`${u().gameCell} ${u()["gameCell--filled"]}`,onClick:()=>e.onClick(t),children:s},t)}return(0,a.jsx)("section",{className:u().Game,children:(0,a.jsx)("table",{className:u().gameBoard,children:(0,a.jsx)("tbody",{className:u().tableBody,
1children:t.map(e=>(0,a.jsx)("tr",{className:u().gameRow,children:t.map(t=>{let a=9*e+t,o=n[a];if(r===a)return c(a,o,"highlight");if(i)if("0"!==s&&l(e,t))return c(a,o,"");else return d(a,o);return -1!==r&&l(e,t)?c(a,o,""):d(a,o)})},e))})})})},m=e=>(0,a.jsxs)("header",{className:u().header,children:[(0,a.jsxs)("h1",{children:["Su",(0,a.jsx)("span",{className:u().headerGroupOne,children:"do"}),(0,a.jsx)("span",{className:u().headerGroupTwo,children:"ku"})]}),(0,a.jsx)("h2",{onClick:e.onClick,children:"New Game"})]}),v=e=>"undo"===e.action?(0,a.jsxs)("svg",{className:u().statusActionSvg,height:"512pt",viewBox:"0 0 512 512",width:"512pt",xmlns:"http://www.w3.org/2000/svg",children:[(0,a.jsx)("path",{d:"m154.667969 213.332031h-138.667969c-8.832031 0-16-7.167969-16-16v-138.664062c0-8.832031 7.167969-16 16-16s16 7.167969 16 16v122.664062h122.667969c8.832031 0 16 7.167969 16 16s-7.167969 16-16 16zm0 0",fill:"hsl(213, 30%, 59%)"}),(0,a.jsx)("path",{d:"m256 512c-68.351562 0-132.628906-26.644531-180.96875-75.03125-6.253906-6.25-6.253906-16.382812 0-22.632812 6.269531-6.273438 16.402344-6.230469 22.632812 0 42.304688 42.347656 98.515626 65.664062 158.335938 65.664062 123.519531 0 224-100.480469 224-224s-100.480469-224-224-224c-105.855469 0-200.257812 71.148438-224.449219 169.171875-2.132812 8.597656-10.75 13.824219-19.371093 11.714844-8.574219-2.132813-13.800782-10.796875-11.710938-19.371094 27.691406-112.148437 135.148438-193.515625 255.53125-193.515625 141.164062 0 256 114.835938 256 256s-114.835938 256-256 256zm0 0",fill:"hsl(213, 30%, 59%)"})]}):"erase"===e.action?(0,a.jsx)("svg",{className:u().statusActionSvg,version:"1.1",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 512.001 512.001",children:(0,a.jsx)("path",{d:"M505.922,476.567L285.355,256L505.92,35.435c8.106-8.105,8.106-21.248,0-29.354c-8.105-8.106-21.248-8.106-29.354,0L256.001,226.646L35.434,6.081c-8.105-8.106-21.248-8.106-29.354,0c-8.106,8.105-8.106,21.248,0,29.354L226.646,256L6.08,476.567c-8.106,8.106-8.106,21.248,0,29.354c8.105,8.105,21.248,8.106,29.354,0l220.567-220.567l220.567,220.567c8.105,8.105,21.248,8.106,29.354,0S514.028,484.673,505.922,476.567z",fill:"hsl(213, 30%, 59%)"})}):"hint"===e.action?(0,a.jsxs)("svg",{className:u().statusActionSvg,version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 432.4 432.4",children:[(0,a.jsx)("path",{d:"M216.529,93.2c-61.2,0-111.2,50-111.2,111.2c0,32,14,62.8,37.6,83.6c17.6,17.6,16,55.2,15.6,55.6c0,2,0.4,3.6,2,5.2c1.2,1.2,3.2,2,4.8,2h102c2,0,3.6-0.8,4.8-2c1.2-1.2,2-3.2,2-5.2c0-0.4-2-38,15.6-55.6c0.4-0.4,0.8-0.8,1.2-1.2c23.2-21.2,36.8-51.2,36.8-82.4C327.729,143.2,277.729,93.2,216.529,93.2zM280.529,277.6c-0.4,0.4-1.2,1.2-1.2,1.6c-15.6,16.8-18.4,44.4-18.8,57.6h-88.4c-0.4-13.2-3.2-42-20-59.2c-21.2-18.4-33.6-45.2-33.6-73.6c0-54,43.6-97.6,97.6-97.6s97.6,43.6,97.6,97.6C313.729,232.4,301.729,259.2,280.529,277.6z",fill:"hsl(213, 30%, 59%)"}),(0,a.jsx)("path",{d:"M216.129,121.6c-3.6,0-6.8,3.2-6.8,6.8c0,3.6,3.2,6.8,6.8,6.8c40.4,0,72.8,32.8,72.8,72.8c0,3.6,3.2,6.8,6.8,6.8c3.6,0,6.8-3.2,6.8-6.8C302.929,160.4,264.129,121.6,216.129,121.6z",fill:"hsl(213, 30%, 59%)"}),(0,a.jsx)("path",{d:"M260.529,358.4h-88.8c-9.2,0-16.8,7.6-16.8,16.8s7.6,16.8,16.8,16.8h88.4c9.6-0.4,17.2-7.6,17.2-16.8C277.329,366,269.729,358.4,260.529,358.4zM260.529,378h-88.8c-1.6,0-3.2-1.2-3.2-3.2s1.2-3.2,3.2-3.2h88.4c1.6,0,3.2,1.2,3.2,3.2S262.129,378,260.529,378z",fill:"hsl(213, 30%, 59%)"}),(0,a.jsx)("path",{d:"M247.329,398.8h-62.4c-9.2,0-16.8,7.6-16.8,16.8s7.6,16.8,16.8,16.8h62.4c9.2,0,16.8-7.6,16.8-16.8C264.129,406,256.529,398.8,247.329,398.8zM247.329,418.4h-62.4c-1.6,0-3.2-1.2-3.2-3.2s1.2-3.2,3.2-3.2h62.4c1.6,0,3.2,1.2,3.2,3.2S248.929,418.4,247.329,418.4z",fill:"hsl(213, 30%, 59%)"}),(0,a.jsx)("path",{d:"M216.129,60c4,0,6.8-3.2,6.8-6.8V6.8c0-3.6-3.2-6.8-6.8-6.8c-3.6,0-6.8,3.2-6.8,6.8v46.4C209.329,56.8,212.529,60,216.129,60z",fill:"hsl(213, 30%, 59%)"}),(0,a.jsx)("path",{d:"M329.329,34.4c-3.2-2.4-7.2-1.2-9.2,1.6l-25.6,38.4c-2.4,3.2-1.6,7.6,1.6,9.6c1.2,0.8,2.4,1.2,3.6,1.2c2.4,0,4.4-1.2,5.6-3.2l25.6-38.4C333.329,40.8,332.529,36.4,329.329,34.4z",fill:"hsl(213, 30%, 59%)"}),(0,a.jsx)("path",{d:"M134.929,83.6c1.2,0,2.4-0.4,3.6-1.2c3.2-2,4-6.4,2-9.6l-24.8-38.8c-2-3.2-6.4-4-9.6-2s-4,6.4-2,9.6l24.8,38.8C130.529,82.8,132.529,83.6,134.929,83.6z",fill:"hsl(213, 30%, 59%)"}),(0,a.jsx)("path",{d:"M86.529,126l-40.4-22c-3.2-1.6-7.6-0.4-9.2,2.8c-2,3.2-0.8,7.6,2.8,9.2l40.4,22c1.2,0.4,2,0.8,3.2,0.8c2.4,0,4.8-1.2,6-3.6C90.929,132,89.729,127.6,86.529,126z",fill:"hsl(213, 30%, 59%)"}),(0,a.jsx)("path",{d:"M395.729,106.8c-1.6-3.2-6-4.4-9.2-2.8l-40.8,22c-3.2,1.6-4.4,6-2.8,9.2c1.2,2.4,3.6,3.6,6,3.6c1.2,0,2.4-0.4,3.2-0.8l40.8-22C396.129,114.4,397.329,110,395.729,106.8z",fill:"hsl(213, 30%, 59%)"})]}):null,g=e=>(0,a.jsxs)("div",{className:"undo"===e.action?u().statusActionUndo:"erase"===e.action?u().statusActionErase:"hint"===e.action?u().statusActionHint:"",onClick:e.onClickAction,children:[(0,a.jsx)(v,{action:e.action}
1),(0,a.jsx)("p",{className:u().statusActionText,children:"undo"===e.action?"Undo":"erase"===e.action?"Erase":"hint"===e.action?"Hint":""})]}),p=e=>{let{difficulty:t}=h();return(0,a.jsxs)("div",{className:u().statusDifficulty,children:[(0,a.jsx)("span",{className:u().statusDifficultyText,children:"Difficulty:\xa0\xa0"}),(0,a.jsxs)("select",{name:"status__difficulty-select",className:u().statusDifficultySelect,defaultValue:t,onChange:e.onChange,children:[(0,a.jsx)("option",{value:"Easy",children:"Easy"}),(0,a.jsx)("option",{value:"Medium",children:"Medium"}),(0,a.jsx)("option",{value:"Hard",children:"Hard"})]})]})},x=e=>(0,a.jsxs)("div",{className:"mistakes"===e.mode?u().statusActionMistakesMode:u().statusActionFastMode,children:[(0,a.jsxs)("label",{className:"mistakes"===e.mode?u().statusActionMistakesModeSwitch:u().statusActionFastModeSwitch,children:[(0,a.jsx)("input",{type:"checkbox"}),(0,a.jsx)("span",{className:"mistakes"===e.mode?u().statusActionMistakeModeSlider:u().statusActionFastModeSlider,onClick:e.onClickMode})]}),(0,a.jsx)("p",{className:u().statusActionText,children:"mistakes"===e.mode?"Mistakes Mode":"Fast Mode"})]}),k=({onClickNumber:e})=>{let{numberSelected:t}=h();return(0,a.jsx)("div",{className:u().statusNumbers,children:[1,2,3,4,5,6,7,8,9].map(s=>t===s.toString()?(0,a.jsx)("div",{className:`${u().statusNumber} ${u()["statusNumber--selected"]}`,onClick:()=>e(s.toString()),children:s},s):(0,a.jsx)("div",{className:u().statusNumber,onClick:()=>e(s.toString()),children:s},s))})},C=()=>{let[e,t]=(0,i.useState)(o()()),{timeGameStarted:s,won:n}=h();return(0,i.useEffect)(()=>{n||setTimeout(()=>void t(o()()),1e3)}),(0,a.jsx)("div",{className:u().statusTime,children:function(){let t=e.diff(s,"seconds");if(t<=0)return"00:00";let a=o().duration(t,"seconds"),n=a.hours(),i=a.minutes(),r=a.seconds(),l="";return l+=n?""+n+":":"",l+=i?(i<10?"0":"")+i+":":"00:",l+=r<10?"0"+r:r}()})},w=e=>(0,a.jsxs)("section",{className:u().status,children:[(0,a.jsx)(p,{onChange:e.onChange}),(0,a.jsx)(C,{}),(0,a.jsx)(k,{onClickNumber:t=>e.onClickNumber(t)}),(0,a.jsxs)("div",{className:u().statusActions,children:[(0,a.jsx)(g,{action:"undo",onClickAction:e.onClickUndo}),(0,a.jsx)(g,{action:"erase",onClickAction:e.onClickErase}),(0,a.jsx)(g,{action:"hint",onClickAction:e.onClickHint}),(0,a.jsx)(x,{mode:"mistakes",onClickMode:e.onClickMistakesMode}),(0,a.jsx)(x,{mode:"fast",onClickMode:e.onClickFastMode})]})]});var b={};b.DIGITS="123456789";var j="ABCDEFGHI",y=b.DIGITS,A=null,N=null,M=null,S=null,B={easy:62,medium:53,hard:44,"very-hard":35,insane:26,inhuman:17};b.BLANK_CHAR=".",b.BLANK_BOARD=".................................................................................",b.generate=function(e,t){("string"==typeof e||void 0===e)&&(e=B[e]||B.easy),e=b._force_range(e,82,17),t=t||!0;for(var s="",a=0;a<81;++a)s+=".";var n=b._get_candidates_map(s),i=b._shuffle(A);for(var r in i){var o=i[r],l=b._rand_range(n[o].length),u=n[o][l];if(!b._assign(n,o,u))break;var c=[];for(r in A)1===n[o=A[r]].length&&c.push(n[o]);if(c.length>=e&&b._strip_dups(c).length>=8){var d="",_=[];for(a in A)1===n[o=A[a]].length?(d+=n[o],_.push(a)):d+=b.BLANK_CHAR;var h=_.length;if(h>e)for(_=b._shuffle(_),a=0;a<h-e;++a){var f=parseInt(_[a]);d=d.substr(0,f)+b.BLANK_CHAR+d.substr(f+1)}if(b.solve(d))return d}}return b.generate(e)},b.solve=function(e,t){var s=b.validate_board(e);if(!0!==s)throw s;var a=0;for(var n in e)e[n]!==b.BLANK_CHAR&&b._in(e[n],b.DIGITS)&&++a;if(a<17)throw"Too few givens. Minimum givens is 17";t=t||!1;var i=b._get_candidates_map(e),r=b._search(i,t);if(r){var o="";for(var l in r)o+=r[l];return o}return!1},b.get_candidates=function(e){var t=b.validate_board(e);if(!0!==t)throw t;var s=b._get_candidates_map(e);if(!s)return!1;var a=[],n=[],i=0;for(var r in s){var o=s[r];n.push(o),i%9==8&&(a.push(n),n=[]),++i}return a},b._get_candidates_map=function(e){var t=b.validate_board(e);if(!0!==t)throw t;var s={},a=b._get_square_vals_map(e);for(var n in A)s[A[n]]=b.DIGITS;for(var i in a){var r=a[i];if(b._in(r,b.DIGITS)&&!b._assign(s,i,r))return!1}return s},b._search=function(e,t){if(!e)return!1;t=t||!1;var s=0;for(var a in A){var n=A[a],i=e[n].length;i>s&&(s=i)}if(1===s)return e;var r=10,o=null;for(a in A)(i=e[n=A[a]].length)<r&&i>1&&(r=i,o=n);var l=e[o];if(t){for(u=l.length-1;u>=0;--u)if(c=l[u],d=JSON.parse(JSON.stringify(e)),_=b._search(b._assign(d,o,c),t))return _}else for(var u in l){var c=l[u],d=JSON.parse(JSON.stringify(e)),_=b._search(b._assign(d,o,c));if(_)return _}return!1},b._assign=function(e,t,s){var a=e[t].replace(s,"");for(var n in a){var i=a[n];if(!b._eliminate(e,t,i))return!1}return e},b._eliminate=function(e,t,s){if(!b._in(s,e[t]))return e;e[t]=e[t].replace(s,"");var a=e[t].length;if(1===a){var n=e[t];for(var i in S[t]){var r=S[t][i],o=b._eliminate(e,r,n);if(!o)return!1}}if(0===a)return!1;for(var l in M[t]){var u=M[t][l],c=[];for(var d in u){var _=u[d];b._in(s,e[_])&&c.push(_)}if(0===c.length||1===c.length&&!(o=b._assign(e,c[0],s)))return!1}return e},b._get_square_vals_map=function(e){var t={};if(e.length!==A.length)throw"Board/squares length mismatch.";for(var s in A)t[A[s]]=e[s];return t},b._get_square_units_map=function(e,t){var s={};for(var a in e){var n=e[a],i=[];for(var r in t){var o=t[r];-1!==o.indexOf(n)&&i.push(o)}s[n]=i}return s},b._get_square_peers_map=function(e,t){var s={};for(var a in e){var n=e[a],i=t[n],r=[];for(var o in i){var l=i[o];for(var u in l){var c=l[u];-1===r.indexOf(c)&&c!==n&&r.push(c)}}s[n]=r}return s},b._get_all_units=function(e,t){var s=[];for(var a in e)s.push(b._cross(e[a],t));for(var n in t)s.push(b._cross(e,t[n]));var i=["ABC","DEF","GHI"],r=["123","456","789"];for(var o in i)for(var l in r)s.push(b._cross(i[o],r[l]));return s},b.board_string_to_grid=function(e){var t=[],s=[];for(var a in e)s.push(e[a]),a%9==8&&(t.push(s),s=[]);return t},b.board_grid_to_string=function(e){for(var t="",s=0;s<9;++s)for(var a=0;a<9;++a)t+=e[s][a];return t},b.print_board=function(e){var t=b.validate_board(e);if(!0!==t)throw t;var s="";for(var a in e)s+=e[a]+" ",a%3==2&&(s+="  "),a%9==8&&(s+="\n"),a%27==26&&(s+="\n")},b.validate_board=function(e){if(!e)return"Empty board";if(81!==e.length)return"Invalid board size. Board must be exactly 81 squares.";for(var t in e)if(!b._in(e[t],b.DIGITS)&&e[t]!==b.BLANK_CHAR)return"Invalid board character encountered at index "+t+": "+e[t];return!0},b._cross=function(e,t){var s=[];for(var a in e)for(var n in t)s.push(e[a]+t[n]);return s},b._in=function(e,t){return -1!==t.indexOf(e)},b._first_true=function(e){for(var t in e)if(e[t])return e[t];return!1},b._shuffle=function(e){for(var t=[],s=0;s<e.length;++s)t.push(!1);for(s in e){for(var a=b._rand_range(e.length);t[a];)a=a+1>e.length-1?0:a+1;t[a]=e[s]}return t},b._rand_range=function(e,t){if(t=t||0,e)return Math.floor(Math.random()*(e-t))+t;throw"Range undefined"},b._strip_dups=function(e){var t=[],s={};for(var a in e){var n=e[a];s[n]||(t.push(n),s[n]=!0)}return t},b._force_range=function(e,t,s){return(e=e||0)<(s=s||0)?s:e>t?t:e},A=b._cross(j,y),N=b._get_all_units(j,y),M=b._get_square_units_map(A,N),S=b._get_square_peers_map(A,M);let T=["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"];function E(e,t){let[s,a]=function(e){switch(e){case 0:return[1,1];case 1:return[1,4];case 2:return[1,7];case 3:return[4,1];case 4:return[4,4];case 5:return[4,7];case 6:return[7,1];case 7:return[7,4];default:return[7,7]}}(e);switch(t){case 0:s--,a--;break;case 1:s--;break;case 2:s--,a++;break;case 3:a--;break;case 4:break;case 5:a++;break;case 6:s++,a--;break;case 7:s++;break;case 8:s++,a++}return 9*s+a}function $(e,t,s){return+("0"!==e[E(t,s)])}let G=()=>{let{numberSelected:e,setNumberSelected:t,gameArray:s,setGameArray:n,difficulty:r,setDifficulty:l,setTimeGameStarted:d,fastMode:_,setFastMode:v,cellSelected:g,setCellSelected:p,initArray:x,setInitArray:k,setWon:C}=h(),[j,y]=(0,i.useState)(!1),[A,N]=(0,i.useState)([]),[M,S]=(0,i.useState)([]),[B,G]=(0,i.useState)(!1);function R(e){let s,a,i,[l,u]=(s=T.slice(),a=T.slice(),[...i=b.generate(60)].forEac
1h((e,t)=>{s[t]="."===e?"0":e}),[...i=b.solve(i)].forEach((e,t)=>{a[t]=e}),[s=function(e,t,s){let a,n,i,r,o=t,l=T.slice(),u=[0,0,0,0,0,0,0,0,0],c=[],d=[];s&&(o=s.target.value),"Easy"===o?(a=3,n=7,i=45):"Medium"===o?(a=2,n=6,i=40):(a=1,n=5,i=30);for(let e=0;e<9;e++)u[e]=$(l,e,0)+$(l,e,1)+$(l,e,2)+$(l,e,3)+$(l,e,4)+$(l,e,5)+$(l,e,6)+$(l,e,7)+$(l,e,8);for(let t=0;t<i;t++){c=[];for(let e=0;e<9;e++)u[e]<a&&c.push(e);if(c)for(let e=0;e<9;e++)u[e]<n&&c.push(e);r=c[Math.random()*c.length|0],d=[];for(let e=0;e<9;e++)"0"===l[E(r,e)]&&d.push(e);let t=E(r,d[Math.random()*d.length|0]);l[t]=e[t],u[r]++}return l}(a,r,e),a]);k(l),n(l),S(u),t("0"),d(o()()),p(-1),N([]),C(!1)}function O(e,t){if("0"===x[e]){let a=s.slice(),i=A.slice();i.push(s.slice()),N(i),a[e]=t,n(a),(s.every((s,a)=>a===e?t===M[a]:s===M[a])||0)&&(G(!0),C(!0))}}function F(e,t){j?t===M[e]&&O(e,t):O(e,t)}return(0,i.useEffect)(()=>{R()},[]),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:u().container,children:[(0,a.jsx)(m,{onClick:function(){R()}}),(0,a.jsxs)("div",{className:u().innercontainer,children:[(0,a.jsx)(f,{onClick:t=>{_&&"0"!==e&&F(t,e),p(t)}}),(0,a.jsx)(w,{onClickNumber:e=>{_?t(e):-1!==g&&F(g,e)},onChange:e=>{l(e.target.value),R(e)},onClickUndo:function(){if(A.length){let e=A.slice(),t=e.pop();N(e),void 0!==t&&n(t)}},onClickErase:function(){-1!==g&&"0"!==s[g]&&O(g,"0")},onClickHint:function(){-1!==g&&O(g,M[g])},onClickMistakesMode:function(){y(!j)},onClickFastMode:function(){_&&t("0"),p(-1),v(!_)}})]}),(0,a.jsx)(c,{})]}),(0,a.jsx)("div",{className:B?`${u().overlay} ${u()["overlay--visible"]}`:u().overlay,onClick:function(){G(!1),R()},children:(0,a.jsxs)("h2",{className:u().overlayText,children:["You ",(0,a.jsx)("span",{className:u().overlayTextspan1,children:"solved"})," ",(0,a.jsx)("span",{className:u().overlayTextspan2,children:"it!"})]})})]})};var R=s(96465),O=s(45809);let F=()=>{let{hasRequiredPermission:e,isPermissionCheckLoading:t}=(0,O.a)({activityId:9207,context:"sudoku-game"}),[s,r]=(0,i.useState)(!1),o=(0,n.useRouter)();return((0,i.useEffect)(()=>{r(!0)},[]),t||!e)?null:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(R.N,{game:{name:"Sudoku",description:"Fill in the grid so that every row, every column, and every 3x3 box contains the digits 1 through 9.",instructions:"Fill in the grid so that every row, every column, and every 3x3 box contains the digits 1 through 9."},onRestart:()=>{o.reload()},onResume:()=>{}}),(0,a.jsx)(_,{children:(0,a.jsx)(G,{})})]})}},56666:(e,t,s)=>{"use strict";s.d(t,{v:()=>r});var a=s(425),n=s(94285),i=s(46675);let r=()=>{let{data:e}=(0,i.V)(),t=e?.userType,s=e?.userPermissions??[],r=e?.userId,o=(0,n.useCallback)(t=>void 0!==e&&(0,a.ZU)({userPermissions:s,requiredPermission:t}),[e,s]),l=(0,n.useCallback)(({requiredPermissions:t,match:n})=>void 0!==e&&(0,a.kU)({userPermissions:s,requiredPermissions:t,match:n}),[e,s]);return{userType:t,userPermissions:s,userId:r,userHasPermission:o,userHasPermissions:l}}},67848:(e,t,s)=>{"use strict";s.d(t,{i:()=>n});var a=s(7123);let n={all:[a.B.OwnUser],current:[a.B.OwnUser,"current"]}},80013:(e,t,s)=>{"use strict";s.d(t,{n:()=>i});var a=s(23090),n=s(4705);let i=a.A.create({baseURL:"https://api.motion.org.uk",headers:{Accept:"application/json","Content-Type":"application/json"},withCredentials:!0});i.interceptors.request.use(e=>(e.baseURL="https://api.motion.org.uk",e.data instanceof FormData&&delete e.headers["Content-Type"],e)),i.interceptors.response.use(e=>e,e=>{let t=e?.response?.status===401,s=e?.response?.message==="token expired"||e?.response?.data==="Unauthorized"||e?.response?.data?.message==="Authentication required";return t&&s&&((0,n.xW)(window.location.pathname)||(window.location.href="/wellbeing/login")),Promise.reject(e)})},87825:(e,t,s)=>{"use strict";s.d(t,{K:()=>u});var a=s(65663),n=s(94285),i=s(56666),r=s(46675),o=s(29704),l=s(693);let u=({permissionRequirement:e,context:t})=>{let s=(0,a.useRouter)(),{isLoading:u}=(0,r.V)(),{userHasPermissions:c,userPermissions:d}=(0,i.v)(),_=c(e);return(0,n.useEffect)(()=>{if(!u&&!_){let e=(0,o.W)({userPermissions:d});s.replace(e).catch(s=>(0,l.X)({error:s,context:t,destination:e}))}},[t,_,u,e,s,d]),{hasRequiredPermission:_,isPermissionCheckLoading:u}}},88671:(e,t,s)=>{"use strict";s.d(t,{u:()=>r});var a=s(52111),n=s(7123),i=s(80013);let r=()=>{let e=(0,a.useQueryClient)();return(0,a.useMutation)(e=>i.n.post("/activities/complete",e),{onSuccess:()=>
1{e.invalidateQueries([n.B.CompletedActivities])}})}},96465:(e,t,s)=>{"use strict";s.d(t,{N:()=>h});var a=s(94513),n=s(27988),i=s.n(n),r=s(65663),o=s(94285),l=s(45758),u=s.n(l),c=s(88214),d=s(7150),_=s.n(d);let h=({game:e,onRestart:t,onResume:s})=>{let[n,l]=(0,o.useState)(!1),d=(0,r.useRouter)();return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:`${_().makeActive} ${n?_().activeButtonActive:""}`,children:(0,a.jsx)("button",{className:_().activeButton,onClick:()=>l(!n),children:">"})}),(0,a.jsxs)("div",{className:`${_().gameWindow} ${n?_().makeWindowActive:""}`,children:[(0,a.jsxs)("div",{className:_().text,children:[(0,a.jsx)(i(),{children:(0,a.jsx)("title",{children:`${e.name} | ${c.o.site_name??""}`})}),(0,a.jsx)("h1",{children:e.name}),(0,a.jsx)("p",{children:e.description}),(0,a.jsx)("p",{children:e.instructions})]}),(0,a.jsxs)("div",{className:_().buttons,children:[(0,a.jsx)("button",{className:`${u().bigButton} ${u().dangerButton}`,onClick:()=>d.push("/wellbeing/activities/?filter=Games"),children:"Exit"}),(0,a.jsx)("button",{className:`${u().bigButton} ${u().button}`,onClick:()=>{l(!1),t()},children:"Restart"}),(0,a.jsx)("button",{className:`${u().bigButton} ${u().Gobutton}`,onClick:()=>{l(!1),s()},children:"Resume"})]})]})]})}}},e=>{e.O(0,[1018,3090,636,6593,8792],()=>e(e.s=42805)),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.