@pmndrs/viverse 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/LICENSE +34 -0
  2. package/README.md +41 -0
  3. package/dist/animation/gltf.d.ts +3 -0
  4. package/dist/animation/gltf.js +8 -0
  5. package/dist/animation/index.d.ts +30 -0
  6. package/dist/animation/index.js +150 -0
  7. package/dist/animation/mixamo-bone-map.json +54 -0
  8. package/dist/animation/mixamo.d.ts +3 -0
  9. package/dist/animation/mixamo.js +9 -0
  10. package/dist/animation/utils.d.ts +3 -0
  11. package/dist/animation/utils.js +28 -0
  12. package/dist/animation/vrma.d.ts +3 -0
  13. package/dist/animation/vrma.js +8 -0
  14. package/dist/assets/idle.d.ts +1 -0
  15. package/dist/assets/idle.js +1 -0
  16. package/dist/assets/jump-down.d.ts +1 -0
  17. package/dist/assets/jump-down.js +1 -0
  18. package/dist/assets/jump-forward.d.ts +1 -0
  19. package/dist/assets/jump-forward.js +1 -0
  20. package/dist/assets/jump-loop.d.ts +1 -0
  21. package/dist/assets/jump-loop.js +1 -0
  22. package/dist/assets/jump-up.d.ts +1 -0
  23. package/dist/assets/jump-up.js +1 -0
  24. package/dist/assets/mannequin.d.ts +1 -0
  25. package/dist/assets/mannequin.js +1 -0
  26. package/dist/assets/prototype-texture.d.ts +1 -0
  27. package/dist/assets/prototype-texture.js +1 -0
  28. package/dist/assets/run.d.ts +1 -0
  29. package/dist/assets/run.js +1 -0
  30. package/dist/assets/walk.d.ts +1 -0
  31. package/dist/assets/walk.js +1 -0
  32. package/dist/camera.d.ts +79 -0
  33. package/dist/camera.js +139 -0
  34. package/dist/index.d.ts +7 -0
  35. package/dist/index.js +7 -0
  36. package/dist/input/index.d.ts +30 -0
  37. package/dist/input/index.js +64 -0
  38. package/dist/input/keyboard.d.ts +8 -0
  39. package/dist/input/keyboard.js +77 -0
  40. package/dist/input/pointer-capture.d.ts +14 -0
  41. package/dist/input/pointer-capture.js +59 -0
  42. package/dist/input/pointer-lock.d.ts +13 -0
  43. package/dist/input/pointer-lock.js +51 -0
  44. package/dist/material.d.ts +6 -0
  45. package/dist/material.js +18 -0
  46. package/dist/model/gltf.d.ts +8 -0
  47. package/dist/model/gltf.js +7 -0
  48. package/dist/model/index.d.ts +32 -0
  49. package/dist/model/index.js +57 -0
  50. package/dist/model/vrm.d.ts +9 -0
  51. package/dist/model/vrm.js +19 -0
  52. package/dist/physics/index.d.ts +50 -0
  53. package/dist/physics/index.js +127 -0
  54. package/dist/physics/world.d.ts +9 -0
  55. package/dist/physics/world.js +27 -0
  56. package/dist/simple-character.d.ts +105 -0
  57. package/dist/simple-character.js +329 -0
  58. package/dist/utils.d.ts +2 -0
  59. package/dist/utils.js +34 -0
  60. package/package.json +47 -0
@@ -0,0 +1 @@
1
+ export const url = "data:model/gltf-binary;base64,Z2xURgIAAAAoCwEA7LcAAEpTT057ImFzc2V0Ijp7ImdlbmVyYXRvciI6Iktocm9ub3MgZ2xURiBCbGVuZGVyIEkvTyB2NC41LjQ3IiwidmVyc2lvbiI6IjIuMCJ9LCJzY2VuZSI6MCwic2NlbmVzIjpbeyJuYW1lIjoiU2NlbmUiLCJub2RlcyI6WzUzXX1dLCJub2RlcyI6W3sibmFtZSI6ImhlYWQiLCJyb3RhdGlvbiI6Wy0wLjA3ODY3NDMxNjQwNjI1LDMuOTIwNjk3MTAwMzEyNTA5ZS0wOSwtNS41NTIyNzkwODA5NDQ4ZS0wOSwwLjk5NjkwMDM3OTY1Nzc0NTRdLCJ0cmFuc2xhdGlvbiI6WzEuMTg5NTk4Mzc2MjMzMjM4NmUtMTUsMC4wODI1ODY3NDI5Mzc1NjQ4NSwtNC42NTY2MTI4NzMwNzczOTI2ZS0wOV19LHsiY2hpbGRyZW4iOlswXSwibmFtZSI6Im5lY2siLCJyb3RhdGlvbiI6WzAuMTEwOTg1OTU3MDg2MDg2MjcsLTYuMjMwNDc3MTEyMDEyNTIyZS0wOCwxLjQzNTQwNDY4NDAwMjYwNThlLTA4LDAuOTkzODIxOTc4NTY5MDMwOF0sInNjYWxlIjpbMSwxLDAuOTk5OTk5OTQwMzk1MzU1Ml0sInRyYW5zbGF0aW9uIjpbNC40NDA5NDY3MzIxMjU3MjRlLTE1LDAuMTcyODkwOTAxNTY1NTUxNzYsLTIuMjM1MTc0MTc5MDc3MTQ4NGUtMDhdfSx7Im5hbWUiOiJsZWZ0SW5kZXhEaXN0YWwiLCJyb3RhdGlvbiI6WzUuNjY4NzY4NDIzMDE1ODc5ZS0xNSwyLjI3Nzk2MDgwNjA5NjMyNGUtMTMsMi4yMDAyNDgwNDA0MDMyNjZlLTE0LDFdLCJ0cmFuc2xhdGlvbiI6Wy04LjcwNTQ0ODgwNjI2NzY2OGUtMDksMC4wMzQ4MDAwNjc1NDM5ODM0NiwxLjM1MjgzMjI5OTUxNzEwMzhlLTA3XX0seyJjaGlsZHJlbiI6WzJdLCJuYW1lIjoibGVmdEluZGV4SW50ZXJtZWRpYXRlIiwicm90YXRpb24iOls0LjA4MzA1Nzk0NzczNTM2MzVlLTEzLDguNjk2MzYxODUyODU1NzE2ZS0wOSwtNS4yNTE2MDc4NTk2OTA5MjFlLTA4LDFdLCJ0cmFuc2xhdGlvbiI6WzEuMTQyNTk1MzUxNjY2Mzg2N2UtMDksMC4wNDA3MDAxNDg3OTEwNzQ3NSwyLjUzODkzMjYxOTcwMDA2M2UtMDddfSx7ImNoaWxkcmVuIjpbM10sIm5hbWUiOiJsZWZ0SW5kZXhQcm94aW1hbCIsInJvdGF0aW9uIjpbLTMuMjM2MDc1MjMwMDA2NDYzZS0wOCwwLjcwNzEwOTQ1MTI5Mzk0NTMsLTMuMjM2MTAwODA5NTQ0OTUwNmUtMDgsMC43MDcxMDQwODY4NzU5MTU1XSwic2NhbGUiOlsxLDAuOTk5OTk5ODIxMTg2MDY1NywwLjk5OTk5OTk0MDM5NTM1NTJdLCJ0cmFuc2xhdGlvbiI6WzAuMDAxOTk5ODQ4Mjg5NDE1MjQwMywwLjExOTkwMDExNDgzNDMwODYyLDAuMDMwOTAwMDEwODM5MTA0NjUyXX0seyJuYW1lIjoibGVmdE1pZGRsZURpc3RhbCIsInJvdGF0aW9uIjpbOC44NzIwNjU3NDg3MzI4OTRlLTA5LDEuMzM3MDIwMTY0NzIxMTQ3N2UtMTEsLTAuMDAxMTI5NjEwMjMxMTQ2MjE2NCwwLjk5OTk5OTQwMzk1MzU1MjJdLCJ0cmFuc2xhdGlvbiI6Wy0xLjg4MDgzNTA0MzI2NjQxNTZlLTA5LDAuMDMzOTMzMzI2NjAxOTgyMTIsLTYuMzgwOTgwNzIxNTg3NTQ4ZS0wOF19LHsiY2hpbGRyZW4iOls1XSwibmFtZSI6ImxlZnRNaWRkbGVJbnRlcm1lZGlhdGUiLCJyb3RhdGlvbiI6Wy0xLjA4ODM4MDQ5NjgzODY4MTJlLTA4LDkuMDYwNjk5NzQ2MDQ0MDY1ZS0wOSwwLjAwMTUxMzU1NDU5ODIwNDc5MTUsMC45OTk5OTg4Njc1MTE3NDkzXSwidHJhbnNsYXRpb24iOlsxLjI5MjU3Mzg3MDE1OTY4NTZlLTA4LDAuMDQyMzQ3MjUyMzY4OTI3LC0yLjAzMDkwMTk1MzI3NjA0M2UtMDddfSx7ImNoaWxkcmVuIjpbNl0sIm5hbWUiOiJsZWZ0TWlkZGxlUHJveGltYWwiLCJyb3RhdGlvbiI6Wy0wLjAxNjcwMjQzNDA0ODA1NjYwMiwwLjcwNjkxMjMzODczMzY3MzEsLTAuMDE2NzAyNTYwNzA3OTI2NzUsMC43MDY5MDY2NzYyOTI0MTk0XSwic2NhbGUiOlsxLDAuOTk5OTk5OTQwMzk1MzU1MiwwLjk5OTk5OTk0MDM5NTM1NTJdLCJ0cmFuc2xhdGlvbiI6Wy0wLjAwMDQwMDMxNjUyMzE1NTE5NzUsMC4xMjE2MDAxNTEwNjIwMTE3MiwwLjAwNTIwMDAwMDQ3OTgxNzM5MDRdfSx7Im5hbWUiOiJsZWZ0TGl0dGxlRGlzdGFsIiwicm90YXRpb24iOlstNC43ODcwNzYwNjg4Nzk1MTQ0ZS0wOSwtMy45OTg1ODAxMTI4NTE3MDJlLTEyLDAuMDAwNjA5NTU0NDY2NzkxNDUxLDAuOTk5OTk5ODIxMTg2MDY1N10sInRyYW5zbGF0aW9uIjpbLTQuMzk4MzE2Mzc3NzczODgxZS0wOSwwLjAyNzY2NTQ3MTY1ODExMDYyLDEuNzI5NTYzMzM2OTk0MDMzM2UtMDhdfSx7ImNoaWxkcmVuIjpbOF0sIm5hbWUiOiJsZWZ0TGl0dGxlSW50ZXJtZWRpYXRlIiwicm90YXRpb24iOls3LjQ3MjI0NTkzMzExNTU3M2UtMDksOC43OTY3NDgyMTg3NDIzMjNlLTA5LC0wLjAwMDgzNDQwNTc3MTQ1NjY1ODgsMC45OTk5OTk2NDIzNzIxMzEzXSwic2NhbGUiOlsxLDAuOTk5OTk5OTQwMzk1MzU1MiwxXSwidHJhbnNsYXRpb24iOlstNy4zNTIzNTUxNjkxMzIzNTJlLTA5LDAuMDQwMjkwNTYwNTczMzM5NDYsLTMuMjc4NTI0OTAwNDUxODg0NmUtMDddfSx7ImNoaWxkcmVuIjpbOV0sIm5hbWUiOiJsZWZ0TGl0dGxlUHJveGltYWwiLCJyb3RhdGlvbiI6Wy0wLjAyMzcwNjAyMDc4NzM1ODI4NCwwLjcwNjcxMjEyNjczMTg3MjYsLTAuMDIzNzA2MjA1MTg5MjI4MDU4LDAuNzA2NzA2NDY0MjkwNjE4OV0sInNjYWxlIjpbMSwwLjk5OTk5OTk0MDM5NTM1NTIsMV0sInRyYW5zbGF0aW9uIjpbMC4wMDE1OTk1Mjk1MjUyNjUwOTc2LDAuMTA3Njk5OTc1MzcxMzYwNzgsLTAuMDQwODAwMDM0OTk5ODQ3NDFdfSx7Im5hbWUiOiJsZWZ0UmluZ0Rpc3RhbCIsInJvdGF0aW9uIjpbOC4zODAyNjQ0ODIzNTQ5NmUtMDksMS42NTc4NzQ4NzkwNDYzMzkzZS0xMSwtMC4wMDEwNjcwMDY2MTEyNjUyNDIsMC45OTk5OTk0MDM5NTM1NTIyXSwic2NhbGUiOlsxLDAuOTk5OTk5OTQwMzk1MzU1MiwxXSwidHJhbnNsYXRpb24iOls1LjA5OTUzNjc5Mjg0MDgwOWUtMDksMC4wMzA5MTk1NjQ4ODc4ODEyOCwtMS44ODIzMTA0MTQyMDI5NDhlLTA3XX0seyJjaGlsZHJlbiI6WzExXSwibmFtZSI6ImxlZnRSaW5nSW50ZXJtZWRpYXRlIiwicm90YXRpb24iOlsxLjYzODY1NTA0NDk4ODcyMzhlLTEwLDkuMDAyMzQ1NTM1NjkxMzQ3ZS0wOSwxLjIxODM1NjE5MjExMTk2OWUtMDUsMV0sInRyYW5zbGF0aW9uIjpbLTIuMjIwOTg2MDYxNzI5NDkwOGUtMDksMC4wMzkzMjUwNTQ3MzQ5NDUzLDQuOTU0NzY3OTczNjg2MTAzZS0wOF19LHsiY2hpbGRyZW4iOlsxMl0sIm5hbWUiOiJsZWZ0UmluZ1Byb3hpbWFsIiwicm90YXRpb24iOlstMC4wMTI1ODg3NTE1MDIzMzUwNzIsMC43MDY5OTc1NzMzNzU3MDE5LC0wLjAxMjU4ODg0OTI5MTIwNTQwNiwwLjcwNjk5MTg1MTMyOTgwMzVdLCJzY2FsZSI6WzEuMDAwMDAwMTE5MjA5Mjg5NiwxLjAwMDAwMDExOTIwOTI4OTYsMS4wMDAwMDAxMTkyMDkyODk2XSwidHJhbnNsYXRpb24iOlstMC4wMDAxMDAxNTE4Njg1MzcwNjgzNywwLjExOTEwMDAyNjc4NjMyNzM2LC0wLjAxNzEwMDAyMzEwNTc0MDU0N119LHsibmFtZSI6ImxlZnRUaHVtYkRpc3RhbCIsInJvdGF0aW9uIjpbMC4wMDAyNDc5NDQyMDQ2MDIzOTA1Myw4LjA1NTIzMDg2NDU1NjUwNmUtMDUsLTAuMDAwNTM1MzAxMDQ5MjM5OTMzNSwwLjk5OTk5OTgyMTE4NjA2NTddLCJzY2FsZSI6WzEsMC45OTk5OTk4ODA3OTA3MTA0LDFdLCJ0cmFuc2xhdGlvbiI6WzMuNTU3ODExMzk2NjAzOTM4ZS0wNywwLjA0OTA3NzkwNTcxNDUxMTg3LC0yLjIzNTE3NDE3OTA3NzE0ODRlLTA4XX0seyJjaGlsZHJlbiI6WzE0XSwibmFtZSI6ImxlZnRUaHVtYlByb3hpbWFsIiwicm90YXRpb24iOlstMC4wMDAxMzU3MDg2MDAyODI2NjkwNywtNy40Mjk5MjI2OTgwNjU2MzllLTA1LDQuODE1MzIzMzM2NTE1NTc1NmUtMDUsMV0sInNjYWxlIjpbMSwxLDAuOTk5OTk5ODgwNzkwNzEwNF0sInRyYW5zbGF0aW9uIjpbLTEuMDUxMzc1ODc1MjQ5NTA1ZS0wOSwwLjA0MzAyOTc2NjUyOTc5ODUxLDUuMDI5MTQxOTAyOTIzNTg0ZS0wOF19LHsiY2hpbGRyZW4iOlsxNV0sIm5hbWUiOiJsZWZ0VGh1bWJNZXRhY2FycGFsIiwicm90YXRpb24iOlswLjI0NzQxMzExMzcxMzI2NDQ3LDAuOTQ1Nzk0NDYzMTU3NjUzOCwwLjIwMzQ0MTMyMTg0OTgyMywwLjA1MzU4NDE2MjE0NTg1MzA0XSwic2NhbGUiOlsxLDAuOTk5OTk5ODgwNzkwNzEwNCwxXSwidHJhbnNsYXRpb24iOlswLjAyMjc5OTYwNTUwMzY3ODMyMiwwLjAyNzMwMDAxMTM2NjYwNTc2LDAuMDMzNjAwMDMyMzI5NTU5MzI2XX0seyJjaGlsZHJlbiI6WzQsNywxMCwxMywxNl0sIm5hbWUiOiJsZWZ0SGFuZCIsInJvdGF0aW9uIjpbLTAuMDA4NjE5NzM1MDE3NDE4ODYxLC0xLjk2Njg4Njc0MjM2NjExNGUtMDcsMi4xODYxMDk5MjQxOTU5ODkyZS0wNywwLjk5OTk2Mjg2NjMwNjMwNDldLCJzY2FsZSI6WzEsMC45OTk5OTk5NDAzOTUzNTUyLDFdLCJ0cmFuc2xhdGlvbiI6WzIuODg3MzkwMTY2OTYxMjY4ZS0wNywwLjI3MjY0MDc2NDcxMzI4NzM1LDIuNzkxNDIzOTgwODUyNDE0NGUtMDldfSx7ImNoaWxkcmVuIjpbMTddLCJuYW1lIjoibGVmdExvd2VyQXJtIiwicm90YXRpb24iOlswLjAxNzE4MjIzMjgxMjA0NzAwNSwtMi4wMzc2MzI4MzkzNDY3NzAyZS0wNSwzLjM0MTQ2MzA3MDY4Mjk0ODVlLTA3LDAuOTk5ODUyNDE4ODk5NTM2MV0sInNjYWxlIjpbMSwwLjk5OTk5OTk0MDM5NTM1NTIsMV0sInRyYW5zbGF0aW9uIjpbLTIuNjA1ODQ0NDI5MTI2NTkxNGUtMDgsMC4yNzQ0NDAzNzc5NTA2NjgzMywtNy40NjE0OTQ1MzMzNDUxMDNlLTA5XX0seyJjaGlsZHJlbiI6WzE4XSwibmFtZSI6ImxlZnRVcHBlckFybSIsInJvdGF0aW9uIjpbMC4xODAyNjk3NDc5NzI0ODg0LDAuNjgzODUwMzQ3OTk1NzU4MSwtMC4xNzk4MzY0OTY3MTA3NzcyOCwwLjY4Mzc0NzM1MTE2OTU4NjJdLCJzY2FsZSI6WzAuOTk5OTk5OTQwMzk1MzU1MiwwLjk5OTk5OTc2MTU4MTQyMDksMC45OTk5OTk4ODA3OTA3MTA0XSwidHJhbnNsYXRpb24iOlstMC4wMzAwNzIzNDI2MDQzOTg3MjcsMC4yMTg1ODE4ODUwOTk0MTEsLTAuMDE2OTY3OTg1Nzc5MDQ3MDEyXX0seyJjaGlsZHJlbiI6WzE5XSwibmFtZSI6ImxlZnRTaG91bGRlciIsInJvdGF0aW9uIjpbLTAuNjA0MDIwODkzNTczNzYxLC0wLjM0NTEwMzIzNDA1MjY1ODEsLTAuMzU2NzE3NzA1NzI2NjIzNTQsMC42MjM1NTA0MTUwMzkwNjI1XSwic2NhbGUiOlswLjk5OTk5OTk0MDM5NTM1NTIsMSwxXSwidHJhbnNsYXRpb24iOlswLjAxODc5OTk3OTIzOTcwMjIyNSwwLjE0MDU1MzgwMjI1MTgxNTgsMC4wODA4OTUwNTg4MTA3MTA5MV19LHsibmFtZSI6InJpZ2h0SW5kZXhEaXN0YWwiLCJyb3RhdGlvbiI6Wy0yLjA1ODQ5MDcwMjc1NzMzMDdlLTE2LC0yLjIyOTk5Mjc0NTg0MDU3OTVlLTE1LDEuODM0NzM4NDE1ODgzMTYzN2UtMTQsMV0sInRyYW5zbGF0aW9uIjpbLTguMjE4MTY1NzAzNTEwNzQ5ZS0wOSwwLjAzNDc5OTk0MDg4NDExMzMxLC0xLjAyNjA3MDYwNjI1ODE0NDhlLTA3XX0seyJjaGlsZHJlbiI6WzIxXSwibmFtZSI6InJpZ2h0SW5kZXhJbnRlcm1lZGlhdGUiLCJyb3RhdGlvbiI6Wy0yLjI1NDAyMDI2Njg3NTEyODZlLTEzLC0xLjYzMjQyOTQ4MDQ4MDM2ODVlLTA4LC0zLjE2ODgzNjkyNjE5Mjg1M2UtMDgsMV0sInRyYW5zbGF0aW9uIjpbLTEuMDkyODk5OTkyNzI3MzI1M2UtMDksMC4wNDA3MDAwODkxODY0Mjk5OCwxLjU0NzUzNzkyMDAzMjQ4MjRlLTA4XX0seyJjaGlsZHJlbiI6WzIyXSwibmFtZSI6InJpZ2h0SW5kZXhQcm94aW1hbCIsInJvdGF0aW9uIjpbLTMuMjM2MDcyMzg3ODM1NTJlLTA4LC0wLjcwNzEwOTU3MDUwMzIzNDksMy4yMzYwOTc5NjczNzQwMDc2ZS0wOCwwLjcwNzEwMzk2NzY2NjYyNl0sInNjYWxlIjpbMSwwLjk5OTk5OTg4MDc5MDcxMDQsMV0sInRyYW5zbGF0aW9uIjpbLTAuMDAxOTk5OTU1MTU4NjgwNjc3NCwwLjExOTg5OTg3NjQxNTcyOTUyLDAuMDMwOTAwMDM1MDUzNDkxNTkyXX0seyJuYW1lIjoicmlnaHRNaWRkbGVEaXN0YWwiLCJyb3RhdGlvbiI6WzguMzUwNjkxNjkzNjkyNjI1ZS0wOSwtMS42MDY5MzgwMjAxNDg4ODQ4ZS0xMSwwLjAwMTEyOTY2OTAyMDg4MzczOSwwLjk5OTk5OTM0NDM0ODkwNzVdLCJ0cmFuc2xhdGlvbiI6Wy0xLjQ5ODAyODcyMzI5MDE5ZS0wOCwwLjAzMzkzMzE4MTMxNTY2MDQ4LC03LjQwNzcwMzYwNjA3NzEyZS0wOF19LHsiY2hpbGRyZW4iOlsyNF0sIm5hbWUiOiJyaWdodE1pZGRsZUludGVybWVkaWF0ZSIsInJvdGF0aW9uIjpbLTEuMTE2ODM0NTM1OTYzNTYyM2UtMDgsLTEuNjUwNTAzOTExMzIxMjY2ZS0wOCwtMC4wMDE1MTM2MDU4MjA5NDYzOTU0LDAuOTk5OTk4ODY3NTExNzQ5M10sInRyYW5zbGF0aW9uIjpbNC43MTc1NDkwMTgwOTYxNzllLTA5LDAuMDQyMzQ3MjMwMDE3MTg1MjEsLTkuNDk3Mzc4NTI4MDY3MjAyZS0wOF19LHsiY2hpbGRyZW4iOlsyNV0sIm5hbWUiOiJyaWdodE1pZGRsZVByb3hpbWFsIiwicm90YXRpb24iOlstMC4wMTY3MDI0MjEwMDk1NDA1NTgsLTAuNzA2OTEyMjc5MTI5MDI4MywwLjAxNjcwMjUzNDYzMDg5NDY2LDAuNzA2OTA2NzM1ODk3MDY0Ml0sInNjYWxlIjpbMC45OTk5OTk5NDAzOTUzNTUyLDAuOTk5OTk5ODgwNzkwNzEwNCwwLjk5OTk5OTg4MDc5MDcxMDRdLCJ0cmFuc2xhdGlvbiI6WzAuMDAwNDAwMDk5NjEyMzA2ODAzNDYsMC4xMjE1OTk5NjQ3OTc0OTY4LDAuMDA1MjAwMDExMTkwMDI2OTk4NV19LHsibmFtZSI6InJpZ2h0TGl0dGxlRGlzdGFsIiwicm90YXRpb24iOlstNC42NTA3NTcxMTI3NTYzMWUtMDksNi4wODQwMjM0NzU5ODg0NjVlLTEyLC0wLjAwMDYwOTQ4MzY4NjI3NTc4MDIsMC45OTk5OTk4MjExODYwNjU3XSwic2NhbGUiOlsxLDAuOTk5OTk5OTQwMzk1MzU1MiwxXSwidHJhbnNsYXRpb24iOls4LjUzNzQyNjc2NTU0MjQ3N2UtMDksMC4wMjc2NjUzNTYxNzQxMTEzNjYsMS4yNTg3NDU3ODMxNjE0MzAyZS0wN119LHsiY2hpbGRyZW4iOlsyN10sIm5hbWUiOiJyaWdodExpdHRsZUludGVybWVkaWF0ZSIsInJvdGF0aW9uIjpbNi40NzE5MjgzMjY1OTAxNTk1ZS0wOSwtMS42NTc3ODY5NzQzNjI4MDdlLTA4LDAuMDAwODM0Mjc1Mzg2Mjk2MjEyNywwLjk5OTk5OTY0MjM3MjEzMTNdLCJzY2FsZSI6WzEsMC45OTk5OTk5NDAzOTUzNTUyLDFdLCJ0cmFuc2xhdGlvbiI6WzMuNTEwNjQ5NTQ4ODQzNTAzZS0xMCwwLjA0MDI5MDU5NDEwMDk1MjE1LDEuNjYwNTY5NjM3MzUxNzI3NmUtMDhdfSx7ImNoaWxkcmVuIjpbMjhdLCJuYW1lIjoicmlnaHRMaXR0bGVQcm94aW1hbCIsInJvdGF0aW9uIjpbLTAuMDIzNzA2MDM5NDEzODA5Nzc2LC0wLjcwNjcxMjEyNjczMTg3MjYsMC4wMjM3MDYyMTA3NzcxNjM1MDYsMC43MDY3MDY0NjQyOTA2MTg5XSwic2NhbGUiOlsxLDAuOTk5OTk5ODgwNzkwNzEwNCwxXSwidHJhbnNsYXRpb24iOlstMC4wMDE1OTk3Mjk5OTI0NDkyODM2LDAuMTA3Njk5ODI2MzU5NzQ4ODQsLTAuMDQwODAwMDEyNjQ4MTA1NjJdfSx7Im5hbWUiOiJyaWdodFJpbmdEaXN0YWwiLCJyb3RhdGlvbiI6WzguMTQyMTYxNjExNjAxNzVlLTA5LC0xLjgwNzgyMTYwMDc1MjIxM2UtMTEsMC4wMDEwNjY5NjkzNTgzNjIyNTc1LDAuOTk5OTk5NDYzNTU4MTk3XSwidHJhbnNsYXRpb24iOlstNC4yODQ2Mjk1NDAwNTIyNjVlLTA5LDAuMDMwOTE5NTk0NjkwMjAzNjY3LC0xLjk5ODA5MjUwMDM0Mzc3MzNlLTA3XX0seyJjaGlsZHJlbiI6WzMwXSwibmFtZSI6InJpZ2h0UmluZ0ludGVybWVkaWF0ZSIsInJvdGF0aW9uIjpbLTYuMTA5MDY2NTg1OTM1MzUyZS0xMCwtMS42NzA1NTczODEzMTY5Mzk0ZS0wOCwtMS4yMTM3OTI2MjA1NDY4ODNlLTA1LDFdLCJzY2FsZSI6WzEuMDAwMDAwMTE5MjA5Mjg5NiwxLDFdLCJ0cmFuc2xhdGlvbiI6Wy0xLjk0NzEzNzIwNzAyNTY2MmUtMDgsMC4wMzkzMjUwNzcwODY2ODcwOSwtOC4zNDMzNzE4NjAwNjQ1MDhlLTA4XX0seyJjaGlsZHJlbiI6WzMxXSwibmFtZSI6InJpZ2h0UmluZ1Byb3hpbWFsIiwicm90YXRpb24iOlstMC4wMTI1ODg3MDIxNDIyMzg2MTcsLTAuNzA2OTk3NTczMzc1NzAxOSwwLjAxMjU4ODc4OTY4NjU2MDYzLDAuNzA2OTkxOTEwOTM0NDQ4Ml0sInNjYWxlIjpbMC45OTk5OTk5NDAzOTUzNTUyLDAuOTk5OTk5NzYxNTgxNDIwOSwxXSwidHJhbnNsYXRpb24iOls5Ljk4MjM3NDQ2NzY1NDE1NGUtMDUsMC4xMTkwOTk4MzMwNzEyMzE4NCwtMC4wMTcxMDAwMDQ0NzkyODkwNTVdfSx7Im5hbWUiOiJyaWdodFRodW1iRGlzdGFsIiwicm90YXRpb24iOlswLjAwMDI0NzcxNTEyODM1Mjg2NTYsLTguMjY5OTEzMDg3MTMzMzE4ZS0wNSwwLjAwMDUzNjI5NDg4Njg0MjM3LDAuOTk5OTk5ODgwNzkwNzEwNF0sInNjYWxlIjpbMC45OTk5OTk4ODA3OTA3MTA0LDAuOTk5OTk5ODIxMTg2MDY1NywwLjk5OTk5OTk0MDM5NTM1NTJdLCJ0cmFuc2xhdGlvbiI6Wy0zLjUwMjExMzk0MTA2NzM2NGUtMDcsMC4wNDkwNzc4NjQ3MzYzMTg1OSwtMS4yNTcyODU0NzU3MzA4OTZlLTA4XX0seyJjaGlsZHJlbiI6WzMzXSwibmFtZSI6InJpZ2h0VGh1bWJQcm94aW1hbCIsInJvdGF0aW9uIjpbLTAuMDAwMTM1NDk5OTg0MDI1OTU1Miw3LjQyODQwNDkzMzMwNzMyZS0wNSwtNC43OTMyNzA2MzY1ODI3NDdlLTA1LDFdLCJzY2FsZSI6WzEsMSwwLjk5OTk5OTk0MDM5NTM1NTJdLCJ0cmFuc2xhdGlvbiI6WzEuMTAwMjA2NjQ1Nzg3NjkzNmUtMDcsMC4wNDMwMzAwNjA4Mjc3MzIwODYsLTMuMjU5NjI5MDExMTU0MTc1ZS0wOF19LHsiY2hpbGRyZW4iOlszNF0sIm5hbWUiOiJyaWdodFRodW1iTWV0YWNhcnBhbCIsInJvdGF0aW9uIjpbMC4yNDc0MTM4NTg3NzEzMjQxNiwtMC45NDU3OTQyMjQ3MzkwNzQ3LC0wLjIwMzQ0MTI2MjI0NTE3ODIyLDAuMDUzNTg0NjEyOTA1OTc5MTU2XSwic2NhbGUiOlswLjk5OTk5OTg4MDc5MDcxMDQsMSwwLjk5OTk5OTk0MDM5NTM1NTJdLCJ0cmFuc2xhdGlvbiI6Wy0wLjAyMjc5OTgzMjc0NjM4NjUyOCwwLjAyNzI5OTk0ODAzNjY3MDY4NSwwLjAzMzYwMDAyODYwNDI2OTAzXX0seyJjaGlsZHJlbiI6WzIzLDI2LDI5LDMyLDM1XSwibmFtZSI6InJpZ2h0SGFuZCIsInJvdGF0aW9uIjpbLTAuMDA4NjE5NzYwMTYzMTI4Mzc2LDMuNzU0OTA0ODY3MDM3MTEyZS0wNywtMi4yMDE1MjM3Mjc3NjI4MzNlLTA3LDAuOTk5OTYyODY2MzA2MzA0OV0sInNjYWxlIjpbMSwxLDAuOTk5OTk5OTQwMzk1MzU1Ml0sInRyYW5zbGF0aW9uIjpbLTUuMDMxOTg1NDk0OTUyMDk2ZS0wOCwwLjI3MjY0MDQ2NjY5MDA2MzUsMS43MjA2MTkwMjUwMzYyODUyZS0wOF19LHsiY2hpbGRyZW4iOlszNl0sIm5hbWUiOiJyaWdodExvd2VyQXJtIiwicm90YXRpb24iOlswLjAxNzE4MjQwOTc2MzMzNjE4LDIuMDM0MTYyNzUzMjYxNjI1OGUtMDUsLTMuNjE2MTM1NTg2NTI2MDdlLTA3LDAuOTk5ODUyNDE4ODk5NTM2MV0sInNjYWxlIjpbMSwwLjk5OTk5OTk0MDM5NTM1NTIsMC45OTk5OTk5NDAzOTUzNTUyXSwidHJhbnNsYXRpb24iOlstNi4yNjcwNzIxOTQ1MzIzNzVlLTA4LDAuMjc0NDQwMTk5MTM2NzM0LC0zLjc1NzY2ODMwOTg0NTAzZS0wOF19LHsiY2hpbGRyZW4iOlszN10sIm5hbWUiOiJyaWdodFVwcGVyQXJtIiwicm90YXRpb24iOlswLjE4MDI2OTc0Nzk3MjQ4ODQsLTAuNjgzODUwMjg4MzkxMTEzMywwLjE3OTgzNjQ4MTgwOTYxNjEsMC42ODM3NDc0MTA3NzQyMzFdLCJzY2FsZSI6WzEsMS4wMDAwMDAxMTkyMDkyODk2LDAuOTk5OTk5ODgwNzkwNzEwNF0sInRyYW5zbGF0aW9uIjpbMC4wMzAwNzIzMzg4NzkxMDg0MywwLjIxODU4MTkwMDAwMDU3MjIsLTAuMDE2OTY3OTc2NDY1ODIxMjY2XX0seyJjaGlsZHJlbiI6WzM4XSwibmFtZSI6InJpZ2h0U2hvdWxkZXIiLCJyb3RhdGlvbiI6Wy0wLjYwNDAyMDk1MzE3ODQwNTgsMC4zNDUxMDMwMjU0MzY0MDEzNywwLjM1NjcxNzU1NjcxNTAxMTYsMC42MjM1NTA0NzQ2NDM3MDczXSwic2NhbGUiOlsxLDEuMDAwMDAwMTE5MjA5Mjg5NiwxXSwidHJhbnNsYXRpb24iOlstMC4wMTg4MDAwMDkwNDIwMjQ2MTIsMC4xNDA1NTM4MDIyNTE4MTU4LDAuMDgwODk1MDU4ODEwNzEwOTFdfSx7ImNoaWxkcmVuIjpbMSwyMCwzOV0sIm5hbWUiOiJ1cHBlckNoZXN0Iiwicm90YXRpb24iOlstMC4wMDAyNjg1NDEyNzY0NTQ5MjU1NCw1LjMxNzEyMzQ1MjY0MTY4MWUtMDgsLTMuNzI4ODQwODQ3MjA1ODE2NWUtMTEsMV0sInNjYWxlIjpbMSwwLjk5OTk5OTk0MDM5NTM1NTIsMV0sInRyYW5zbGF0aW9uIjpbMS42MDA3ODU1OTcwOTg4MzI4ZS0xNiwwLjE0MTI3MTc1NTA5OTI5NjU3LDEuMzk2OTgzODYxOTIzMjE3OGUtMDldfSx7ImNoaWxkcmVuIjpbNDBdLCJuYW1lIjoiY2hlc3QiLCJyb3RhdGlvbiI6Wy0wLjA3NzI3OTg3MzE5MjMxMDMzLC0zLjM4NTY0MzQxMDA2OTg2MWUtMDgsLTkuMjQ1NzM1NzMyNTc3MDMyZS0wOSwwLjk5NzAwOTQ1NjE1NzY4NDNdLCJ0cmFuc2xhdGlvbiI6WzEuNTU1OTQ1MTAyMjM5Mjg4NmUtMTUsMC4xMjQwMzQ5NzA5OTg3NjQwNCwtMS4wNDE5MTcxMzAzNTEwNjY2ZS0wOF19LHsiY2hpbGRyZW4iOls0MV0sIm5hbWUiOiJzcGluZSIsInJvdGF0aW9uIjpbLTAuMDY0NzAyNzU2NzAyODk5OTMsLTMuODc4MzgzODM2MzA4Nzg1ZS0wOCwtMS4yNDUyODg0MDU3MjY3OTY2ZS0wOCwwLjk5NzkwNDU5ODcxMjkyMTFdLCJzY2FsZSI6WzEsMSwwLjk5OTk5OTg4MDc5MDcxMDRdLCJ0cmFuc2xhdGlvbiI6WzEuMTc5NDI0MTc2NDU5ODIyNWUtMTQsMC4xMzgxNzYzODE1ODc5ODIxOCwtNC43NDk3NDUxMzA1Mzg5NDA0ZS0wOF19LHsibmFtZSI6ImxlZnRUb2VzIiwicm90YXRpb24iOlswLjAwMDEzNzA5Njk4Mzk2MjY5MjMyLC0wLjk2NDMwNjcxMjE1MDU3MzcsMC4yNjQ3ODczNzU5MjY5NzE0NCwwLjAwMDQ5OTU0OTM4MDAzNzkzMzZdLCJzY2FsZSI6WzEsMS4wMDAwMDAxMTkyMDkyODk2LDAuOTk5OTk5ODgwNzkwNzEwNF0sInRyYW5zbGF0aW9uIjpbMy4zOTg4NzI2NDk5OTU2MWUtMDgsMC4xNzMzMDEwNDExMjYyNTEyMiwtMS4zMzk1MDM3OTY3NzExNjg3ZS0wOF19LHsiY2hpbGRyZW4iOls0M10sIm5hbWUiOiJsZWZ0Rm9vdCIsInJvdGF0aW9uIjpbLTAuNTI5MDcxNjI5MDQ3MzkzOCwtMC4wMDAzMjgwOTQzMjAxMzg5MTY0LDAuMDAwMzQzNDUzMDgwODU5MDM1MjUsMC44NDg1NzcwMjI1NTI0OTAyXSwic2NhbGUiOlsxLDEsMC45OTk5OTk5NDAzOTUzNTUyXSwidHJhbnNsYXRpb24iOlstNy4yODk2MDAwMzQ3MTAwMmUtMDksMC40Mjk0ODAxNjUyNDMxNDg4LC00LjAxNjMyODYwMzAyOTI1MWUtMDldfSx7ImNoaWxkcmVuIjpbNDRdLCJuYW1lIjoibGVmdExvd2VyTGVnIiwicm90YXRpb24iOlswLjAzNjU4NTg2NzQwNDkzNzc0NCwtMC4wMDAxMzEyNjgzMzA3MzMyOTE4LC00Ljc5ODYwNDU1MDE2MDIzNWUtMDYsMC45OTkzMzA1MjA2Mjk4ODI4XSwic2NhbGUiOlswLjk5OTk5OTk0MDM5NTM1NTIsMSwxXSwidHJhbnNsYXRpb24iOls2LjY1ODk2MDQ5NDEyMTQwMmUtMDksMC40MDAzMDk4OTA1MDg2NTE3MywtNy45NjEwOTg0NDcxNDAxMDNlLTExXX0seyJjaGlsZHJlbiI6WzQ1XSwibmFtZSI6ImxlZnRVcHBlckxlZyIsInJvdGF0aW9uIjpbMC45OTI0ODQ0NTAzNDAyNzEsLTIuMjY4MTc4MzExODM3MjMyM2UtMDksMi4wOTc0NzQ1NDk2MDA1MTk4ZS0wNywwLjEyMjM3MDU3ODM0ODYzNjYzXSwic2NhbGUiOlsxLDEsMS4wMDAwMDA4MzQ0NjUwMjY5XSwidHJhbnNsYXRpb24iOlswLjA4ODk5OTk4NjY0ODU1OTU3LDAuMDI3NzcwODM1OTA2MjY3MTY2LDAuMDQ2MDIzODA4NDE5NzA0NDRdfSx7Im5hbWUiOiJyaWdodFRvZXMiLCJyb3RhdGlvbiI6WzAuMDAwMTM3MDk2OTU0ODU4ODYxODYsLTAuOTY0MzA2NzEyMTUwNTczNywwLjI2NDc4NzQzNTUzMTYxNjIsMC4wMDA0OTk1NDkzMjE4MzAyNzI3XSwic2NhbGUiOlsxLDEuMDAwMDAwMjM4NDE4NTc5LDAuOTk5OTk5ODgwNzkwNzEwNF0sInRyYW5zbGF0aW9uIjpbLTEuMDc0MTEzMjQyNzkzODI4MmUtMDgsMC4xNzMzMDA5ODE1MjE2MDY0NSwtMi40Nzk2NDYzNTQ5MTM3MTE1ZS0wOF19LHsiY2hpbGRyZW4iOls0N10sIm5hbWUiOiJyaWdodEZvb3QiLCJyb3RhdGlvbiI6Wy0wLjUyOTA3MTYyOTA0NzM5MzgsLTAuMDAwMzI4MDk0MjYxOTMxMjU1NDYsMC4wMDAzNDM0NTMwMjI2NTEzNzQzNCwwLjg0ODU3NzAyMjU1MjQ5MDJdLCJ0cmFuc2xhdGlvbiI6WzEuNTA1NTA5MzE3MjEyMjcyNGUtMDgsMC40Mjk0Nzk5NTY2MjY4OTIxLDEuMjI5NjM2ODM2Nzk2OTk5ZS0wOV19LHsiY2hpbGRyZW4iOls0OF0sIm5hbWUiOiJyaWdodExvd2VyTGVnIiwicm90YXRpb24iOlswLjAzNjU4NTg3MTEzMDIyODA0LC0wLjAwMDEzMTI2ODM1OTgzNzEyMjI2LC00Ljc5ODYwNjgyMzg5Njk4OWUtMDYsMC45OTkzMzA1MjA2Mjk4ODI4XSwic2NhbGUiOlswLjk5OTk5OTk0MDM5NTM1NTIsMSwxXSwidHJhbnNsYXRpb24iOlstOC4yNDIxODczNzcwNDk5NTllLTA5LDAuNDAwMzEwMDA5NzE3OTQxMyw3Ljk1OTQ5OTcyNTk4NDY0MmUtMTFdfSx7ImNoaWxkcmVuIjpbNDldLCJuYW1lIjoicmlnaHRVcHBlckxlZyIsInJvdGF0aW9uIjpbMC45OTI0ODQ0NTAzNDAyNzEsLTIuMjY4MTY1NjU1Mjk0NzUxNmUtMDksMi4wOTc0NzUyNjAxNDMyNTU2ZS0wNywwLjEyMjM3MDU3MDg5ODA1NjAzXSwic2NhbGUiOlsxLDEsMS4wMDAwMDExOTIwOTI4OTU1XSwidHJhbnNsYXRpb24iOlstMC4wODkwMDAwMTY0NTA4ODE5NiwwLjAyNzc3MDg5NTUxMDkxMTk0LDAuMDQ2MDIzNzUyNTQwMzQ5OTZdfSx7ImNoaWxkcmVuIjpbNDIsNDYsNTBdLCJuYW1lIjoiaGlwcyIsInJvdGF0aW9uIjpbMC4xMjU4NDA4ODc0MjczMzAwMiw5Ljc3NjY0MTcxODQxNzUyMmUtMDgsMS42NzA4OTQ4ODkxMTY0MjU1ZS0wOCwwLjk5MjA1MDQ2ODkyMTY2MTRdLCJzY2FsZSI6WzEsMSwwLjk5OTk5OTk0MDM5NTM1NTJdLCJ0cmFuc2xhdGlvbiI6WzEuNzE0ODUwNTk0ODU4MzE5M2UtMDksMC45MTY2OTk5NDU5MjY2NjYzLC0wLjA1MDEwMDAxNzMzODk5MTE2NV19LHsiY2hpbGRyZW4iOls1MV0sIm5hbWUiOiJyb290Iiwicm90YXRpb24iOlstOC41NTcxMzYzMzI4NTQwNDNlLTA5LDEuNzExNDI3MjY2NTcwODA4NmUtMDgsLTIuOTI4OTgzMjg2Mjc3MDIzZS0xNiwxXX0seyJjaGlsZHJlbiI6WzUyXSwibmFtZSI6IlJpZyJ9XSwiYW5pbWF0aW9ucyI6W3siY2hhbm5lbHMiOlt7InNhbXBsZXIiOjAsInRhcmdldCI6eyJub2RlIjo1MiwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MSwidGFyZ2V0Ijp7Im5vZGUiOjUyLCJwYXRoIjoicm90YXRpb24ifX0seyJzYW1wbGVyIjoyLCJ0YXJnZXQiOnsibm9kZSI6NTIsInBhdGgiOiJzY2FsZSJ9fSx7InNhbXBsZXIiOjMsInRhcmdldCI6eyJub2RlIjo1MSwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6NCwidGFyZ2V0Ijp7Im5vZGUiOjUxLCJwYXRoIjoicm90YXRpb24ifX0seyJzYW1wbGVyIjo1LCJ0YXJnZXQiOnsibm9kZSI6NTEsInBhdGgiOiJzY2FsZSJ9fSx7InNhbXBsZXIiOjYsInRhcmdldCI6eyJub2RlIjo0MiwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6NywidGFyZ2V0Ijp7Im5vZGUiOjQyLCJwYXRoIjoicm90YXRpb24ifX0seyJzYW1wbGVyIjo4LCJ0YXJnZXQiOnsibm9kZSI6NDIsInBhdGgiOiJzY2FsZSJ9fSx7InNhbXBsZXIiOjksInRhcmdldCI6eyJub2RlIjo0MSwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTAsInRhcmdldCI6eyJub2RlIjo0MSwicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6MTEsInRhcmdldCI6eyJub2RlIjo0MSwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6MTIsInRhcmdldCI6eyJub2RlIjo0MCwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTMsInRhcmdldCI6eyJub2RlIjo0MCwicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6MTQsInRhcmdldCI6eyJub2RlIjo0MCwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6MTUsInRhcmdldCI6eyJub2RlIjoxLCJwYXRoIjoidHJhbnNsYXRpb24ifX0seyJzYW1wbGVyIjoxNiwidGFyZ2V0Ijp7Im5vZGUiOjEsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjE3LCJ0YXJnZXQiOnsibm9kZSI6MSwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6MTgsInRhcmdldCI6eyJub2RlIjowLCJwYXRoIjoidHJhbnNsYXRpb24ifX0seyJzYW1wbGVyIjoxOSwidGFyZ2V0Ijp7Im5vZGUiOjAsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjIwLCJ0YXJnZXQiOnsibm9kZSI6MCwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6MjEsInRhcmdldCI6eyJub2RlIjoyMCwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MjIsInRhcmdldCI6eyJub2RlIjoyMCwicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6MjMsInRhcmdldCI6eyJub2RlIjoyMCwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6MjQsInRhcmdldCI6eyJub2RlIjoxOSwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MjUsInRhcmdldCI6eyJub2RlIjoxOSwicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6MjYsInRhcmdldCI6eyJub2RlIjoxOSwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6MjcsInRhcmdldCI6eyJub2RlIjoxOCwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MjgsInRhcmdldCI6eyJub2RlIjoxOCwicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6MjksInRhcmdldCI6eyJub2RlIjoxOCwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6MzAsInRhcmdldCI6eyJub2RlIjoxNywicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MzEsInRhcmdldCI6eyJub2RlIjoxNywicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6MzIsInRhcmdldCI6eyJub2RlIjoxNywicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6MzMsInRhcmdldCI6eyJub2RlIjo0LCJwYXRoIjoidHJhbnNsYXRpb24ifX0seyJzYW1wbGVyIjozNCwidGFyZ2V0Ijp7Im5vZGUiOjQsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjM1LCJ0YXJnZXQiOnsibm9kZSI6NCwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6MzYsInRhcmdldCI6eyJub2RlIjozLCJwYXRoIjoidHJhbnNsYXRpb24ifX0seyJzYW1wbGVyIjozNywidGFyZ2V0Ijp7Im5vZGUiOjMsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjM4LCJ0YXJnZXQiOnsibm9kZSI6MywicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6MzksInRhcmdldCI6eyJub2RlIjoyLCJwYXRoIjoidHJhbnNsYXRpb24ifX0seyJzYW1wbGVyIjo0MCwidGFyZ2V0Ijp7Im5vZGUiOjIsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjQxLCJ0YXJnZXQiOnsibm9kZSI6MiwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6NDIsInRhcmdldCI6eyJub2RlIjo3LCJwYXRoIjoidHJhbnNsYXRpb24ifX0seyJzYW1wbGVyIjo0MywidGFyZ2V0Ijp7Im5vZGUiOjcsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjQ0LCJ0YXJnZXQiOnsibm9kZSI6NywicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6NDUsInRhcmdldCI6eyJub2RlIjo2LCJwYXRoIjoidHJhbnNsYXRpb24ifX0seyJzYW1wbGVyIjo0NiwidGFyZ2V0Ijp7Im5vZGUiOjYsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjQ3LCJ0YXJnZXQiOnsibm9kZSI6NiwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6NDgsInRhcmdldCI6eyJub2RlIjo1LCJwYXRoIjoidHJhbnNsYXRpb24ifX0seyJzYW1wbGVyIjo0OSwidGFyZ2V0Ijp7Im5vZGUiOjUsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjUwLCJ0YXJnZXQiOnsibm9kZSI6NSwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6NTEsInRhcmdldCI6eyJub2RlIjoxMCwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6NTIsInRhcmdldCI6eyJub2RlIjoxMCwicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6NTMsInRhcmdldCI6eyJub2RlIjoxMCwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6NTQsInRhcmdldCI6eyJub2RlIjo5LCJwYXRoIjoidHJhbnNsYXRpb24ifX0seyJzYW1wbGVyIjo1NSwidGFyZ2V0Ijp7Im5vZGUiOjksInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjU2LCJ0YXJnZXQiOnsibm9kZSI6OSwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6NTcsInRhcmdldCI6eyJub2RlIjo4LCJwYXRoIjoidHJhbnNsYXRpb24ifX0seyJzYW1wbGVyIjo1OCwidGFyZ2V0Ijp7Im5vZGUiOjgsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjU5LCJ0YXJnZXQiOnsibm9kZSI6OCwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6NjAsInRhcmdldCI6eyJub2RlIjoxMywicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6NjEsInRhcmdldCI6eyJub2RlIjoxMywicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6NjIsInRhcmdldCI6eyJub2RlIjoxMywicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6NjMsInRhcmdldCI6eyJub2RlIjoxMiwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6NjQsInRhcmdldCI6eyJub2RlIjoxMiwicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6NjUsInRhcmdldCI6eyJub2RlIjoxMiwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6NjYsInRhcmdldCI6eyJub2RlIjoxMSwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6NjcsInRhcmdldCI6eyJub2RlIjoxMSwicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6NjgsInRhcmdldCI6eyJub2RlIjoxMSwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6NjksInRhcmdldCI6eyJub2RlIjoxNiwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6NzAsInRhcmdldCI6eyJub2RlIjoxNiwicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6NzEsInRhcmdldCI6eyJub2RlIjoxNiwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6NzIsInRhcmdldCI6eyJub2RlIjoxNSwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6NzMsInRhcmdldCI6eyJub2RlIjoxNSwicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6NzQsInRhcmdldCI6eyJub2RlIjoxNSwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6NzUsInRhcmdldCI6eyJub2RlIjoxNCwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6NzYsInRhcmdldCI6eyJub2RlIjoxNCwicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6NzcsInRhcmdldCI6eyJub2RlIjoxNCwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6NzgsInRhcmdldCI6eyJub2RlIjozOSwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6NzksInRhcmdldCI6eyJub2RlIjozOSwicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6ODAsInRhcmdldCI6eyJub2RlIjozOSwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6ODEsInRhcmdldCI6eyJub2RlIjozOCwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6ODIsInRhcmdldCI6eyJub2RlIjozOCwicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6ODMsInRhcmdldCI6eyJub2RlIjozOCwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6ODQsInRhcmdldCI6eyJub2RlIjozNywicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6ODUsInRhcmdldCI6eyJub2RlIjozNywicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6ODYsInRhcmdldCI6eyJub2RlIjozNywicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6ODcsInRhcmdldCI6eyJub2RlIjozNiwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6ODgsInRhcmdldCI6eyJub2RlIjozNiwicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6ODksInRhcmdldCI6eyJub2RlIjozNiwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6OTAsInRhcmdldCI6eyJub2RlIjoyMywicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6OTEsInRhcmdldCI6eyJub2RlIjoyMywicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6OTIsInRhcmdldCI6eyJub2RlIjoyMywicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6OTMsInRhcmdldCI6eyJub2RlIjoyMiwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6OTQsInRhcmdldCI6eyJub2RlIjoyMiwicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6OTUsInRhcmdldCI6eyJub2RlIjoyMiwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6OTYsInRhcmdldCI6eyJub2RlIjoyMSwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6OTcsInRhcmdldCI6eyJub2RlIjoyMSwicGF0aCI6InJvdGF0aW9uIn19LHsic2FtcGxlciI6OTgsInRhcmdldCI6eyJub2RlIjoyMSwicGF0aCI6InNjYWxlIn19LHsic2FtcGxlciI6OTksInRhcmdldCI6eyJub2RlIjoyNiwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTAwLCJ0YXJnZXQiOnsibm9kZSI6MjYsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjEwMSwidGFyZ2V0Ijp7Im5vZGUiOjI2LCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxMDIsInRhcmdldCI6eyJub2RlIjoyNSwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTAzLCJ0YXJnZXQiOnsibm9kZSI6MjUsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjEwNCwidGFyZ2V0Ijp7Im5vZGUiOjI1LCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxMDUsInRhcmdldCI6eyJub2RlIjoyNCwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTA2LCJ0YXJnZXQiOnsibm9kZSI6MjQsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjEwNywidGFyZ2V0Ijp7Im5vZGUiOjI0LCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxMDgsInRhcmdldCI6eyJub2RlIjoyOSwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTA5LCJ0YXJnZXQiOnsibm9kZSI6MjksInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjExMCwidGFyZ2V0Ijp7Im5vZGUiOjI5LCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxMTEsInRhcmdldCI6eyJub2RlIjoyOCwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTEyLCJ0YXJnZXQiOnsibm9kZSI6MjgsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjExMywidGFyZ2V0Ijp7Im5vZGUiOjI4LCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxMTQsInRhcmdldCI6eyJub2RlIjoyNywicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTE1LCJ0YXJnZXQiOnsibm9kZSI6MjcsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjExNiwidGFyZ2V0Ijp7Im5vZGUiOjI3LCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxMTcsInRhcmdldCI6eyJub2RlIjozMiwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTE4LCJ0YXJnZXQiOnsibm9kZSI6MzIsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjExOSwidGFyZ2V0Ijp7Im5vZGUiOjMyLCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxMjAsInRhcmdldCI6eyJub2RlIjozMSwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTIxLCJ0YXJnZXQiOnsibm9kZSI6MzEsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjEyMiwidGFyZ2V0Ijp7Im5vZGUiOjMxLCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxMjMsInRhcmdldCI6eyJub2RlIjozMCwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTI0LCJ0YXJnZXQiOnsibm9kZSI6MzAsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjEyNSwidGFyZ2V0Ijp7Im5vZGUiOjMwLCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxMjYsInRhcmdldCI6eyJub2RlIjozNSwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTI3LCJ0YXJnZXQiOnsibm9kZSI6MzUsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjEyOCwidGFyZ2V0Ijp7Im5vZGUiOjM1LCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxMjksInRhcmdldCI6eyJub2RlIjozNCwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTMwLCJ0YXJnZXQiOnsibm9kZSI6MzQsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjEzMSwidGFyZ2V0Ijp7Im5vZGUiOjM0LCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxMzIsInRhcmdldCI6eyJub2RlIjozMywicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTMzLCJ0YXJnZXQiOnsibm9kZSI6MzMsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjEzNCwidGFyZ2V0Ijp7Im5vZGUiOjMzLCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxMzUsInRhcmdldCI6eyJub2RlIjo0NiwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTM2LCJ0YXJnZXQiOnsibm9kZSI6NDYsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjEzNywidGFyZ2V0Ijp7Im5vZGUiOjQ2LCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxMzgsInRhcmdldCI6eyJub2RlIjo0NSwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTM5LCJ0YXJnZXQiOnsibm9kZSI6NDUsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjE0MCwidGFyZ2V0Ijp7Im5vZGUiOjQ1LCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxNDEsInRhcmdldCI6eyJub2RlIjo0NCwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTQyLCJ0YXJnZXQiOnsibm9kZSI6NDQsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjE0MywidGFyZ2V0Ijp7Im5vZGUiOjQ0LCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxNDQsInRhcmdldCI6eyJub2RlIjo0MywicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTQ1LCJ0YXJnZXQiOnsibm9kZSI6NDMsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjE0NiwidGFyZ2V0Ijp7Im5vZGUiOjQzLCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxNDcsInRhcmdldCI6eyJub2RlIjo1MCwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTQ4LCJ0YXJnZXQiOnsibm9kZSI6NTAsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjE0OSwidGFyZ2V0Ijp7Im5vZGUiOjUwLCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxNTAsInRhcmdldCI6eyJub2RlIjo0OSwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTUxLCJ0YXJnZXQiOnsibm9kZSI6NDksInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjE1MiwidGFyZ2V0Ijp7Im5vZGUiOjQ5LCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxNTMsInRhcmdldCI6eyJub2RlIjo0OCwicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTU0LCJ0YXJnZXQiOnsibm9kZSI6NDgsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjE1NSwidGFyZ2V0Ijp7Im5vZGUiOjQ4LCJwYXRoIjoic2NhbGUifX0seyJzYW1wbGVyIjoxNTYsInRhcmdldCI6eyJub2RlIjo0NywicGF0aCI6InRyYW5zbGF0aW9uIn19LHsic2FtcGxlciI6MTU3LCJ0YXJnZXQiOnsibm9kZSI6NDcsInBhdGgiOiJyb3RhdGlvbiJ9fSx7InNhbXBsZXIiOjE1OCwidGFyZ2V0Ijp7Im5vZGUiOjQ3LCJwYXRoIjoic2NhbGUifX1dLCJuYW1lIjoiV2Fsa19Mb29wX1JpZyIsInNhbXBsZXJzIjpbeyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjF9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0IjoyfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6M30seyJpbnB1dCI6NCwiaW50ZXJwb2xhdGlvbiI6IkxJTkVBUiIsIm91dHB1dCI6NX0seyJpbnB1dCI6NCwiaW50ZXJwb2xhdGlvbiI6IkxJTkVBUiIsIm91dHB1dCI6Nn0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjd9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo4fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6OX0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjEwfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTF9LHsiaW5wdXQiOjQsImludGVycG9sYXRpb24iOiJMSU5FQVIiLCJvdXRwdXQiOjEyfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTN9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0IjoxNH0seyJpbnB1dCI6NCwiaW50ZXJwb2xhdGlvbiI6IkxJTkVBUiIsIm91dHB1dCI6MTV9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0IjoxNn0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjE3fSx7ImlucHV0Ijo0LCJpbnRlcnBvbGF0aW9uIjoiTElORUFSIiwib3V0cHV0IjoxOH0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjE5fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MjB9LHsiaW5wdXQiOjQsImludGVycG9sYXRpb24iOiJMSU5FQVIiLCJvdXRwdXQiOjIxfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MjJ9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0IjoyM30seyJpbnB1dCI6NCwiaW50ZXJwb2xhdGlvbiI6IkxJTkVBUiIsIm91dHB1dCI6MjR9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0IjoyNX0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjI2fSx7ImlucHV0Ijo0LCJpbnRlcnBvbGF0aW9uIjoiTElORUFSIiwib3V0cHV0IjoyN30seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjI4fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6Mjl9LHsiaW5wdXQiOjQsImludGVycG9sYXRpb24iOiJMSU5FQVIiLCJvdXRwdXQiOjMwfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MzF9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0IjozMn0seyJpbnB1dCI6NCwiaW50ZXJwb2xhdGlvbiI6IkxJTkVBUiIsIm91dHB1dCI6MzN9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0IjozNH0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjM1fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MzZ9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0IjozN30seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjM4fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6Mzl9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo0MH0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjQxfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6NDJ9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo0M30seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjQ0fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6NDV9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo0Nn0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjQ3fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6NDh9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo0OX0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjUwfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6NTF9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0IjoyNX0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjUyfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6NTN9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo1NH0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjU1fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6NTZ9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo1N30seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjU4fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6NTl9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo2MH0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjYxfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6NjJ9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo2M30seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjY0fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6NjV9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo2Nn0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjY3fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6Njh9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo2OX0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjcwfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6NzF9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo3Mn0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjczfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6NzR9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0IjoxMH0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjc1fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6NzZ9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo3N30seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjc4fSx7ImlucHV0Ijo0LCJpbnRlcnBvbGF0aW9uIjoiTElORUFSIiwib3V0cHV0Ijo3OX0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjgwfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6ODF9LHsiaW5wdXQiOjQsImludGVycG9sYXRpb24iOiJMSU5FQVIiLCJvdXRwdXQiOjgyfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6ODN9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo4NH0seyJpbnB1dCI6NCwiaW50ZXJwb2xhdGlvbiI6IkxJTkVBUiIsIm91dHB1dCI6ODV9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo4Nn0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjg3fSx7ImlucHV0Ijo0LCJpbnRlcnBvbGF0aW9uIjoiTElORUFSIiwib3V0cHV0Ijo4OH0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjd9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo4OX0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjkwfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6OTF9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo5Mn0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjkzfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6OTR9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo5NX0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjk2fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6OTd9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0Ijo5OH0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjk5fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTAwfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTAxfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTAyfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTAzfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTA0fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTA1fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTA2fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTA3fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTA4fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTA5fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTEwfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTExfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTEyfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTEzfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTE0fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTE1fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTE2fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTE3fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTE4fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTE5fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTIwfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTIxfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTIyfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTIzfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTI0fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTI1fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTI2fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTI3fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTI4fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTI5fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTMwfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTMxfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTMyfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTMzfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTM0fSx7ImlucHV0Ijo0LCJpbnRlcnBvbGF0aW9uIjoiTElORUFSIiwib3V0cHV0IjoxMzV9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0IjoxMzZ9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0IjoxMzd9LHsiaW5wdXQiOjQsImludGVycG9sYXRpb24iOiJMSU5FQVIiLCJvdXRwdXQiOjEzOH0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjEzOX0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjE0MH0seyJpbnB1dCI6NCwiaW50ZXJwb2xhdGlvbiI6IkxJTkVBUiIsIm91dHB1dCI6MTQxfSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6OTR9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0IjoxNDJ9LHsiaW5wdXQiOjQsImludGVycG9sYXRpb24iOiJMSU5FQVIiLCJvdXRwdXQiOjE0M30seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjE0NH0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjE0NX0seyJpbnB1dCI6NCwiaW50ZXJwb2xhdGlvbiI6IkxJTkVBUiIsIm91dHB1dCI6MTQ2fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTQ3fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTQ4fSx7ImlucHV0Ijo0LCJpbnRlcnBvbGF0aW9uIjoiTElORUFSIiwib3V0cHV0IjoxNDl9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0IjoxNTB9LHsiaW5wdXQiOjAsImludGVycG9sYXRpb24iOiJTVEVQIiwib3V0cHV0IjoxNTF9LHsiaW5wdXQiOjQsImludGVycG9sYXRpb24iOiJMSU5FQVIiLCJvdXRwdXQiOjE1Mn0seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjE1M30seyJpbnB1dCI6MCwiaW50ZXJwb2xhdGlvbiI6IlNURVAiLCJvdXRwdXQiOjE1NH0seyJpbnB1dCI6NCwiaW50ZXJwb2xhdGlvbiI6IkxJTkVBUiIsIm91dHB1dCI6MTU1fSx7ImlucHV0IjowLCJpbnRlcnBvbGF0aW9uIjoiU1RFUCIsIm91dHB1dCI6MTU2fV19XSwic2tpbnMiOlt7ImludmVyc2VCaW5kTWF0cmljZXMiOjE1Nywiam9pbnRzIjpbNTIsNTEsNDIsNDEsNDAsMSwwLDIwLDE5LDE4LDE3LDQsMywyLDcsNiw1LDEwLDksOCwxMywxMiwxMSwxNiwxNSwxNCwzOSwzOCwzNywzNiwyMywyMiwyMSwyNiwyNSwyNCwyOSwyOCwyNywzMiwzMSwzMCwzNSwzNCwzMyw0Niw0NSw0NCw0Myw1MCw0OSw0OCw0N10sIm5hbWUiOiJSaWcifV0sImFjY2Vzc29ycyI6W3siYnVmZmVyVmlldyI6MCwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsIm1heCI6WzEuMzMzMzMzMzMzMzMzMzMzM10sIm1pbiI6WzBdLCJ0eXBlIjoiU0NBTEFSIn0seyJidWZmZXJWaWV3IjoxLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjIsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDNCJ9LHsiYnVmZmVyVmlldyI6MywiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3Ijo0LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6NDEsIm1heCI6WzEuMzMzMzMzMzMzMzMzMzMzM10sIm1pbiI6WzBdLCJ0eXBlIjoiU0NBTEFSIn0seyJidWZmZXJWaWV3Ijo1LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6NDEsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3Ijo2LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6NDEsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3Ijo3LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjgsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6OSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxMCwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3IjoxMSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3IjoxMiwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjQxLCJ0eXBlIjoiVkVDNCJ9LHsiYnVmZmVyVmlldyI6MTMsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTQsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTUsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50Ijo0MSwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjE2LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjE3LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjE4LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6NDEsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxOSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3IjoyMCwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3IjoyMSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjQxLCJ0eXBlIjoiVkVDNCJ9LHsiYnVmZmVyVmlldyI6MjIsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MjMsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MjQsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50Ijo0MSwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjI1LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjI2LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjI3LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6NDEsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoyOCwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3IjoyOSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3IjozMCwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjQxLCJ0eXBlIjoiVkVDNCJ9LHsiYnVmZmVyVmlldyI6MzEsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MzIsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MzMsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50Ijo0MSwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjM0LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjM1LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjM2LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjM3LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjM4LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjM5LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjQwLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjQxLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjQyLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjQzLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjQ0LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjQ1LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjQ2LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjQ3LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjQ4LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjQ5LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjUwLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjUxLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjUyLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjUzLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjU0LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjU1LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjU2LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjU3LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjU4LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjU5LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjYwLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjYxLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjYyLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjYzLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjY0LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjY1LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjY2LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjY3LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjY4LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjY5LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjcwLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjcxLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjcyLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjczLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjc0LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjc1LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjc2LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjc3LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjc4LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjc5LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6NDEsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3Ijo4MCwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3Ijo4MSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3Ijo4MiwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjQxLCJ0eXBlIjoiVkVDNCJ9LHsiYnVmZmVyVmlldyI6ODMsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6ODQsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6ODUsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50Ijo0MSwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjg2LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjg3LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjg4LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6NDEsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3Ijo4OSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3Ijo5MCwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3Ijo5MSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3Ijo5MiwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3Ijo5MywiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3Ijo5NCwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3Ijo5NSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3Ijo5NiwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3Ijo5NywiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3Ijo5OCwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3Ijo5OSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxMDAsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTAxLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjEwMiwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxMDMsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTA0LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjEwNSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxMDYsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTA3LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjEwOCwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxMDksImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTEwLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjExMSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxMTIsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTEzLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjExNCwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxMTUsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTE2LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjExNywiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxMTgsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTE5LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjEyMCwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxMjEsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTIyLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjEyMywiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxMjQsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTI1LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjEyNiwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxMjcsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTI4LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjEyOSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxMzAsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTMxLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjEzMiwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxMzMsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTM0LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjEzNSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjQxLCJ0eXBlIjoiVkVDNCJ9LHsiYnVmZmVyVmlldyI6MTM2LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjEzNywiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3IjoxMzgsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50Ijo0MSwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjEzOSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3IjoxNDAsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTQxLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6NDEsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxNDIsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTQzLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6NDEsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxNDQsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTQ1LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjE0NiwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjQxLCJ0eXBlIjoiVkVDNCJ9LHsiYnVmZmVyVmlldyI6MTQ3LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjE0OCwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3IjoxNDksImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50Ijo0MSwidHlwZSI6IlZFQzQifSx7ImJ1ZmZlclZpZXciOjE1MCwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjIsInR5cGUiOiJWRUMzIn0seyJidWZmZXJWaWV3IjoxNTEsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTUyLCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6NDEsInR5cGUiOiJWRUM0In0seyJidWZmZXJWaWV3IjoxNTMsImNvbXBvbmVudFR5cGUiOjUxMjYsImNvdW50IjoyLCJ0eXBlIjoiVkVDMyJ9LHsiYnVmZmVyVmlldyI6MTU0LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjE1NSwiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjQxLCJ0eXBlIjoiVkVDNCJ9LHsiYnVmZmVyVmlldyI6MTU2LCJjb21wb25lbnRUeXBlIjo1MTI2LCJjb3VudCI6MiwidHlwZSI6IlZFQzMifSx7ImJ1ZmZlclZpZXciOjE1NywiY29tcG9uZW50VHlwZSI6NTEyNiwiY291bnQiOjUzLCJ0eXBlIjoiTUFUNCJ9XSwiYnVmZmVyVmlld3MiOlt7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6OCwiYnl0ZU9mZnNldCI6MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo4fSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MzIsImJ5dGVPZmZzZXQiOjMyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjY0fSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MTY0LCJieXRlT2Zmc2V0Ijo4OH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjQ5MiwiYnl0ZU9mZnNldCI6MjUyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6NjU2LCJieXRlT2Zmc2V0Ijo3NDR9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6MTQwMH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxNDI0fSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MzIsImJ5dGVPZmZzZXQiOjE0NDh9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6MTQ4MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxNTA0fSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6NjU2LCJieXRlT2Zmc2V0IjoxNTI4fSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjIxODR9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6MjIwOH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjY1NiwiYnl0ZU9mZnNldCI6MjIzMn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoyODg4fSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjI5MTJ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjo2NTYsImJ5dGVPZmZzZXQiOjI5MzZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6MzU5Mn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjozNjE2fSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6NjU2LCJieXRlT2Zmc2V0IjozNjQwfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjQyOTZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6NDMyMH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjY1NiwiYnl0ZU9mZnNldCI6NDM0NH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo1MDAwfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjUwMjR9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjo2NTYsImJ5dGVPZmZzZXQiOjUwNDh9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6NTcwNH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo1NzI4fSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6NjU2LCJieXRlT2Zmc2V0Ijo1NzUyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjY0MDh9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6NjQzMn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjY1NiwiYnl0ZU9mZnNldCI6NjQ1Nn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo3MTEyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjcxMzZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjozMiwiYnl0ZU9mZnNldCI6NzE2MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo3MTkyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjcyMTZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjozMiwiYnl0ZU9mZnNldCI6NzI0MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo3MjcyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjcyOTZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjozMiwiYnl0ZU9mZnNldCI6NzMyMH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo3MzUyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjczNzZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjozMiwiYnl0ZU9mZnNldCI6NzQwMH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo3NDMyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjc0NTZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjozMiwiYnl0ZU9mZnNldCI6NzQ4MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo3NTEyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjc1MzZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjozMiwiYnl0ZU9mZnNldCI6NzU2MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo3NTkyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MzIsImJ5dGVPZmZzZXQiOjc2MTZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6NzY0OH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo3NjcyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MzIsImJ5dGVPZmZzZXQiOjc2OTZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6NzcyOH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo3NzUyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MzIsImJ5dGVPZmZzZXQiOjc3NzZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6NzgwOH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo3ODMyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MzIsImJ5dGVPZmZzZXQiOjc4NTZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6Nzg4OH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo3OTEyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MzIsImJ5dGVPZmZzZXQiOjc5MzZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6Nzk2OH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo3OTkyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MzIsImJ5dGVPZmZzZXQiOjgwMTZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6ODA0OH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo4MDcyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MzIsImJ5dGVPZmZzZXQiOjgwOTZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6ODEyOH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo4MTUyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MzIsImJ5dGVPZmZzZXQiOjgxNzZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6ODIwOH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjMyLCJieXRlT2Zmc2V0Ijo4MjMyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjgyNjR9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6ODI4OH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjY1NiwiYnl0ZU9mZnNldCI6ODMxMn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo4OTY4fSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjg5OTJ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjo2NTYsImJ5dGVPZmZzZXQiOjkwMTZ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6OTY3Mn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0Ijo5Njk2fSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6NjU2LCJieXRlT2Zmc2V0Ijo5NzIwfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjEwMzc2fSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjEwNDAwfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6NjU2LCJieXRlT2Zmc2V0IjoxMDQyNH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTA4MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjMyLCJieXRlT2Zmc2V0IjoxMTEwNH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTEzNn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTE2MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjMyLCJieXRlT2Zmc2V0IjoxMTE4NH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTIxNn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTI0MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjMyLCJieXRlT2Zmc2V0IjoxMTI2NH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTI5Nn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTMyMH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjMyLCJieXRlT2Zmc2V0IjoxMTM0NH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTM3Nn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTQwMH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjMyLCJieXRlT2Zmc2V0IjoxMTQyNH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTQ1Nn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTQ4MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjMyLCJieXRlT2Zmc2V0IjoxMTUwNH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTUzNn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTU2MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjMyLCJieXRlT2Zmc2V0IjoxMTU4NH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTYxNn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTY0MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjMyLCJieXRlT2Zmc2V0IjoxMTY2NH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTY5Nn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTcyMH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjMyLCJieXRlT2Zmc2V0IjoxMTc0NH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTc3Nn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTgwMH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjMyLCJieXRlT2Zmc2V0IjoxMTgyNH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTg1Nn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTg4MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjMyLCJieXRlT2Zmc2V0IjoxMTkwNH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTkzNn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMTk2MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjMyLCJieXRlT2Zmc2V0IjoxMTk4NH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMjAxNn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMjA0MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjMyLCJieXRlT2Zmc2V0IjoxMjA2NH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMjA5Nn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMjEyMH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjMyLCJieXRlT2Zmc2V0IjoxMjE0NH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMjE3Nn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMjIwMH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjMyLCJieXRlT2Zmc2V0IjoxMjIyNH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMjI1Nn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxMjI4MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjY1NiwiYnl0ZU9mZnNldCI6MTIzMDR9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6MTI5NjB9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6MTI5ODR9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjo2NTYsImJ5dGVPZmZzZXQiOjEzMDA4fSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjEzNjY0fSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjEzNjg4fSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6NjU2LCJieXRlT2Zmc2V0IjoxMzcxMn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxNDM2OH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjY1NiwiYnl0ZU9mZnNldCI6MTQzOTJ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6MTUwNDh9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjoyNCwiYnl0ZU9mZnNldCI6MTUwNzJ9LHsiYnVmZmVyIjowLCJieXRlTGVuZ3RoIjo2NTYsImJ5dGVPZmZzZXQiOjE1MDk2fSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjE1NzUyfSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6MjQsImJ5dGVPZmZzZXQiOjE1Nzc2fSx7ImJ1ZmZlciI6MCwiYnl0ZUxlbmd0aCI6NjU2LCJieXRlT2Zmc2V0IjoxNTgwMH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxNjQ1Nn0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgiOjI0LCJieXRlT2Zmc2V0IjoxNjQ4MH0seyJidWZmZXIiOjAsImJ5dGVMZW5ndGgi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/v9/P/z/fz/9/38/V3cStHF0LT1l9IOzV3cStHF0LT1l9IOzSpMfP8JNd7qVJ5u6yC1IP0qTHz/CTXe6lSebusgtSD///38//v9/P/7/fz///38//v9/P/7/fz+tenyyY/0KPZEoPrOtenyyY/0KPZEoPrNJkx8/u544OlqVZzrTLUg/SZMfP7ueODpalWc60y1IP///fz///38//v9/P///fz///38//v9/Pwi30brOkdw94x0nvQi30brOkdw94x0nveAJAT9h9AK/N8zePtIECz/gCQE/YfQCvzfM3j7SBAs//f9/P/7/fz/8/38//f9/P/7/fz/8/38/FHjjMrgHJT3YrQCzFHjjMrgHJT3YrQCzmocfP+RXpDwbi3S8/BxIP5qHHz/kV6Q8G4t0vPwcSD///38/+f9/P///fz///38/+f9/P///fz//kVQza6LiPEhQ3jP/kVQza6LiPEhQ3jNRkx8/cSLHuWCr+bnWLUg/UZMfP3Eix7lgq/m51i1IPwEAgD8AAIA/AACAPwEAgD8AAIA/AACAP3eQ0Tiz6vM9bhWMvHeQ0Tiz6vM9bhWMvNDk3j5Slgq/NOnoPt6kDj/Q5N4+UpYKvzTp6D7epA4//P9/P/j/fz///38//P9/P/j/fz///38/+lo8MywTIT2inmYy+lo8MywTIT2inmYyVJMfPyJOAbcUgxy32C1IP1STHz8iTgG3FIMct9gtSD/9/38//P9/P/v/fz/9/38//P9/P/v/fz+rs8SyFEv9PMBk0bGrs8SyFEv9PMBk0bFNkx8/D0YuOlW5WjrRLUg/TZMfPw9GLjpVuVo60S1IPwAAgD8BAIA/AACAPwAAgD8BAIA/AACAPyXHurwtpN88QqAJPSXHurwtpN88QqAJPdvolD4xHHO/96rqvYLQrTzb6JQ+MRxzv/eq6r2C0K08+/9/P/3/fz/9/38/+/9/P/3/fz/9/38/68KTsx5AMD34PJey68KTsx5AMD34PJey+qdgPjX9wrx/0q07YK95P/qnYD41/cK8f9KtO2CveT8AAIA//P9/P///fz8AAIA//P9/P///fz8oRbSz+QVJPTfYurMoRbSz+QVJPTfYurOl+C8/bcWhObMI6jkr7jk/pfgvP23FoTmzCOo5K+45PwAAgD///38/AQCAPwAAgD///38/AQCAP6FFtj0jgOM8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";
@@ -0,0 +1,79 @@
1
+ import { Object3D, Vector3, Vector3Tuple, Ray } from 'three';
2
+ import { type InputSystem } from './input/index.js';
3
+ export declare const FirstPersonCharacterCameraBehavior: SimpleCharacterCameraBehaviorOptions;
4
+ export type SimpleCharacterCameraBehaviorOptions = {
5
+ /**
6
+ * @default true
7
+ */
8
+ collision?: {
9
+ /**
10
+ * @default 0.2
11
+ */
12
+ offset?: number;
13
+ } | boolean;
14
+ /**
15
+ * @default [0,1.3,0]
16
+ */
17
+ characterBaseOffset?: Vector3 | Vector3Tuple;
18
+ /**
19
+ * @default true
20
+ */
21
+ rotation?: {
22
+ /**
23
+ * @default -Math.PI/2
24
+ */
25
+ minPitch?: number;
26
+ /**
27
+ * @default Math.PI/2
28
+ */
29
+ maxPitch?: number;
30
+ /**
31
+ * @default -Infinity
32
+ */
33
+ minYaw?: number;
34
+ /**
35
+ * @default +Infinity
36
+ */
37
+ maxYaw?: number;
38
+ /**
39
+ * @default 1000
40
+ */
41
+ speed?: number;
42
+ } | boolean;
43
+ /**
44
+ * @default true
45
+ */
46
+ zoom?: {
47
+ speed?: number;
48
+ /**
49
+ * @default 1
50
+ */
51
+ minDistance?: number;
52
+ /**
53
+ * @default 7
54
+ */
55
+ maxDistance?: number;
56
+ } | boolean;
57
+ } | boolean;
58
+ export declare class SimpleCharacterCameraBehavior {
59
+ camera: Object3D;
60
+ character: Object3D;
61
+ inputSystem: InputSystem;
62
+ private readonly raycast?;
63
+ rotationPitch: number;
64
+ rotationYaw: number;
65
+ zoomDistance: number;
66
+ private collisionFreeZoomDistance;
67
+ private firstUpdate;
68
+ constructor(camera: Object3D, character: Object3D, inputSystem: InputSystem, raycast?: ((ray: Ray, far: number) => number | undefined) | undefined);
69
+ private setRotationFromDelta;
70
+ private setDistanceFromDelta;
71
+ private computeCharacterBaseOffset;
72
+ private clampDistance;
73
+ private clampYaw;
74
+ private clampPitch;
75
+ /**
76
+ * @param delta in seconds
77
+ */
78
+ update(deltaTime: number, options?: SimpleCharacterCameraBehaviorOptions): void;
79
+ }
package/dist/camera.js ADDED
@@ -0,0 +1,139 @@
1
+ import { Vector3, Euler, Ray } from 'three';
2
+ import { clamp } from 'three/src/math/MathUtils.js';
3
+ import { DeltaYawField, DeltaPitchField, DeltaZoomField } from './input/index.js';
4
+ export const FirstPersonCharacterCameraBehavior = {
5
+ characterBaseOffset: [0, 1.6, 0],
6
+ zoom: { maxDistance: 0, minDistance: 0 },
7
+ };
8
+ const chracterBaseOffsetHelper = new Vector3();
9
+ const deltaHelper = new Vector3();
10
+ const sphericalOffset = new Vector3();
11
+ const characterWorldPosition = new Vector3();
12
+ const euler = new Euler();
13
+ const rayHelper = new Ray();
14
+ export class SimpleCharacterCameraBehavior {
15
+ camera;
16
+ character;
17
+ inputSystem;
18
+ raycast;
19
+ rotationPitch = (-20 * Math.PI) / 180;
20
+ rotationYaw = 0;
21
+ zoomDistance = 4; // Changed from zoom to distance for clearer semantics
22
+ //internal state
23
+ collisionFreeZoomDistance = this.zoomDistance;
24
+ firstUpdate = true;
25
+ constructor(camera, character, inputSystem, raycast) {
26
+ this.camera = camera;
27
+ this.character = character;
28
+ this.inputSystem = inputSystem;
29
+ this.raycast = raycast;
30
+ }
31
+ setRotationFromDelta(delta, rotationOptions) {
32
+ if (delta.lengthSq() < 0.0001) {
33
+ // use current camera rotation if very close to target
34
+ euler.setFromQuaternion(this.camera.quaternion, 'YXZ');
35
+ this.rotationPitch = euler.x;
36
+ this.rotationYaw = euler.y;
37
+ return;
38
+ }
39
+ this.rotationPitch = this.clampPitch(Math.asin(delta.y / delta.length()), rotationOptions);
40
+ this.rotationYaw = this.clampYaw(Math.atan2(delta.x, delta.z), rotationOptions);
41
+ }
42
+ setDistanceFromDelta(delta, zoomOptions) {
43
+ this.zoomDistance = this.clampDistance(delta.length(), zoomOptions);
44
+ }
45
+ computeCharacterBaseOffset(target, options) {
46
+ if (options instanceof Vector3) {
47
+ target.copy(options);
48
+ return;
49
+ }
50
+ if (Array.isArray(options)) {
51
+ target.fromArray(options);
52
+ return;
53
+ }
54
+ target.set(0, 1.3, 0);
55
+ }
56
+ clampDistance(distance, { minDistance = 1, maxDistance = 7, }) {
57
+ return clamp(distance, minDistance, maxDistance);
58
+ }
59
+ clampYaw(yaw, { maxYaw = Infinity, minYaw = -Infinity, }) {
60
+ return clamp(yaw, minYaw, maxYaw);
61
+ }
62
+ clampPitch(pitch, { maxPitch = Math.PI / 2, minPitch = -Math.PI / 2, }) {
63
+ return clamp(pitch, minPitch, maxPitch);
64
+ }
65
+ /**
66
+ * @param delta in seconds
67
+ */
68
+ update(deltaTime, options = true) {
69
+ if (options === false) {
70
+ this.firstUpdate = true;
71
+ return;
72
+ }
73
+ this.firstUpdate = false;
74
+ if (options === true) {
75
+ options = {};
76
+ }
77
+ //compute character->camera delta through offset
78
+ this.computeCharacterBaseOffset(chracterBaseOffsetHelper, options.characterBaseOffset);
79
+ this.character.getWorldPosition(characterWorldPosition);
80
+ characterWorldPosition.add(chracterBaseOffsetHelper);
81
+ this.camera.getWorldPosition(deltaHelper);
82
+ deltaHelper.sub(characterWorldPosition);
83
+ // apply rotation input to rotationYaw and rotationPitch if not disabled or first update
84
+ let rotationOptions = options.rotation ?? true;
85
+ if (!this.firstUpdate && rotationOptions !== false) {
86
+ rotationOptions = rotationOptions === true ? {} : rotationOptions;
87
+ const rotationSpeed = rotationOptions.speed ?? 1000.0;
88
+ const deltaYaw = this.inputSystem.get(DeltaYawField);
89
+ const deltaPitch = this.inputSystem.get(DeltaPitchField);
90
+ this.rotationYaw = this.clampYaw(this.rotationYaw + deltaYaw * rotationSpeed * deltaTime, rotationOptions);
91
+ this.rotationPitch = this.clampPitch(this.rotationPitch + deltaPitch * rotationSpeed * deltaTime, rotationOptions);
92
+ }
93
+ else {
94
+ this.setRotationFromDelta(deltaHelper, typeof rotationOptions === 'boolean' ? {} : rotationOptions);
95
+ }
96
+ // apply yaw and pitch to camera rotation
97
+ this.camera.rotation.set(this.rotationPitch, this.rotationYaw, 0, 'YXZ');
98
+ rayHelper.direction.set(0, 0, 1).applyEuler(this.camera.rotation);
99
+ rayHelper.origin.copy(characterWorldPosition);
100
+ // apply zoom input to zoomDistance if not disabled or first update
101
+ let zoomOptions = options.zoom ?? true;
102
+ if (!this.firstUpdate && zoomOptions !== false) {
103
+ zoomOptions = zoomOptions === true ? {} : zoomOptions;
104
+ const zoomSpeed = zoomOptions.speed ?? 1000.0;
105
+ const deltaZoom = this.inputSystem.get(DeltaZoomField);
106
+ const zoomFactor = 1 + deltaZoom * zoomSpeed * deltaTime;
107
+ if (deltaZoom >= 0) {
108
+ this.zoomDistance *= zoomFactor;
109
+ }
110
+ else {
111
+ this.zoomDistance = this.collisionFreeZoomDistance * zoomFactor;
112
+ }
113
+ this.zoomDistance = this.clampDistance(this.zoomDistance, zoomOptions);
114
+ }
115
+ else {
116
+ this.setDistanceFromDelta(deltaHelper, typeof zoomOptions === 'boolean' ? {} : zoomOptions);
117
+ }
118
+ this.collisionFreeZoomDistance = this.zoomDistance;
119
+ let collisionOptions = options.collision ?? true;
120
+ if (collisionOptions != false && this.zoomDistance > 0) {
121
+ if (collisionOptions === true) {
122
+ collisionOptions = {};
123
+ }
124
+ let distance = this.raycast?.(rayHelper, this.zoomDistance);
125
+ if (distance != null) {
126
+ this.collisionFreeZoomDistance = distance - (collisionOptions?.offset ?? 0.2);
127
+ }
128
+ }
129
+ // Calculate camera position using spherical coordinates from euler
130
+ sphericalOffset.set(0, 0, this.collisionFreeZoomDistance);
131
+ sphericalOffset.applyEuler(this.camera.rotation);
132
+ // Get target position with offset (reuse helper vector)
133
+ this.character.getWorldPosition(characterWorldPosition);
134
+ this.computeCharacterBaseOffset(chracterBaseOffsetHelper, options.characterBaseOffset);
135
+ characterWorldPosition.add(chracterBaseOffsetHelper);
136
+ // Set camera position relative to target
137
+ this.camera.position.copy(characterWorldPosition).add(sphericalOffset);
138
+ }
139
+ }
@@ -0,0 +1,7 @@
1
+ export * from './input/index.js';
2
+ export * from './camera.js';
3
+ export * from './physics/index.js';
4
+ export * from './animation/index.js';
5
+ export * from './material.js';
6
+ export * from './simple-character.js';
7
+ export * from './model/index.js';
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ export * from './input/index.js';
2
+ export * from './camera.js';
3
+ export * from './physics/index.js';
4
+ export * from './animation/index.js';
5
+ export * from './material.js';
6
+ export * from './simple-character.js';
7
+ export * from './model/index.js';
@@ -0,0 +1,30 @@
1
+ export declare class InputSystem {
2
+ enabled: boolean;
3
+ private readonly inputs;
4
+ constructor(domElement: HTMLElement, inputs: ReadonlyArray<Input | {
5
+ new (element: HTMLElement): Input;
6
+ }>);
7
+ add(input: Input): void;
8
+ remove(input: Input): void;
9
+ destroy(): void;
10
+ get<T>(field: InputField<T>): T;
11
+ }
12
+ export type InputField<T> = {
13
+ default: T;
14
+ };
15
+ export declare const MoveForwardField: InputField<number>;
16
+ export declare const MoveBackwardField: InputField<number>;
17
+ export declare const MoveLeftField: InputField<number>;
18
+ export declare const MoveRightField: InputField<number>;
19
+ export declare const LastTimeJumpPressedField: InputField<number | null>;
20
+ export declare const RunField: InputField<boolean>;
21
+ export declare const DeltaZoomField: InputField<number>;
22
+ export declare const DeltaYawField: InputField<number>;
23
+ export declare const DeltaPitchField: InputField<number>;
24
+ export interface Input {
25
+ get<T>(field: InputField<T>): T | undefined;
26
+ destroy?(): void;
27
+ }
28
+ export * from './pointer-lock.js';
29
+ export * from './pointer-capture.js';
30
+ export * from './keyboard.js';
@@ -0,0 +1,64 @@
1
+ export class InputSystem {
2
+ enabled = true;
3
+ inputs;
4
+ constructor(domElement, inputs) {
5
+ this.inputs = inputs.map((input) => (typeof input === 'function' ? new input(domElement) : input));
6
+ }
7
+ add(input) {
8
+ this.inputs.push(input);
9
+ }
10
+ remove(input) {
11
+ const index = this.inputs.indexOf(input);
12
+ if (index === -1) {
13
+ return;
14
+ }
15
+ this.inputs.splice(index, 1);
16
+ }
17
+ destroy() {
18
+ this.inputs.forEach((input) => input.destroy?.());
19
+ this.inputs.length = 0;
20
+ }
21
+ get(field) {
22
+ if (!this.enabled) {
23
+ return field.default;
24
+ }
25
+ for (const input of this.inputs) {
26
+ const result = input.get(field);
27
+ if (result === undefined) {
28
+ continue;
29
+ }
30
+ return result;
31
+ }
32
+ return field.default;
33
+ }
34
+ }
35
+ export const MoveForwardField = {
36
+ default: 0,
37
+ };
38
+ export const MoveBackwardField = {
39
+ default: 0,
40
+ };
41
+ export const MoveLeftField = {
42
+ default: 0,
43
+ };
44
+ export const MoveRightField = {
45
+ default: 0,
46
+ };
47
+ export const LastTimeJumpPressedField = {
48
+ default: null,
49
+ };
50
+ export const RunField = {
51
+ default: false,
52
+ };
53
+ export const DeltaZoomField = {
54
+ default: 0,
55
+ };
56
+ export const DeltaYawField = {
57
+ default: 0,
58
+ };
59
+ export const DeltaPitchField = {
60
+ default: 0,
61
+ };
62
+ export * from './pointer-lock.js';
63
+ export * from './pointer-capture.js';
64
+ export * from './keyboard.js';
@@ -0,0 +1,8 @@
1
+ import { Input, InputField } from './index.js';
2
+ export declare class LocomotionKeyboardInput implements Input {
3
+ private readonly abortController;
4
+ private readonly keyState;
5
+ constructor(domElement: HTMLElement);
6
+ get<T>(field: InputField<T>): T | undefined;
7
+ destroy(): void;
8
+ }
@@ -0,0 +1,77 @@
1
+ import { MoveForwardField, MoveBackwardField, MoveLeftField, MoveRightField, LastTimeJumpPressedField, RunField, } from './index.js';
2
+ const MoveForwardKeys = ['KeyW'];
3
+ const MoveBackwardKeys = ['KeyS'];
4
+ const MoveLeftKeys = ['KeyA'];
5
+ const MoveRightKeys = ['KeyD'];
6
+ const RunKeys = ['ShiftRight', 'ShiftLeft'];
7
+ export class LocomotionKeyboardInput {
8
+ abortController = new AbortController();
9
+ keyState = new Map();
10
+ constructor(domElement) {
11
+ domElement.tabIndex = 0;
12
+ domElement.addEventListener('keydown', (event) => {
13
+ let state = this.keyState.get(event.code);
14
+ const now = performance.now() / 1000;
15
+ if (state == null) {
16
+ this.keyState.set(event.code, (state = { pressTime: now }));
17
+ }
18
+ else {
19
+ state.pressTime = now;
20
+ }
21
+ }, {
22
+ signal: this.abortController.signal,
23
+ });
24
+ domElement.addEventListener('keyup', (event) => {
25
+ let state = this.keyState.get(event.code);
26
+ const now = performance.now() / 1000;
27
+ if (state == null) {
28
+ this.keyState.set(event.code, (state = { releaseTime: now }));
29
+ }
30
+ else {
31
+ state.releaseTime = now;
32
+ }
33
+ }, {
34
+ signal: this.abortController.signal,
35
+ });
36
+ // Handle focus loss to clear pressed keys
37
+ domElement.addEventListener('blur', () => this.keyState.clear(), {
38
+ signal: this.abortController.signal,
39
+ });
40
+ }
41
+ get(field) {
42
+ if (field === LastTimeJumpPressedField) {
43
+ return (this.keyState.get('Space')?.pressTime ?? null);
44
+ }
45
+ let keys;
46
+ switch (field) {
47
+ case MoveForwardField:
48
+ keys = MoveForwardKeys;
49
+ break;
50
+ case MoveBackwardField:
51
+ keys = MoveBackwardKeys;
52
+ break;
53
+ case MoveLeftField:
54
+ keys = MoveLeftKeys;
55
+ break;
56
+ case MoveRightField:
57
+ keys = MoveRightKeys;
58
+ break;
59
+ case RunField:
60
+ keys = RunKeys;
61
+ break;
62
+ }
63
+ if (keys == null) {
64
+ return undefined;
65
+ }
66
+ return keys.some((key) => {
67
+ const state = this.keyState.get(key);
68
+ if (state?.pressTime == null) {
69
+ return false;
70
+ }
71
+ return state.releaseTime == null || state.pressTime > state.releaseTime;
72
+ });
73
+ }
74
+ destroy() {
75
+ this.abortController.abort();
76
+ }
77
+ }