1function e(e){return e&&typeof e==`object`?String(e.type??e.affiliation??e.name??e.label??``).trim():String(e||``).trim()}function t(t){let n=t;if(typeof n==`string`)try{n=JSON.parse(n)}catch{n=[]}return Array.isArray(n)?n.map(t=>({...t,affiliation:e(t?.affiliation)})):[]}function n(e,n){let r=String(n?.id??n?.userid??``).trim();return r&&t(e?.members).find(e=>String(e?.userid??``).trim()===r)||null}function r(t,r){return e(n(t,r)?.affiliation||t?.affiliation)}function i(e,t){let n=String(r(e,t)).toLowerCase();return n===`coach`?`coach`:n===`mentor`?`mentor`:n===`team member`||n===`student`?`student`:e&&(e.id??e.teamid??e.team_number??e.number??e.name)?`parent`:`public`}function a(e,t){let n=i(e,t);return n===`coach`||n===`mentor`}export{a as t};
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.