r}}}});let d={originalObject:u,originalProperties:p};if(!a&&u?.prototype!==void 0){let e=c({context:u,property:"prototype",propertiesToExclude:s,skipPrototype:!0});e instanceof Error||(d.originalPrototype=e?.originalObject,d.originalPrototypeProperties=e?.originalProperties)}return o({context:t,property:r,value:u,enumerable:f?.enumerable}),d}function a(e,t){let r=(t||globalThis)[e],n=l(t||globalThis,e);return r&&n&&(n.writable||n.configurable)?(Object.freeze(r),o({context:globalThis,property:e,value:r})):r}function l(e,t){if(!(!e||!t))try{return Reflect.getOwnPropertyDescriptor(e,t)}catch{return}}function s(e){if("string"!=typeof e)return e;try{return decodeURIComponent(e).toLowerCase().trim()}catch{return e.toLowerCase().trim()}}function u(e,t){return e instanceof Headers?e.forEach((r,o)=>{p(o,t)||e.delete(o)}):Object.keys(e).forEach(r=>{p(r,t)||delete e[r]}),e}function p(e,t){return!t.has(s(e)||"")}function f(e,t){let r=!0,o=s(function(e){let t,r;if(globalThis.Request&&e instanceof Request)t=e.url;else if("function"==typeof e?.toString)t=e.toString();else throw Error("Unsupported type for url");try{return new URL(t).pathname}catch{return(r=t.replace(/#.+/gi,"").split("?").shift()).startsWith("/")?r:`/${r}`}}(e));return o&&t.some(e=>o.includes(e))&&(r=!1),r}performance.mark("overrideGlobals started");let{experiments:d}=window.viewerModel,y=d["specs.thunderbolt.securityExperiments"];try{let e,t,r,n,i,l=globalThis.open,h=document.open;function b(e,t,r){var o;let n="string"!=typeof e,i=l.call(window,e,t,r);return n||e&&((o=e).startsWith("//")&&/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/g.test(`${location.protocol}:${o}`)&&(o=`${location.protocol}${o}`),!o.startsWith("http")||new URL(o).hostname===location.hostname)?{}:i}o({property:"open",value:b,context:globalThis,enumerable:!0}),o({property:"open",value:function(e,t,r){return e?b(e,t,r):h.call(document,e||"",t||"",r||"")},context:document,enumerable:!0}),y&&(e=document.createElement,t=Element.prototype.setAttribute,r=Element.prototype.setAttributeNS,o({property:"createElement",context:document,value:function(n,i){let c=e.call(document,n,i);return"iframe"===s(n)&&(o({property:"srcdoc",context:c,get:()=>"",set:()=>{console.warn("`srcdoc` is not allowed in iframe elements.")}}),c.setAttribute=function(e,r){"srcdoc"===e.toLowerCase()?console.warn("`srcdoc` attribute is not allowed to be set."):t.call(c,e,r)},c.setAttributeNS=function(e,t,o){"srcdoc"===t.toLowerCase()?console.warn("`srcdoc` attribute is not allowed to be set."):r.call(c,e,t,o)}),c},enumerable:!0})),d["specs.thunderbolt.hardenFetchAndXHR"]&&y&&function(e,t,r){let n=fetch,i=XMLHttpRequest,c=new Set(t);function a(){let t=new i,o=t.open,n=t.setRequestHeader;return t.open=function(){let n=Array.from(arguments),i=n[1];if(n.length<2||f(i,e))return o.apply(t,n);throw Error(r||`Request not allowed for path ${i}`)},t.setRequestHeader=function(e,r){p(decodeURIComponent(e),c)&&n.call(t,e,r)},t}o({property:"fetch",value:function(){var t;let o=(t=arguments,globalThis.Request&&t[0]instanceof Request&&t[0]?.headers?u(t[0].headers,c):t[1]?.headers&&u(t[1].headers,c),t);return f(arguments[0],e)?n.apply(globalThis,Array.from(o)):new Promise((e,t)=>{let o=Error(r||`Request not allowed for path ${arguments[0]}`);t(o)})},enumerable:!0}),o({property:"XMLHttpRequest",value:a,enumerable:!0}),Object.keys(i).forEach(e=>{a[e]=i[e]})}(["/_api/v1/access-tokens","/_api/v2/dynamicmodel","/_api/one-app-session-web/v3/businesses"],["client-binding"]),function(){if(navigator&&"serviceWorker"in navigator)navigator.serviceWorker.register,o({context:navigator.serviceWorker,property:"register",value:function(){console.log("Service worker registration is not allowed")},enumerable:!0})}(),n=[],i=(i=[]).concat(["TextEncoder","TextDecoder"]),y&&(i=i.concat(["XMLHttpRequestEventTarget","EventTarget"])),i=i.concat(["URL","JSON"]),y&&(n=n.concat(["addEventListener","removeEventListener"])),n=n.concat(["encodeURI","encodeURIComponent","decodeURI","decodeURIComponent"]),i=i.concat(["String","Number"]),y&&i.push("Object"),i=i.concat(["Reflect"]),n.forEach(e=>{a(e),["addEventListener","removeEventListener"].includes(e)&&a(e,document)}),i.forEach(e=>{c({property:e})}),y&&function(){return e("setTimeout",0,globalThis),e("setInterval",0,globalThis);function e(e,t,r){let n=r||globalThis,i=n[e];if(!i||"function"!=typeof i)throw Error(`Function ${e} not found or is not a function`);o({property:e,value:function(){let r=Array.from(arguments);if("string"!=typeof r[t])return i.apply(n,r);console.warn(`Calling ${e} with a String Argument at index ${t} is not allowed`)},context:r,enumerable:!0})}}()}catch(t){window?.viewerModel?.mode.debug&&console.error(t);let e=Error("TB006");window.fedops?.reportError(e,"security_overrideGlobals"),window.Sentry?window.Sentry.captureException(e):globalThis.defineStrictProperty("sentryBuffer",[e],window,!1)}performance.mark("overrideGlobals ended")})();
//# sourceMappingURL=overrideGlobals.inline.306e90d8.bundle.min.js.map
Please note you may be asked to complete a Volunteer Application if we do not have one on file or if updates are necessary. The Volunteer Application is a one-time step and volunteering for additional events going forward, will only include entering First Name and Email Address as the Volunteer Application creates a unique Volunteer Profile. You must enter the same name and email address used when completing the application.
Volunteer Roles
Whether you’re looking for a one-day experience or ongoing leadership opportunities, we offer a variety of meaningful roles to help you reach your personal and professional goals.
Why Volunteer
It takes nearly 5,000 volunteers to keep our organization and events running. Whether you’re looking for a one-day experience or a year-round leadership opportunity, we offer a variety of meaningful roles suited to help you reach your personal and professional goals. From course marshals to fluid stations and finish line volunteers, we have something for everyone.
Ways to Volunteer
The Twin Cities In Motion Association is made up of nearly 400 dedicated volunteers working year-round to plan all of TCM's events and activities.
Are you interested in being a medical volunteer? Please email Senior Volunteers Manager, Kelli Haapala, to learn more about the various opportunities, and receive detailed registration instructions.