LnRiLWltYWdlLXNsaWRlci0tY2Fyb3VzZWx7b3BhY2l0eTowO2RpcmVjdGlvbjpsdHJ9LnRiLWltYWdlLXNsaWRlciAuZ2xpZGV7cG9zaXRpb246cmVsYXRpdmV9LnRiLWltYWdlLXNsaWRlciAuZ2xpZGVfX3NsaWRle2hlaWdodDphdXRvO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1sZWZ0OjB9LnRiLWltYWdlLXNsaWRlciAuZ2xpZGVfX3NsaWRlLS1jbG9uZXtjdXJzb3I6cG9pbnRlcn0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fc2xpZGUgaW1ne3dpZHRoOjEwMCU7ZmxvYXQ6bm9uZSAhaW1wb3J0YW50fS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX192aWV3e3dpZHRoOjEwMCU7dHJhbnNpdGlvbjpvcGFjaXR5IDM1MG1zIGVhc2UtaW4tb3V0O3Bvc2l0aW9uOnJlbGF0aXZlfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX192aWV3IGltZ3stby1vYmplY3QtZml0OmNvbnRhaW47b2JqZWN0LWZpdDpjb250YWluO3dpZHRoOjEwMCU7ZmxvYXQ6bm9uZSAhaW1wb3J0YW50fS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX192aWV3LS1mYWRlLW91dHtvcGFjaXR5OjB9LnRiLWltYWdlLXNsaWRlciAuZ2xpZGVfX3ZpZXctLWZhZGUtaW57b3BhY2l0eToxfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX19hcnJvd3tib3JkZXI6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwO3RvcDo1MCU7ZGlzcGxheTppbmxpbmUtZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtib3JkZXItcmFkaXVzOjUwcHg7dHJhbnNpdGlvbjphbGwgMC4ycyBsaW5lYXI7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9LnRiLWltYWdlLXNsaWRlciAuZ2xpZGVfX2Fycm93OmZvY3Vze291dGxpbmU6bm9uZTtib3gtc2hhZG93OjAgMCA1cHggIzY2NjtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC43KTtvcGFjaXR5OjF9LnRiLWltYWdlLXNsaWRlciAuZ2xpZGVfX2Fycm93OmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjkpfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX19hcnJvdy0tbGVmdHtsZWZ0OjVweH0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fYXJyb3ctLWxlZnQgc3Zne21hcmdpbi1sZWZ0Oi0xcHh9LnRiLWltYWdlLXNsaWRlciAuZ2xpZGVfX2Fycm93LS1sZWZ0IHNwYW4udGItc2xpZGVyLWxlZnQtYXJyb3d7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MjVweDtoZWlnaHQ6MjVweDtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMjkgMTI5JyB3aWR0aD0nMjUnIGhlaWdodD0nMjUnJTNFJTNDZyUzRSUzQ3BhdGggZD0nbTcwLDkzLjVjMC44LDAuOCAxLjgsMS4yIDIuOSwxLjIgMSwwIDIuMS0wLjQgMi45LTEuMiAxLjYtMS42IDEuNi00LjIgMC01LjhsLTIzLjUtMjMuNSAyMy41LTIzLjVjMS42LTEuNiAxLjYtNC4yIDAtNS44cy00LjItMS42LTUuOCwwbC0yNi40LDI2LjRjLTAuOCwwLjgtMS4yLDEuOC0xLjIsMi45czAuNCwyLjEgMS4yLDIuOWwyNi40LDI2LjR6JyBmaWxsPSclMjM2NjYnLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRSIpfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX19hcnJvdy0tcmlnaHR7cmlnaHQ6NXB4fS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX19hcnJvdy0tcmlnaHQgc3Zne21hcmdpbi1yaWdodDotMXB4fS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX19hcnJvdy0tcmlnaHQgc3Bhbi50Yi1zbGlkZXItcmlnaHQtYXJyb3d7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MjVweDtoZWlnaHQ6MjVweDtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMjkgMTI5JyB3aWR0aD0nMjUnIGhlaWdodD0nMjUnJTNFJTNDZyUzRSUzQ3BhdGggZD0nbTUxLjEsOTMuNWMwLjgsMC44IDEuOCwxLjIgMi45LDEuMiAxLDAgMi4xLTAuNCAyLjktMS4ybDI2LjQtMjYuNGMwLjgtMC44IDEuMi0xLjggMS4yLTIuOSAwLTEuMS0wLjQtMi4xLTEuMi0yLjlsLTI2LjQtMjYuNGMtMS42LTEuNi00LjItMS42LTUuOCwwLTEuNiwxLjYtMS42LDQuMiAwLDUuOGwyMy41LDIzLjUtMjMuNSwyMy41Yy0xLjYsMS42LTEuNiw0LjIgMCw1Ljh6JyBmaWxsPSclMjM2NjYnLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRSIpfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlOmhvdmVyIC5nbGlkZV9fYXJyb3csLnRiLWltYWdlLXNsaWRlciAuZ2xpZGU6Zm9jdXMgLmdsaWRlX19hcnJvd3tvcGFjaXR5OjF9LnRiLWltYWdlLXNsaWRlci0tY3JvcCAuZ2xpZGVfX3NsaWRlIGltZ3stby1vYmplY3QtZml0OmNvdmVyO29iamVjdC1maXQ6Y292ZXI7aGVpZ2h0OjEwMCUgIWltcG9ydGFudH0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fc2xpZGVze2xpc3Qtc3R5bGUtdHlwZTpub25lO3BhZGRpbmctbGVmdDowO21hcmdpbi1sZWZ0OmF1dG99LnRiLWltYWdlLXNsaWRlcl9fY2FwdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjYpO3RleHQtYWxpZ246Y2VudGVyO2NvbG9yOiMzMzN9LnRiLWltYWdlLXNsaWRlcl9fY2FwdGlvbiA6ZW1wdHl7YmFja2dyb3VuZDp0cmFuc3BhcmVudCAhaW1wb3J0YW50O21hcmdpbjowO3BhZGRpbmc6MH0udGItaW1hZ2Utc2xpZGVyX19jYXB0aW9uIGZpZ2NhcHRpb257cGFkZGluZzo1cHggMnB4O21hcmdpbi10b3A6NXB4fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7IC50Yi1pbWFnZS1zbGlkZXItLWNhcm91c2Vse29wYWNpdHk6MDtkaXJlY3Rpb246bHRyfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRle3Bvc2l0aW9uOnJlbGF0aXZlfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX19zbGlkZXtoZWlnaHQ6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tbGVmdDowfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX19zbGlkZS0tY2xvbmV7Y3Vyc29yOnBvaW50ZXJ9LnRiLWltYWdlLXNsaWRlciAuZ2xpZGVfX3NsaWRlIGltZ3t3aWR0aDoxMDAlO2Zsb2F0Om5vbmUgIWltcG9ydGFudH0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fdmlld3t3aWR0aDoxMDAlO3RyYW5zaXRpb246b3BhY2l0eSAzNTBtcyBlYXNlLWluLW91dDtwb3NpdGlvbjpyZWxhdGl2ZX0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fdmlldyBpbWd7LW8tb2JqZWN0LWZpdDpjb250YWluO29iamVjdC1maXQ6Y29udGFpbjt3aWR0aDoxMDAlO2Zsb2F0Om5vbmUgIWltcG9ydGFudH0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fdmlldy0tZmFkZS1vdXR7b3BhY2l0eTowfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX192aWV3LS1mYWRlLWlue29wYWNpdHk6MX0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fYXJyb3d7Ym9yZGVyOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDt0b3A6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Ym9yZGVyLXJhZGl1czo1MHB4O3RyYW5zaXRpb246YWxsIDAuMnMgbGluZWFyO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX19hcnJvdzpmb2N1c3tvdXRsaW5lOm5vbmU7Ym94LXNoYWRvdzowIDAgNXB4ICM2NjY7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuNyk7b3BhY2l0eToxfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX19hcnJvdzpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC45KX0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fYXJyb3ctLWxlZnR7bGVmdDo1cHh9LnRiLWltYWdlLXNsaWRlciAuZ2xpZGVfX2Fycm93LS1sZWZ0IHN2Z3ttYXJnaW4tbGVmdDotMXB4fS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX19hcnJvdy0tbGVmdCBzcGFuLnRiLXNsaWRlci1sZWZ0LWFycm93e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjI1cHg7aGVpZ2h0OjI1cHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTI5IDEyOScgd2lkdGg9JzI1JyBoZWlnaHQ9JzI1JyUzRSUzQ2clM0UlM0NwYXRoIGQ9J203MCw5My41YzAuOCwwLjggMS44LDEuMiAyLjksMS4yIDEsMCAyLjEtMC40IDIuOS0xLjIgMS42LTEuNiAxLjYtNC4yIDAtNS44bC0yMy41LTIzLjUgMjMuNS0yMy41YzEuNi0xLjYgMS42LTQuMiAwLTUuOHMtNC4yLTEuNi01LjgsMGwtMjYuNCwyNi40Yy0wLjgsMC44LTEuMiwxLjgtMS4yLDIuOXMwLjQsMi4xIDEuMiwyLjlsMjYuNCwyNi40eicgZmlsbD0nJTIzNjY2Jy8lM0UlM0MvZyUzRSUzQy9zdmclM0UiKX0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fYXJyb3ctLXJpZ2h0e3JpZ2h0OjVweH0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fYXJyb3ctLXJpZ2h0IHN2Z3ttYXJnaW4tcmlnaHQ6LTFweH0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fYXJyb3ctLXJpZ2h0IHNwYW4udGItc2xpZGVyLXJpZ2h0LWFycm93e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjI1cHg7aGVpZ2h0OjI1cHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTI5IDEyOScgd2lkdGg9JzI1JyBoZWlnaHQ9JzI1JyUzRSUzQ2clM0UlM0NwYXRoIGQ9J201MS4xLDkzLjVjMC44LDAuOCAxLjgsMS4yIDIuOSwxLjIgMSwwIDIuMS0wLjQgMi45LTEuMmwyNi40LTI2LjRjMC44LTAuOCAxLjItMS44IDEuMi0yLjkgMC0xLjEtMC40LTIuMS0xLjItMi45bC0yNi40LTI2LjRjLTEuNi0xLjYtNC4yLTEuNi01LjgsMC0xLjYsMS42LTEuNiw0LjIgMCw1LjhsMjMuNSwyMy41LTIzLjUsMjMuNWMtMS42LDEuNi0xLjYsNC4yIDAsNS44eicgZmlsbD0nJTIzNjY2Jy8lM0UlM0MvZyUzRSUzQy9zdmclM0UiKX0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZTpob3ZlciAuZ2xpZGVfX2Fycm93LC50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlOmZvY3VzIC5nbGlkZV9fYXJyb3d7b3BhY2l0eToxfS50Yi1pbWFnZS1zbGlkZXItLWNyb3AgLmdsaWRlX19zbGlkZSBpbWd7LW8tb2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtZml0OmNvdmVyO2hlaWdodDoxMDAlICFpbXBvcnRhbnR9LnRiLWltYWdlLXNsaWRlciAuZ2xpZGVfX3NsaWRlc3tsaXN0LXN0eWxlLXR5cGU6bm9uZTtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tbGVmdDphdXRvfS50Yi1pbWFnZS1zbGlkZXJfX2NhcHRpb257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC42KTt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojMzMzfS50Yi1pbWFnZS1zbGlkZXJfX2NhcHRpb24gOmVtcHR5e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQgIWltcG9ydGFudDttYXJnaW46MDtwYWRkaW5nOjB9LnRiLWltYWdlLXNsaWRlcl9fY2FwdGlvbiBmaWdjYXB0aW9ue3BhZGRpbmc6NXB4IDJweDttYXJnaW4tdG9wOjVweH0gfSBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7IC50Yi1pbWFnZS1zbGlkZXItLWNhcm91c2Vse29wYWNpdHk6MDtkaXJlY3Rpb246bHRyfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRle3Bvc2l0aW9uOnJlbGF0aXZlfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX19zbGlkZXtoZWlnaHQ6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tbGVmdDowfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX19zbGlkZS0tY2xvbmV7Y3Vyc29yOnBvaW50ZXJ9LnRiLWltYWdlLXNsaWRlciAuZ2xpZGVfX3NsaWRlIGltZ3t3aWR0aDoxMDAlO2Zsb2F0Om5vbmUgIWltcG9ydGFudH0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fdmlld3t3aWR0aDoxMDAlO3RyYW5zaXRpb246b3BhY2l0eSAzNTBtcyBlYXNlLWluLW91dDtwb3NpdGlvbjpyZWxhdGl2ZX0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fdmlldyBpbWd7LW8tb2JqZWN0LWZpdDpjb250YWluO29iamVjdC1maXQ6Y29udGFpbjt3aWR0aDoxMDAlO2Zsb2F0Om5vbmUgIWltcG9ydGFudH0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fdmlldy0tZmFkZS1vdXR7b3BhY2l0eTowfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX192aWV3LS1mYWRlLWlue29wYWNpdHk6MX0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fYXJyb3d7Ym9yZGVyOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDt0b3A6NTAlO2Rpc3BsYXk6aW5saW5lLWZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Ym9yZGVyLXJhZGl1czo1MHB4O3RyYW5zaXRpb246YWxsIDAuMnMgbGluZWFyO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX19hcnJvdzpmb2N1c3tvdXRsaW5lOm5vbmU7Ym94LXNoYWRvdzowIDAgNXB4ICM2NjY7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuNyk7b3BhY2l0eToxfS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX19hcnJvdzpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC45KX0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fYXJyb3ctLWxlZnR7bGVmdDo1cHh9LnRiLWltYWdlLXNsaWRlciAuZ2xpZGVfX2Fycm93LS1sZWZ0IHN2Z3ttYXJnaW4tbGVmdDotMXB4fS50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlX19hcnJvdy0tbGVmdCBzcGFuLnRiLXNsaWRlci1sZWZ0LWFycm93e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjI1cHg7aGVpZ2h0OjI1cHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTI5IDEyOScgd2lkdGg9JzI1JyBoZWlnaHQ9JzI1JyUzRSUzQ2clM0UlM0NwYXRoIGQ9J203MCw5My41YzAuOCwwLjggMS44LDEuMiAyLjksMS4yIDEsMCAyLjEtMC40IDIuOS0xLjIgMS42LTEuNiAxLjYtNC4yIDAtNS44bC0yMy41LTIzLjUgMjMuNS0yMy41YzEuNi0xLjYgMS42LTQuMiAwLTUuOHMtNC4yLTEuNi01LjgsMGwtMjYuNCwyNi40Yy0wLjgsMC44LTEuMiwxLjgtMS4yLDIuOXMwLjQsMi4xIDEuMiwyLjlsMjYuNCwyNi40eicgZmlsbD0nJTIzNjY2Jy8lM0UlM0MvZyUzRSUzQy9zdmclM0UiKX0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fYXJyb3ctLXJpZ2h0e3JpZ2h0OjVweH0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fYXJyb3ctLXJpZ2h0IHN2Z3ttYXJnaW4tcmlnaHQ6LTFweH0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZV9fYXJyb3ctLXJpZ2h0IHNwYW4udGItc2xpZGVyLXJpZ2h0LWFycm93e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjI1cHg7aGVpZ2h0OjI1cHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTI5IDEyOScgd2lkdGg9JzI1JyBoZWlnaHQ9JzI1JyUzRSUzQ2clM0UlM0NwYXRoIGQ9J201MS4xLDkzLjVjMC44LDAuOCAxLjgsMS4yIDIuOSwxLjIgMSwwIDIuMS0wLjQgMi45LTEuMmwyNi40LTI2LjRjMC44LTAuOCAxLjItMS44IDEuMi0yLjkgMC0xLjEtMC40LTIuMS0xLjItMi45bC0yNi40LTI2LjRjLTEuNi0xLjYtNC4yLTEuNi01LjgsMC0xLjYsMS42LTEuNiw0LjIgMCw1LjhsMjMuNSwyMy41LTIzLjUsMjMuNWMtMS42LDEuNi0xLjYsNC4yIDAsNS44eicgZmlsbD0nJTIzNjY2Jy8lM0UlM0MvZyUzRSUzQy9zdmclM0UiKX0udGItaW1hZ2Utc2xpZGVyIC5nbGlkZTpob3ZlciAuZ2xpZGVfX2Fycm93LC50Yi1pbWFnZS1zbGlkZXIgLmdsaWRlOmZvY3VzIC5nbGlkZV9fYXJyb3d7b3BhY2l0eToxfS50Yi1pbWFnZS1zbGlkZXItLWNyb3AgLmdsaWRlX19zbGlkZSBpbWd7LW8tb2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtZml0OmNvdmVyO2hlaWdodDoxMDAlICFpbXBvcnRhbnR9LnRiLWltYWdlLXNsaWRlciAuZ2xpZGVfX3NsaWRlc3tsaXN0LXN0eWxlLXR5cGU6bm9uZTtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tbGVmdDphdXRvfS50Yi1pbWFnZS1zbGlkZXJfX2NhcHRpb257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC42KTt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojMzMzfS50Yi1pbWFnZS1zbGlkZXJfX2NhcHRpb24gOmVtcHR5e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQgIWltcG9ydGFudDttYXJnaW46MDtwYWRkaW5nOjB9LnRiLWltYWdlLXNsaWRlcl9fY2FwdGlvbiBmaWdjYXB0aW9ue3BhZGRpbmc6NXB4IDJweDttYXJnaW4tdG9wOjVweH0gfSA=
When it comes to designing exceptional aquatic facilities, the difference between an enjoyable guest experience and a frustrating one often comes down to how water flows.
Traditional pool design often relies on empirical flow calculations. This approach often works for basic rectangular pools. However, for complex features like lazy rivers, the flow is three-dimensional, involving recirculation zones, dead pockets, and velocity variations that are hard to predict accurately with manual calculations. In these situations, our engineers at Waters Edge Aquatic Design utilize Computational Fluid Dynamics (CFD), a predictive modeling software, to accurately calculate water flow.
CFD is widely used in the aerospace and automotive industries to analyze aerodynamics, but it has also become a valuable tool for designing modern aquatic facilities, helping engineers visualize water flow. Performing detailed CFD simulations during the design process reduces construction delays by minimizing guesswork.
CFD 101: The Basics
CFD is a computer-aided design (CAD) simulation that predicts the flow and behavior of liquids and gases by solving the governing equations related to conservation of mass, momentum, and energy. This process analyzes various fluid flow properties, including velocity, density, pressure, temperature, and more.
Basically, CFD helps us predict how fluids will behave in real systems long before they are constructed.
CAD programs like SOLIDWORKS include built-in CFD capabilities that allow users to simulate fluid flow. Using the SOLIDWORKS Flow Simulation tool, our engineers create interactive 3D models that demonstrate water flow, ensuring pumps and jets operate correctly during the design process.
General Process:
- Input Design Data
- Ensure the 3D model includes all pool system details, such as pipes, pumps, and flow rates.
- Create the Mesh
- Divide the water volume into smaller cells. These cells are then organized into a matrix called the mesh.
- The smaller the cells, the more precise the results. However, smaller cells demand more computer memory, resulting in longer calculation times.
- Run the Simulation
- Within minutes, a visual representation of water flow is ready to analyze.
- Analyze Results
- Various data sets can be displayed graphically to understand water flow behavior within the 3D model.
- Generally, CFD simulations achieve around 95% accuracy.
- Optimize the System
- CFD analysis updates instantly as the 3D model changes.
CFD in Aquatic Design
At Waters Edge, we use CFD to eliminate uncertainty throughout the design process. Proper hydraulic design in pools and lazy rivers is crucial because circulation patterns directly affect water quality and the overall performance of the aquatic system. With CFD, we simulate water behavior inside a digital 3D model of your pool, lazy river, or water feature. This provides us with a highly detailed, interactive view of water flow under normal operating conditions.
In aquatic environments, poor water circulation can cause issues such as dead zones where debris and pollutants accumulate, uneven chemical distribution, inefficient heating, and higher energy costs due to overworked pumps. CFD helps us address these problems early in the design process, well before breaking ground on a new project.
CFD Helps Us:
- Visualize water velocity patterns and distribution
- Identify stagnant or slow-flow zones
- Optimize water jet placement and pump sizing
- Improve energy efficiency by reducing unnecessary pump loads
Above is an example of a CFD simulation performed with the SOLIDWORKS Flow Simulation tool. The color scale on the left-hand side shows water velocity in feet per second. The time label at the top indicates how much time has elapsed in the simulation.
In aquatic design, success isn’t just about looks; it’s about safety, efficiency, and long-term reliability. For example, when designing a lazy river, CFD simulations help ensure consistent current speed without large surges or dead zones. In competition pools, they help maintain uniform flow and temperature distribution. In recreational pools, proper chemical mixing is ensured to provide guests with the safest possible experience.
CFD continues to revolutionize how aquatic facilities are designed, engineered, and built. At Waters Edge, we are committed to using this technology to deliver the highest-quality final product for our clients.
Advances in CFD
Recent advances have significantly reduced the time required for CFD simulations. For example, the SOLIDWORKS Flow Simulation tool includes automated boundary meshing, so users no longer need to create the mesh manually. In the past, accurate CFD analysis required skilled specialists with extensive training and experience, with simulations taking hours to complete. Now, results are generated in minutes or even seconds, providing highly accurate, real-time data that helps engineers and designers make better-informed decisions.
Although modern CFD simulation technology is faster and more precise than ever, user inputs still influence the quality of the results. Incorrect inputs and assumptions made by the user can produce flawed, inaccurate outcomes. Even with today’s advanced tools, mastering CFD requires time and practice. Studying the fundamental physics of fluid dynamics and the underlying Navier-Stokes equations is crucial for those who want to use CFD simulation tools effectively. Understanding these concepts helps users evaluate results accurately and make necessary adjustments.
Designing With Confidence
At Waters Edge, CFD is more than just a tool; it’s how we ensure that every aquatic facility we design performs as flawlessly as it looks. Proper aquatic design doesn’t happen by chance; it’s engineered with purpose. By integrating CFD into our process, we move beyond assumptions toward accuracy, ensuring that each facility we create functions exactly as intended. The results speak for themselves, and our clients can expect efficient hydraulics, cleaner water, lower operating costs, and excellent guest experience. With the ability to test, refine, and perfect designs before construction begins, CFD gives us the confidence to deliver aquatic systems that truly flow!