Eventuate
Desktop Instructions
Drag this link to your bookmarks bar:
Mobile Instructions
- Copy this JavaScript code snippet to the clipboard:
javascript:(function%20()%20%7B%0A%20%20%2F%2F%20Version%201.2.1%0A%20%20(()%3D%3E%7B%22use%20strict%22%3Bvar%20e%3D%7B65%3A(e%2Ct%2Cr)%3D%3E%7BObject.defineProperty(t%2C%22__esModule%22%2C%7Bvalue%3A!0%7D)%2Ct.ResultsPageExtractor%3Dvoid%200%3Bconst%20n%3Dr(768)%3Bfunction%20s(e)%7Breturn%20Number(e%3F.split(%22%2F%22)%3F.slice(-1))%7Dt.ResultsPageExtractor%3Dclass%7BeventName%3BcourseLength%3BeventDate%3BeventNumber%3Bfinishers%3Bunknowns%3BnewestParkrunners%3BfirstTimers%3BfinishersWithNewPBs%3BrunningWalkingGroups%3Bfacts%3D%7Bfinishers%3A0%2Cfinishes%3A0%2Cpbs%3A0%2Cvolunteers%3A0%7D%3BresultsPageDocument%3Bconstructor(e)%7Bthis.resultsPageDocument%3De%2Cthis.eventName%3De.querySelector(%22.Results-header%20%3E%20h1%22)%3F.textContent%3F%3Fvoid%200%2Cthis.courseLength%3Dthis.eventName%3F.includes(%22junior%20parkrun%22)%3F2%3A5%3Bconst%20t%3De.querySelectorAll(%22.Results-table-row%22)%3Bthis.finishers%3DArray.from(t).map((e%3D%3Enew%20n.Finisher(this.removeSurnameFromJunior(e.dataset.name)%2Ce.dataset.agegroup%2Ce.dataset.club%2Ce.dataset.gender%2Ce.dataset.position%2Ce.dataset.runs%2Ce.dataset.vols%2Ce.dataset.agegrade%2Ce.dataset.achievement%2Ce.querySelector(%22.Results-table-td--time%20.compact%22)%3F.textContent%3F%3Fvoid%200%2Cs(e.querySelector(%22.Results-table-td--name%20a%22)%3F.href))))%2Cthis.populateVolunteerData()%2Cthis.eventDate%3De.querySelector(%22.format-date%22)%3F.textContent%3F%3Fvoid%200%2Cthis.eventNumber%3De.querySelector(%22.Results-header%20%3E%20h3%20%3E%20span%3Alast-child%22)%3F.textContent%7C%7Cvoid%200%2Cthis.unknowns%3Dthis.finishers.filter((e%3D%3E0%3D%3D%3DNumber(e.runs))).map((()%3D%3E%22Unknown%22))%2Cthis.newestParkrunners%3Dthis.finishers.filter((e%3D%3E1%3D%3D%3DNumber(e.runs))).map((e%3D%3Ee.name))%2Cthis.firstTimers%3DArray.from(t).filter((e%3D%3Ee.querySelector(%22td.Results-table-td--ft%22)%26%26Number(e.dataset.runs)%3E1)).map((e%3D%3Ethis.removeSurnameFromJunior(e.dataset.name)))%2Cthis.finishersWithNewPBs%3DArray.from(t).filter((e%3D%3Ee.querySelector(%22td.Results-table-td--pb%22))).map((e%3D%3E%60%24%7Bthis.removeSurnameFromJunior(e.dataset.name)%7D%20(%24%7Be.querySelector(%22.Results-table-td--time%20.compact%22)%3F.textContent%7D)%60))%2Cthis.runningWalkingGroups%3DArray.from(new%20Set(this.finishers.map((e%3D%3Ee%3F.club%7C%7C%22%22)).filter((e%3D%3E%22%22!%3D%3De))))%3Bconst%5B%2Cr%2Co%2Ci%2Ca%2C%2C%2C%5D%3DArray.from(document.querySelectorAll(%22.aStat%22)).map((e%3D%3Ee%3F.textContent%3F.replace(%2F%5E%5B%5E%3A%5D*%3A%2F%2C%22%22).trim()))%3Bthis.facts.finishers%3Dr%3FNumber(r)%3A0%2Cthis.facts.finishes%3Do%3FNumber(o)%3A0%2Cthis.facts.pbs%3Da%3FNumber(a)%3A0%2Cthis.facts.volunteers%3Di%3FNumber(i)%3A0%7DvolunteerElements()%7Breturn%20this.resultsPageDocument.querySelectorAll(%22.Results%20%2B%20div%20h3%3Afirst-of-type%20%2B%20p%3Afirst-of-type%20a%22)%7DremoveSurnameFromJunior(e)%7Bif(!e%7C%7C5%3D%3Dthis.courseLength)return%20e%3F%3F%22%22%3B%7Bconst%20t%3De.split(%22%20%22)%3Bif(2%3D%3D%3Dt.length)return%20t%5B0%5D%7Dreturn%20e.replace(%2F%5B-'%20A-Z%5D%2B%24%2F%2C%22%22)%7DpopulateVolunteerData()%7Bthis.volunteerElements().forEach((e%3D%3E%7Bconst%20t%3Ds(e.href)%3Bif(e.dataset.athleteid%3F%3F%3Dt.toString()%2C!e.dataset.vols%7C%7C!e.dataset.agegroup)%7Bconst%20r%3Dthis.finishers.find((e%3D%3Ee.athleteID%3D%3D%3Dt))%3Br%26%26(e.dataset.vols%3Dr%3F.vols%3F.toString()%2Ce.dataset.agegroup%3Dr%3F.agegroup%2Ce.dataset.vols_source%3D%22finisher%22)%7D%7D))%7DvolunteersList()%7Breturn%20Array.from(this.volunteerElements()).map((e%3D%3E(%7Bname%3Athis.removeSurnameFromJunior(e.text)%2Clink%3Ae.href%2CathleteID%3ANumber(e.dataset.athleteid)%2Cagegroup%3Ae.dataset.agegroup%2Cvols%3ANumber(e.dataset.vols)%7D)))%7D%7D%7D%2C97%3A(e%2Ct)%3D%3E%7BObject.defineProperty(t%2C%22__esModule%22%2C%7Bvalue%3A!0%7D)%2Ct.VolunteerPageExtractor%3Dvoid%200%2Ct.VolunteerPageExtractor%3Dclass%7Bvols%3Bagegroup%3Bconstructor(e)%7Bconst%20t%3De.querySelector(%22%23content%20%3E%20p%3Alast-of-type%22)%3F.textContent%3F%3F%22%22%3Bthis.vols%3DNumber(e.querySelector(%22h3%23volunteer-summary%20%2B%20table%20tfoot%20td%3Alast-child%22)%3F.textContent)%2Cthis.agegroup%3Dt.trim().split(%22%20%22).slice(-1)%5B0%5D%3F%3F%22Not%20found%20on%20page%22%7D%7D%7D%2C137%3A(e%2Ct)%3D%3E%7BObject.defineProperty(t%2C%22__esModule%22%2C%7Bvalue%3A!0%7D)%2Ct.fiveKVolunteersToMilestones%3Dfunction(e)%7Bconst%20t%3D%7B10%3A%7Bicon%3A%22%26%23x1F90D%3B%22%2Crestricted_age%3A%22J%22%7D%2C25%3A%7Bicon%3A%22%26%23x1F49C%3B%22%7D%2C50%3A%7Bicon%3A%22%26%23x2764%3B%22%7D%2C100%3A%7Bicon%3A%22%26%23x1F5A4%3B%22%7D%2C250%3A%7Bicon%3A%22%26%23x1F49A%3B%22%7D%2C500%3A%7Bicon%3A%22%26%23x1F499%3B%22%7D%2C1e3%3A%7Bicon%3A%22%26%23x1F49B%3B%22%7D%7D%2Cr%3D%5B%5D%3Bfor(const%20n%20in%20t)%7Bconst%20s%3Dt%5Bn%5D%2Co%3De.filter((e%3D%3Ee.vols%3D%3D%3DNumber(n)%26%26(!s.restricted_age%7C%7Ce.agegroup%3F.startsWith(s.restricted_age)))).map((e%3D%3Ee.name))%3Bo.length%3E0%26%26r.push(%7BclubName%3A%60v%24%7Bn%7D%60%2Cicon%3As.icon%2Cnames%3Ao%7D)%7Dreturn%20r%7D%7D%2C180%3A(e%2Ct%2Cr)%3D%3E%7BObject.defineProperty(t%2C%22__esModule%22%2C%7Bvalue%3A!0%7D)%2Ct.VolunteerWithCount%3Dvoid%200%3Bconst%20n%3Dr(97)%3Bt.VolunteerWithCount%3Dclass%7Bname%3Blink%3BathleteID%3Bvols%3Bagegroup%3BvolunteerDataSource%3BpromisedVols%3Bconstructor(e)%7Bthis.name%3De.name%2Cthis.link%3De.link%3Bconst%20t%3Dnew%20URL(e.link)%3Bthis.volunteerDataSource%3Dnew%20URL(t.pathname.split(%22%2F%22).slice(2).join(%22%2F%22)%2Ct.origin)%2Cthis.athleteID%3De.athleteID%2Cthis.vols%3De.vols%3F%3F0%2Cthis.agegroup%3De.agegroup%3F%3F%22%22%2Cthis.vols%7C%7C(this.promisedVols%3Dthis.fetchdata())%7Dfetchdata()%7Bconst%20e%3DsessionStorage.getItem(this.athleteID.toString())%3Bif(!e)return%20fetch(this.volunteerDataSource).then((e%3D%3Ee.text())).then((e%3D%3Ethis.volsFromHtml(e)))%3B%7Bconst%20t%3DJSON.parse(e)%3Bthis.vols%3DNumber(t.vols)%2Cthis.agegroup%3Dt.agegroup%7D%7DvolsFromHtml(e)%7Bconst%20t%3Dnew%20n.VolunteerPageExtractor((new%20DOMParser).parseFromString(e%2C%22text%2Fhtml%22))%3Breturn%20this.vols%3Dt.vols%2Cthis.agegroup%3Dt.agegroup%2CsessionStorage.setItem(this.athleteID.toString()%2CJSON.stringify(t))%2Ct%7D%7D%7D%2C196%3A(e%2Ct%2Cr)%3D%3E%7BObject.defineProperty(t%2C%22__esModule%22%2C%7Bvalue%3A!0%7D)%2Ct.MilestonePresenter%3Dvoid%200%3Bconst%20n%3Dr(846)%3Bt.MilestonePresenter%3Dclass%7B_milestoneCelebrations%3B_milestoneCelebrationsAll%3Bconstructor(e)%7Bthis._milestoneCelebrations%3De%2Cthis._milestoneCelebrationsAll%3Dthis._milestoneCelebrations.flatMap((e%3D%3Ee.names))%7Dtitle()%7Breturn%60Three%20cheers%20to%20the%20%24%7B(0%2Cn.pluralize)(%22parkrunner%22%2C%22parkrunners%22%2Cthis._milestoneCelebrationsAll.length)%7D%20who%20joined%20a%20new%20parkrun%20milestone%20club%20this%20weekend%3A%3Cbr%3E%60%7Ddetails()%7Breturn%20this._milestoneCelebrations.map((e%3D%3E%60%24%7Be.icon%7D%20%24%7B(0%2Cn.sortAndConjoin)(e.names)%7D%20joined%20the%20%24%7Be.clubName%7D-club%60)).join(%22%3Cbr%3E%22)%7D%7D%7D%2C267%3A(e%2Ct)%3D%3E%7BObject.defineProperty(t%2C%22__esModule%22%2C%7Bvalue%3A!0%7D)%2Ct.twoKVolunteersToMilestones%3Dfunction(e)%7Bconst%20t%3De.filter((e%3D%3E5%3D%3D%3De.vols%26%26e.agegroup%3F.startsWith(%22J%22))).map((e%3D%3Ee.name))%3Breturn%20t.length%3F%5B%7BclubName%3A%22junior%20parkrun%20v5%22%2Cicon%3A%22%26%23x1F49E%3B%22%2Cnames%3At%7D%5D%3A%5B%5D%7D%7D%2C597%3A(e%2Ct)%3D%3E%7BObject.defineProperty(t%2C%22__esModule%22%2C%7Bvalue%3A!0%7D)%2Ct.fiveKFinishersToMilestones%3Dfunction(e)%7Bconst%20t%3D%7B10%3A%7Bicon%3A%22%26%23x26AA%3B%22%2Crestricted_age%3A%22J%22%7D%2C25%3A%7Bicon%3A%22%26%23x1F7E3%3B%22%7D%2C50%3A%7Bicon%3A%22%26%23x1F534%3B%22%7D%2C100%3A%7Bicon%3A%22%26%23x26AB%3B%22%7D%2C250%3A%7Bicon%3A%22%26%23x1F7E2%3B%22%7D%2C500%3A%7Bicon%3A%22%26%23x1F535%3B%22%7D%2C1e3%3A%7Bicon%3A%22%26%23x1F7E1%3B%22%7D%7D%2Cr%3D%5B%5D%3Bfor(const%20n%20in%20t)%7Bconst%20s%3Dt%5Bn%5D%2Co%3De.filter((e%3D%3ENumber(e.runs)%3D%3D%3DNumber(n)%26%26(!s.restricted_age%7C%7Ce.agegroup%3F.startsWith(s.restricted_age)))).map((e%3D%3Ee.name))%3Bo.length%3E0%26%26r.push(%7BclubName%3An%2Cicon%3As.icon%2Cnames%3Ao%7D)%7Dreturn%20r%7D%7D%2C768%3A(e%2Ct)%3D%3E%7BObject.defineProperty(t%2C%22__esModule%22%2C%7Bvalue%3A!0%7D)%2Ct.Finisher%3Dvoid%200%2Ct.Finisher%3Dclass%7Bname%3Bagegroup%3Bclub%3Bgender%3Bposition%3Bruns%3Bvols%3Bagegrade%3Bachievement%3Btime%3BathleteID%3Bconstructor(e%2Ct%2Cr%2Cn%2Cs%2Co%2Ci%2Ca%2Cl%2Cu%2Cc)%7Bthis.name%3De%3F%3F%22a%20parkrunner%22%2Cthis.agegroup%3Dt%2Cthis.club%3Dr%2Cthis.gender%3Dn%2Cthis.position%3Ds%2Cthis.runs%3Do%3F%3F%220%22%2Cthis.vols%3Di%2Cthis.agegrade%3Da%2Cthis.achievement%3Dl%2Cthis.time%3Du%2Cthis.athleteID%3Dc%7DisUnknown()%7Breturn%220%22%3D%3D%3Dthis.runs%7D%7D%7D%2C846%3A(e%2Ct)%3D%3E%7Bfunction%20r(e)%7Breturn%20e.length%3E1%3F%60%24%7Be.slice(0%2C-1).join(%22%2C%20%22)%7D%20and%20%24%7Be.slice(-1)%7D%60%3Ae%5B0%5D%7Dfunction%20n(e)%7Breturn%20e.sort(((e%2Ct)%3D%3Ee.localeCompare(t)))%7DObject.defineProperty(t%2C%22__esModule%22%2C%7Bvalue%3A!0%7D)%2Ct.pluralize%3Dfunction(e%2Ct%2Cr)%7Breturn%201%3D%3D%3Dr%3Fe%3A%60%24%7Br%7D%20%24%7Bt%7D%60%7D%2Ct.conjoin%3Dr%2Ct.alphabetize%3Dn%2Ct.sortAndConjoin%3Dfunction(e)%7Breturn%20r(n(e))%7D%7D%2C900%3A(e%2Ct)%3D%3E%7BObject.defineProperty(t%2C%22__esModule%22%2C%7Bvalue%3A!0%7D)%2Ct.upsertParagraph%3Dfunction(e%2Ct%2Cr)%7Bconst%20n%3DArray.from(e.children).find((e%3D%3Ee.id%3D%3D%3Dt))%3Bn%26%26n.remove()%3Bconst%20s%3Ddocument.createElement(%22p%22)%3Bs.id%3Dt%2Ce.appendChild(s)%3Bconst%20o%3D(new%20DOMParser).parseFromString(r%2C%22text%2Fhtml%22)%3Bfor(const%20e%20of%20o.body.childNodes)s.appendChild(e.cloneNode(!0))%3Breturn%20s%7D%2Ct.deleteParagraph%3Dfunction(e%2Ct)%7Bconst%20r%3DArray.from(e.children).find((e%3D%3Ee.id%3D%3D%3Dt))%3Br%26%26r.remove()%7D%7D%2C932%3A(e%2Ct)%3D%3E%7BObject.defineProperty(t%2C%22__esModule%22%2C%7Bvalue%3A!0%7D)%2Ct.twoKFinishersToMilestones%3Dfunction(e)%7Bconst%20t%3D%7B11%3A%7Bicon%3A%22%26%23x1F7E6%3B%22%2Crestricted_age%3A%22J%22%2Cname%3A%22Half%20marathon%22%7D%2C21%3A%7Bicon%3A%22%26%23x1F7E9%3B%22%2Crestricted_age%3A%22J%22%2Cname%3A%22Marathon%22%7D%2C50%3A%7Bicon%3A%22%26%23x1F7E7%3B%22%2Crestricted_age%3A%22J%22%2Cname%3A%22Ultra%20marathon%22%7D%2C100%3A%7Bicon%3A%22%26%23x2B1C%3B%22%2Crestricted_age%3A%22J%22%2Cname%3A%22junior%20parkrun%20100%22%7D%2C250%3A%7Bicon%3A%22%26%23x1F7E8%3B%22%2Crestricted_age%3A%22J%22%2Cname%3A%22junior%20parkrun%20250%22%7D%7D%2Cr%3D%5B%5D%3Bfor(const%20n%20in%20t)%7Bconst%20s%3Dt%5Bn%5D%2Co%3De.filter((e%3D%3ENumber(e.runs)%3D%3D%3DNumber(n)%26%26(!s.restricted_age%7C%7Ce.agegroup%3F.startsWith(s.restricted_age)))).map((e%3D%3Ee.name))%3Bo.length%3E0%26%26r.push(%7BclubName%3As.name%2Cicon%3As.icon%2Cnames%3Ao%7D)%7Dreturn%20r%7D%7D%7D%2Ct%3D%7B%7D%3Bfunction%20r(n)%7Bvar%20s%3Dt%5Bn%5D%3Bif(void%200!%3D%3Ds)return%20s.exports%3Bvar%20o%3Dt%5Bn%5D%3D%7Bexports%3A%7B%7D%7D%3Breturn%20e%5Bn%5D(o%2Co.exports%2Cr)%2Co.exports%7D(()%3D%3E%7Bconst%20e%3Dr(846)%2Ct%3Dr(900)%2Cn%3Dr(597)%2Cs%3Dr(137)%2Co%3Dr(196)%2Ci%3Dr(65)%2Ca%3Dr(932)%2Cl%3Dr(267)%2Cu%3Dr(180)%3Bfunction%20c(r%2Ci%2Cu)%7Bconst%20c%3D%60On%20parkrunday%2C%20%24%7Br.finishers.length%7D%20parkrunners%20joined%20us%20for%20event%20%24%7Br.eventNumber%7D%20and%20completed%20the%20%24%7Br.courseLength%7Dkm%20%24%7Br.eventName%7D%20course%60%2Ch%3D%60Kudos%20to%20our%20%24%7B(0%2Ce.pluralize)(%22newest%20parkrunner%22%2C%22newest%20parkrunners%22%2Cr.newestParkrunners.length)%7D%3A%20%60%2Cd%3D%60Welcome%20to%20the%20%24%7B(0%2Ce.pluralize)(%22parkrunner%22%2C%22parkrunners%22%2Cr.firstTimers.length)%7D%20who%20joined%20us%20at%20%24%7Br.eventName%3F%3F%22parkrun%22%7D%20for%20the%20first%20time%3A%20%60%2Cm%3D%60Very%20well%20done%20to%20the%20%24%7B(0%2Ce.pluralize)(%22parkrunner%22%2C%22parkrunners%22%2Cr.finishersWithNewPBs.length)%7D%20who%20improved%20their%20personal%20best%20this%20week%3A%20%60%2Cp%3D%60We%20were%20pleased%20to%20see%20%24%7B(0%2Ce.pluralize)(%22at%20least%20one%20active%20group%22%2C%22walking%20and%20running%20groups%22%2Cr.runningWalkingGroups.length)%7D%20represented%20at%20this%20event%3A%20%60%2Cg%3Di.map((e%3D%3Ee.vols)).reduce(((e%2Ct)%3D%3Ee%2Bt)%2C0)%2Cf%3D%60The%20following%20%24%7Bi.length.toLocaleString()%7D%20superstars%20have%20volunteered%20a%20total%20of%20%24%7Bg.toLocaleString()%7D%20times%20between%20them%2C%20and%20helped%20us%20host%20%24%7Br.eventName%7D%20this%20weekend.%20Our%20deep%20thanks%20to%3A%20%20%60%2Cv%3D2%3D%3Dr.courseLength%3F%5B...(0%2Cl.twoKVolunteersToMilestones)(i)%2C...(0%2Ca.twoKFinishersToMilestones)(r.finishers)%5D%3A(0%2Cn.fiveKFinishersToMilestones)(r.finishers)%2Cb%3D%5B...(0%2Cs.fiveKVolunteersToMilestones)(i)%2C...v%5D%2Cw%3Dnew%20o.MilestonePresenter(b)%2Cy%3D%60Since%20%24%7Br.eventName%7D%20started%20%24%7Br.facts%3F.finishers%3F.toLocaleString()%7D%20brilliant%20parkrunners%20have%20had%20their%20barcodes%20scanned%2C%20and%20a%20grand%20total%20of%20%24%7Br.facts.finishes.toLocaleString()%7D%20finishers%20have%20covered%20a%20total%20distance%20of%20%24%7B(r.facts.finishes*r.courseLength).toLocaleString()%7Dkm%2C%20while%20celebrating%20%24%7Br.facts.pbs.toLocaleString()%7D%20personal%20bests.%20We%20shall%20always%20be%20grateful%20to%20each%20of%20our%20%24%7Br.facts.volunteers.toLocaleString()%7D%20wonderful%20volunteers%20for%20their%20contributions%60%2Ck%3Ddocument.getElementById(%22eventuate%22)%7C%7Cdocument.createElement(%22div%22)%3Bk.id%3D%22eventuate%22%3Bconst%20x%3D%7Bmessage%3A%7Btitle%3A%22%26%23x23f3%3B%22%2Cdetails%3Au%7D%2Cintroduction%3A%7Btitle%3A%22%22%2Cdetails%3Ac%7D%2CmilestoneCelebrations%3A%7Btitle%3Aw.title()%2Cdetails%3Aw.details()%7D%2CnewestParkrunners%3A%7Btitle%3Ah%2Cdetails%3A(0%2Ce.sortAndConjoin)(r.newestParkrunners)%7D%2CfirstTimers%3A%7Btitle%3Ad%2Cdetails%3A(0%2Ce.sortAndConjoin)(r.firstTimers)%7D%2CnewPBs%3A%7Btitle%3Am%2Cdetails%3A(0%2Ce.sortAndConjoin)(r.finishersWithNewPBs)%7D%2Cgroups%3A%7Btitle%3Ap%2Cdetails%3A(0%2Ce.sortAndConjoin)(r.runningWalkingGroups)%7D%2Cvolunteers%3A%7Btitle%3Af%2Cdetails%3A(0%2Ce.sortAndConjoin)(i.map((e%3D%3Ee.name)))%7D%2Cunknowns%3A%7Btitle%3A%22%22%2Cdetails%3Ar.unknowns.length%3E0%3F%60Please%20don't%20forget%20to%20bring%20a%20scannable%20copy%20of%20your%20barcode%20with%20you%20to%20%24%7Br.eventName%7D%20if%20you'd%20like%20to%20have%20your%20time%20recorded%60%3Avoid%200%7D%2Cfacts%3A%7Btitle%3A%22%22%2Cdetails%3Ay%7D%7D%2C_%3Ddocument.querySelector(%22.Results-header%22)%3Bif(_)%7B_.insertAdjacentElement(%22afterend%22%2Ck)%3Bfor(const%5Be%2Cr%5Dof%20Object.entries(x))if(r.details)%7Bconst%20n%3D%60%24%7Br.title%7D%20%24%7Br.details%7D.%60%3B(0%2Ct.upsertParagraph)(k%2Ce%2Cn)%7Delse(0%2Ct.deleteParagraph)(k%2Ce)%7D%7D!function()%7Bconst%20e%3Dnew%20i.ResultsPageExtractor(document)%2Ct%3De.volunteersList().map((e%3D%3Enew%20u.VolunteerWithCount(e)))%2Cr%3Dt.map((e%3D%3Ee.promisedVols)).filter((e%3D%3E!!e))%2Cn%3D%60Loading%20volunteer%20data%20for%20%24%7Br.length%7D%20parkrunners.%20Please%20wait%60%3Bc(e%2Ct%2Cn)%2CPromise.all(r).then((()%3D%3Ec(e%2Ct)))%7D()%7D)()%7D)()%3B%0A%7D)()%3B
- Tap the Share button (rectangle with arrow)
- Select “Add Bookmark”
- Name it “Eventuate” and save
- Tap the Bookmarks (book) icon
- Find and edit the bookmark you just created
- Replace the URL with the code you copied from the textbox
Size: 14.79KB