We Measured Our Company’s Own Fitness: Here’s What Happened
November 07, 2018
As data-driven fitness company, we spend most of our time measuring other people’s fitness. This time, we decided to measure our own wellness, so we calculated our team’s average Wellness Score. Here’s the full story.
But first, let’s start with some background. Today, monitoring health has become a lifestyle. Whether it is by exercising regularly, tracking physical activity and diet, taking supplements or switching to organic products, this new culture of wellness is the new “norm” (1) (2). Most importantly, consumers want to be in control of their health. Millennials for instance love health and fitness technology. The rise of wearables, food tracking apps, connected scales and smart apparel are all examples of this new culture of wellness. Wearables alone are projected to reach 105 million unit shipments and 3.33 billion U.S. dollars in revenue by 2022. Millennial females alone spend over 200% more time in Sports, Health and Fitness apps than the rest of the population (3). For Millennials, being healthy does not just mean “not sick.” It is a daily pursuit, and self-collected data is a big part of it.
The Wellness Score: Fitnescity’s new signature wellness test
Fitnescity has recently introduced a new signature assessment called the Wellness Score. This assessment takes preventative health to a whole new level. It is designed with the goal of helping you become more aware of your own wellness and empowering you to make more informed decisions.
The test is a deep dive into your wellness. It uses an algorithm to score various aspects of your lifestyle, such as your physical activity, sleep, stress, emotional well-being, medical history, nutrition, water and alcohol consumption. The test is based on an extensive (10-15 min) questionnaire and scores all your answers using a proprietary, research-based algorithm. Your answers are scaled from 0 to 100, and each answer has a unique value that is used to calculate your overall score. The good thing is that you can’t really cheat on the test because, unlike other wellness tests or surveys, finding the perfect answer is not that easy. The Wellness Score will ask you to a lot of open-ended questions along with YES/NO’s, opinion scale and multiple choice questions. There are also a few tricky and unpredictable sections.
Once you complete the assessment, the Wellness Score will provide you with three types of results: an overall wellness score, a deep dive into each category and its score (history, physical activity, sleep, stress, emotions, nutrition, water and alcohol consumption), along with feedback and actionable recommendations on each question.
The Wellness Score is available on a waitlist-only basis for anyone who wants to get a comprehensive, data-driven view of their wellness, and recommendations on how to improve.
We were curious about how we were doing, so we calculated our team’s own Wellness Score
At Fitnescity, we are all data enthusiasts, especially when it comes to our fitness. So we were naturally excited about this new assessment. Once we completed it, we spent the next few days discussing each other’s results. At the end, we decided to create a company Wellness Score. This is basically an average that shows our aggregate results, as if we were one single person.
Before we share the results, here’s some background on how we operate:
While we do work hard, we don’t necessarily believe in unsustainable hours and sky-high stress levels that most startup employees seem to be in nowadays. Although our work environment is demanding, we also value regeneration (and exercise!)
For instance, our company gives everyone a complimentary Equinox all-access membership, which they can use anytime during the day if they wish. We also host birthday and family celebrations with officemates (yes, we do eat cake!) and… encourage everyone to take one of our various fitness tests.
We basically think of employees (and clients) as athletes; we believe that everyone should strive to optimize their overall performance using their unique data, and this includes physical activity, sleep, stress, emotional well-being and nutrition.
Out of 100, 71 was our Fitnescity average Wellness Score.
aHR0cHM6Ly9kM2pzLm9yZy9kMy52My5taW4uanM=
Cgpib2R5IHsKCmNvbG9yOiAjMzMzOwp9CgouY29udGFpbmVyIHsKZmxvYXQ6bGVmdAp9Cgoub3V0ZXItbGFiZWwgewpmb250LXNpemU6IDI4cHg7CnRleHQtYWxpZ246IGxlZnQ7Cn0KCgpwYXRoIHsKY3Vyc29yOiBwb2ludGVyOwp9CgoKbGFiZWx7CgpwYWRkaW5nOjBweDsKZm9udC1zaXplOiAxMnB4OwptYXJnaW46IDBweDsKdmVydGljYWwtYWxpZ246dG9wOwoKfeKAiwoKCnAgewpkaXNwbGF5OiBibG9jazsKZm9udC1zaXplOiAxOHB4OwptYXJnaW4tdG9wOiAwZW07Cm1hcmdpbi1ib3R0b206IDBlbTsKbWFyZ2luLWxlZnQ6IDE7Cm1hcmdpbi1yaWdodDogMTsKZm9udC13ZWlnaHQ6IDEwcHg7Cgp9CgoKcCNzZWdtZW50VGV4dDIgewpkaXNwbGF5OiBibG9jazsKZm9udC1zaXplOiAxNnB4OwptYXJnaW4tdG9wOiAxZW07Cm1hcmdpbi1ib3R0b206IDBlbTsKbWFyZ2luLWxlZnQ6IDEyZW07Cm1hcmdpbi1yaWdodDogMTsKZm9udC13ZWlnaHQ6IDEwcHg7CndpZHRoOiAyMmVtOwpsaW5lLWhlaWdodDogMS41Owp9CgoKLmh5cGhlbnMgewpoeXBoZW5zOiBhdXRvOwp9CgovKiBwI3NlZ21lbnRUZXh0IHsKZGlzcGxheTogYmxvY2s7CmZvbnQtc2l6ZTogMThweDsKbWFyZ2luLXRvcDogMC4yZW07Cm1hcmdpbi1ib3R0b206IDBlbTsKbWFyZ2luLWxlZnQ6IDZlbTsKbWFyZ2luLXJpZ2h0OiAxOwpmb250LXdlaWdodDogMTBweDsKd2lkdGg6IDE2ZW07Cn0gKi8KCnAjc2VnbWVudFRleHQgewpkaXNwbGF5OiBibG9jazsKZm9udC1zaXplOiAxOHB4OwptYXJnaW4tdG9wOiAxLjNlbTsKbWFyZ2luLWJvdHRvbTogMGVtOwptYXJnaW4tbGVmdDogMTAuNmVtOwptYXJnaW4tcmlnaHQ6IDE7CmZvbnQtd2VpZ2h0OiAxMHB4Owp3aWR0aDogMThlbTsKbGluZS1oZWlnaHQ6IDEuNTsKfQoKcCNzZWdtZW50VGV4dDMgewpkaXNwbGF5OiBibG9jazsKZm9udC1zaXplOiAxOHB4OwptYXJnaW4tdG9wOiAwZW07Cm1hcmdpbi1ib3R0b206IDBlbTsKbWFyZ2luLWxlZnQ6IDEwLjZlbTsKbWFyZ2luLXJpZ2h0OiAxOwpmb250LXdlaWdodDogMTBweDsKd2lkdGg6IDE4ZW07CmxpbmUtaGVpZ2h0OiAxLjU7Cn0KcCNzZWdtZW50VGl0bGUgIHsKZGlzcGxheTogYmxvY2s7CmZvbnQtc2l6ZTogMThweDsKbWFyZ2luLXRvcDogMGVtOwptYXJnaW4tYm90dG9tOiAwZW07Cm1hcmdpbi1sZWZ0OiAxMC42ZW07Cm1hcmdpbi1yaWdodDogMTsKZm9udC13ZWlnaHQ6IDEwcHg7CmxpbmUtaGVpZ2h0OiAxLjU7Cgp9Cmg0IHsKICAgICBkaXNwbGF5OiBibG9jazsKICAgICBmb250LXNpemU6IDFlbTsKICAgICBtYXJnaW4tdG9wOiAwZW07CiAgICAgbWFyZ2luLWJvdHRvbTogMGVtOwogICAgIG1hcmdpbi1sZWZ0OiAxOwogICAgIG1hcmdpbi1yaWdodDogMTsKICAgICBmb250LXdlaWdodDogYm9sZDsKCiB9Cmg1ewpkaXNwbGF5OiBibG9jazsKZm9udC1zaXplOiAyZW07Cm1hcmdpbi10b3A6IDAuMTJlbTsKbWFyZ2luLWJvdHRvbTogMGVtOwptYXJnaW4tbGVmdDogMTsKbWFyZ2luLXJpZ2h0OiAxOwpmb250LXdlaWdodDogYm9sZDsKCn0KCgoKI3BpZUNoYXJ0IHsKLyogYm9yZGVyOiByZWQgMXB4IGRvdHRlZDsgKi8KZGlzcGxheTogZmxleDsKYWxpZ24taXRlbXM6IGxlZnQ7Cmp1c3RpZnktY29udGVudDogbGVmdDsKbWFyZ2luOiAwIGF1dG8KfQoKLnRleHQtY29udGFpbmVyIHsKLyogYm9yZGVyOiAxcHggZG90dGVkOyAqLwoKZGlzcGxheTogZmxleDsKZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKanVzdGlmeS1jb250ZW50OiBjZW50ZXI7CmFsaWduLWl0ZW1zOiBjZW50ZXI7Cn0KCgojc2VnbWVudFRleHQgewp3aWR0aDogNjAlOwpwYWRkaW5nOiAwcHg7CnRleHQtYWxpZ246IGxlZnQ7Cn0KCiNzZWdtZW50VGV4dDMgewp3aWR0aDogNjAlOwpwYWRkaW5nOiAwcHg7CnRleHQtYWxpZ246IGxlZnQ7Cn0KCiNzZWdtZW50VGl0bGUgewp3aWR0aDogNTAlOwpwYWRkaW5nOiAwcHg7CnRleHQtYWxpZ246IGxlZnQ7Cn0KCnNlY3Rpb24gewpkaXNwbGF5OiBmbGV4OwpmbGV4LWZsb3c6IHJvdyB3cmFwOwoKfQpzZWN0aW9uID4gZGl2IHsKZmxleDogMTsKcGFkZGluZzogMC40cmVtOwp9CmlucHV0W3R5cGU9InJhZGlvIl0gewpkaXNwbGF5OiBub25lOwomOm5vdCg6ZGlzYWJsZWQpIH4gbGFiZWwgewpjdXJzb3I6IHBvaW50ZXI7Cn0KCn0KCgoKCmxhYmVsW2Zvcj1vdmVyYWxsXXsKbGVmdDogNjAwcHg7CnRvcDogNTBweDsKfQoKbGFiZWxbZm9yPXBoeXNpY2FsYWN0aXZpdHldewpsZWZ0OiA2MDBweDsKdG9wOiAxMTBweDsKfQoKbGFiZWxbZm9yPXNsZWVwXXsKbGVmdDogNzUwcHg7CnRvcDogMTEwcHg7Cn0KbGFiZWxbZm9yPXN0cmVzc117CmxlZnQ6IDYwMHB4Owp0b3A6IDE3MHB4Owp9CmxhYmVsW2Zvcj1udXRyaXRpb25dewpsZWZ0OiA3NTBweDsKdG9wOiAxNzBweDsKfQoKbGFiZWxbZm9yPXdhdGVyXXsKbGVmdDogNjAwcHg7CnRvcDogMjMwcHg7Cn0KCmxhYmVsW2Zvcj1hbGNvaG9sXXsKbGVmdDogNzUwcHg7CnRvcDogMjMwcHg7Cn0KCgpsYWJlbFtmb3I9ZW1vdGlvbnNdewpsZWZ0OiA2MDBweDsKdG9wOiAyOTBweDsKfQoKCmxhYmVsW2Zvcj1oaXN0b3J5XXsKbGVmdDogNzUwcHg7CnRvcDogMjkwcHg7Cn0KCgoKbGFiZWxbZm9yPW92ZXJhbGxdewogIGhlaWdodDogMzVweDsKICB3aWR0aDogMjcwcHg7CgogIGJvcmRlcjogMnB4IHNvbGlkIGhzbCg5OCwgMzclLCA2MCUsMSk7LyogY2hhbmdlIG92ZXJhbGwgYnV0dG9uIGJvcmRlciBjb2xvciAqLwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICBib3JkZXItcmFkaXVzOiAzMHB4OwogIHBhZGRpbmc6IDAuMnJlbTsKICBtYXJnaW4tYm90dG9tOiAxcmVtOwogIC8vbWFyZ2luOiAwLjFyZW07CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGJveC1zaGFkb3c6IDBweCAzcHggMTBweCAtMnB4IGhzbGEoMTUwLCA1JSwgNjUlLCAwLjUpOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKCn0KbGFiZWxbZm9yPXBoeXNpY2FsYWN0aXZpdHldewpib3JkZXI6IDJweCBzb2xpZCBoc2woMzMsIDEwMCUsIDcwJSwxKTsgIC8qIGNoYW5nZSBwaHlzaWNhbGFjdGl2aXR5CmJ1dHRvbiBib3JkZXIgY29sb3IgKi8KaGVpZ2h0OiAzNXB4Owogd2lkdGg6IDEyMHB4OwogZGlzcGxheTogaW5saW5lLWJsb2NrOwogYmFja2dyb3VuZDogd2hpdGU7CiAvKiBib3JkZXI6IDJweCBzb2xpZCBoc2woMzMsIDEwMCUsIDcwJSwxKTsgKi8KIGJvcmRlci1yYWRpdXM6IDMwcHg7CiBwYWRkaW5nOiAwLjJyZW07CiBtYXJnaW4tYm90dG9tOiAxcmVtOwogLy9tYXJnaW46IDAuMXJlbTsKIHRleHQtYWxpZ246IGNlbnRlcjsKIGJveC1zaGFkb3c6IDBweCAzcHggMTBweCAtMnB4IGhzbGEoMTUwLCA1JSwgNjUlLCAwLjUpOwogcG9zaXRpb246IGFic29sdXRlOwp9CgpsYWJlbFtmb3I9c2xlZXBdewpib3JkZXI6IDJweCBzb2xpZCBoc2woOTgsIDM3JSwgNjAlLDEpOyAgIC8qIGNoYW5nZSBzbGVlcCBidXR0b24gYm9yZGVyIGNvbG9yICovCmhlaWdodDogMzVweDsKIHdpZHRoOiAxMjBweDsKIGRpc3BsYXk6IGlubGluZS1ibG9jazsKIGJhY2tncm91bmQ6IHdoaXRlOwogLyogYm9yZGVyOiAycHggc29saWQgaHNsKDMzLCAxMDAlLCA3MCUsMSk7ICovCiBib3JkZXItcmFkaXVzOiAzMHB4OwogcGFkZGluZzogMC4ycmVtOwogbWFyZ2luLWJvdHRvbTogMXJlbTsKIC8vbWFyZ2luOiAwLjFyZW07CiB0ZXh0LWFsaWduOiBjZW50ZXI7CiBib3gtc2hhZG93OiAwcHggM3B4IDEwcHggLTJweCBoc2xhKDE1MCwgNSUsIDY1JSwgMC41KTsKIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQpsYWJlbFtmb3I9c3RyZXNzXXsKYm9yZGVyOiAycHggc29saWQgaHNsKDk4LCAzNyUsIDYwJSwxKTsgIC8qIGNoYW5nZSBzdHJlc3MgYnV0dG9uIGJvcmRlciBjb2xvciAqLwpoZWlnaHQ6IDM1cHg7CiB3aWR0aDogMTIwcHg7CiBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiBiYWNrZ3JvdW5kOiB3aGl0ZTsKIC8qIGJvcmRlcjogMnB4IHNvbGlkIGhzbCgzMywgMTAwJSwgNzAlLDEpOyAqLwogYm9yZGVyLXJhZGl1czogMzBweDsKIHBhZGRpbmc6IDAuMnJlbTsKIG1hcmdpbi1ib3R0b206IDFyZW07CiAvL21hcmdpbjogMC4xcmVtOwogdGV4dC1hbGlnbjogY2VudGVyOwogYm94LXNoYWRvdzogMHB4IDNweCAxMHB4IC0ycHggaHNsYSgxNTAsIDUlLCA2NSUsIDAuNSk7CiBwb3NpdGlvbjogYWJzb2x1dGU7Cn0KbGFiZWxbZm9yPW51dHJpdGlvbl17CmJvcmRlcjogMnB4IHNvbGlkIGhzbCg5OCwgMzclLCA2MCUsMSk7IC8qIGNoYW5nZSBOdXRyaXRpb24gYnV0dG9uCmJvcmRlciBjb2xvciAqLwpoZWlnaHQ6IDM1cHg7CiB3aWR0aDogMTIwcHg7CiBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiBiYWNrZ3JvdW5kOiB3aGl0ZTsKIC8qIGJvcmRlcjogMnB4IHNvbGlkIGhzbCgzMywgMTAwJSwgNzAlLDEpOyAqLwogYm9yZGVyLXJhZGl1czogMzBweDsKIHBhZGRpbmc6IDAuMnJlbTsKIG1hcmdpbi1ib3R0b206IDFyZW07CiAvL21hcmdpbjogMC4xcmVtOwogdGV4dC1hbGlnbjogY2VudGVyOwogYm94LXNoYWRvdzogMHB4IDNweCAxMHB4IC0ycHggaHNsYSgxNTAsIDUlLCA2NSUsIDAuNSk7CiBwb3NpdGlvbjogYWJzb2x1dGU7Cn0KbGFiZWxbZm9yPXdhdGVyXXsKYm9yZGVyOiAycHggc29saWQgaHNsKDk4LCAzNyUsIDYwJSwxKTsgIC8qIGNoYW5nZSB3YXRlciBidXR0b24gYm9yZGVyIGNvbG9yICovCmhlaWdodDogMzVweDsKIHdpZHRoOiAxMjBweDsKIGRpc3BsYXk6IGlubGluZS1ibG9jazsKIGJhY2tncm91bmQ6IHdoaXRlOwogLyogYm9yZGVyOiAycHggc29saWQgaHNsKDMzLCAxMDAlLCA3MCUsMSk7ICovCiBib3JkZXItcmFkaXVzOiAzMHB4OwogcGFkZGluZzogMC4ycmVtOwogbWFyZ2luLWJvdHRvbTogMXJlbTsKIC8vbWFyZ2luOiAwLjFyZW07CiB0ZXh0LWFsaWduOiBjZW50ZXI7CiBib3gtc2hhZG93OiAwcHggM3B4IDEwcHggLTJweCBoc2xhKDE1MCwgNSUsIDY1JSwgMC41KTsKIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoKbGFiZWxbZm9yPWFsY29ob2xdewpib3JkZXI6IDJweCBzb2xpZCBoc2woMzMsIDEwMCUsIDcwJSwxKTsgLyogY2hhbmdlIEFsY29ob2wgYnV0dG9uIGJvcmRlciBjb2xvciAqLwpoZWlnaHQ6IDM1cHg7CiB3aWR0aDogMTIwcHg7CiBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiBiYWNrZ3JvdW5kOiB3aGl0ZTsKIC8qIGJvcmRlcjogMnB4IHNvbGlkIGhzbCgzMywgMTAwJSwgNzAlLDEpOyAqLwogYm9yZGVyLXJhZGl1czogMzBweDsKIHBhZGRpbmc6IDAuMnJlbTsKIG1hcmdpbi1ib3R0b206IDFyZW07CiAvL21hcmdpbjogMC4xcmVtOwogdGV4dC1hbGlnbjogY2VudGVyOwogYm94LXNoYWRvdzogMHB4IDNweCAxMHB4IC0ycHggaHNsYSgxNTAsIDUlLCA2NSUsIDAuNSk7CiBwb3NpdGlvbjogYWJzb2x1dGU7Cgp9CmxhYmVsW2Zvcj1lbW90aW9uc117CmJvcmRlcjogMnB4IHNvbGlkIGhzbCg5OCwgMzclLCA2MCUsMSk7IC8qIGNoYW5nZSBlbW90aW9ucyBidXR0b24gYm9yZGVyIGNvbG9yICovCmhlaWdodDogMzVweDsKIHdpZHRoOiAxMjBweDsKIGRpc3BsYXk6IGlubGluZS1ibG9jazsKIGJhY2tncm91bmQ6IHdoaXRlOwogLyogYm9yZGVyOiAycHggc29saWQgaHNsKDMzLCAxMDAlLCA3MCUsMSk7ICovCiBib3JkZXItcmFkaXVzOiAzMHB4OwogcGFkZGluZzogMC4ycmVtOwogbWFyZ2luLWJvdHRvbTogMXJlbTsKIC8vbWFyZ2luOiAwLjFyZW07CiB0ZXh0LWFsaWduOiBjZW50ZXI7CiBib3gtc2hhZG93OiAwcHggM3B4IDEwcHggLTJweCBoc2xhKDE1MCwgNSUsIDY1JSwgMC41KTsKIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoKbGFiZWxbZm9yPWhpc3Rvcnldewpib3JkZXI6IDJweCBzb2xpZCBoc2woOTgsIDM3JSwgNjAlLDEpOyAvKiBjaGFuZ2UgaGlzdG9yeSBidXR0b24gYm9yZGVyIGNvbG9yICovCmhlaWdodDogMzVweDsKIHdpZHRoOiAxMjBweDsKIGRpc3BsYXk6IGlubGluZS1ibG9jazsKIGJhY2tncm91bmQ6IHdoaXRlOwogLyogYm9yZGVyOiAycHggc29saWQgaHNsKDMzLCAxMDAlLCA3MCUsMSk7ICovCiBib3JkZXItcmFkaXVzOiAzMHB4OwogcGFkZGluZzogMC4ycmVtOwogbWFyZ2luLWJvdHRvbTogMXJlbTsKIC8vbWFyZ2luOiAwLjFyZW07CiB0ZXh0LWFsaWduOiBjZW50ZXI7CiBib3gtc2hhZG93OiAwcHggM3B4IDEwcHggLTJweCBoc2xhKDE1MCwgNSUsIDY1JSwgMC41KTsKIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoKCgoKCgoKaW5wdXRbdHlwZT0icmFkaW8iXTpjaGVja2VkICsgbGFiZWxbZm9yPW92ZXJhbGxdewogIC8qIGNoYW5nZSBvdmVyYWxsIGJ1dHRvbiBiYWNrZ3JvdW5kIGNvbG9yICovCiAgYmFja2dyb3VuZDogaHNsKDk4LCAzNyUsIDYwJSwxKTsKICBib3gtc2hhZG93OiAwcHggMHB4IDIwcHggaHNsKDk4LCAzNyUsIDYwJSwxKTsKY29sb3I6IGhzbGEoMjE1LCAwJSwgMTAwJSwgMSk7Cn0KaW5wdXRbdHlwZT0icmFkaW8iXTpjaGVja2VkICsgbGFiZWxbZm9yPXBoeXNpY2FsYWN0aXZpdHldewogIC8qIGNoYW5nZSBwaHlzaWNhbCBhY3Rpdml0eSBidXR0b24gYmFja2dyb3VuZCBjb2xvciAqLwogIGJhY2tncm91bmQ6IGhzbCgzMywgMTAwJSwgNzAlLDEpOwogIGJveC1zaGFkb3c6IDBweCAwcHggMjBweCBoc2woMzMsIDEwMCUsIDcwJSwxKTsKY29sb3I6IGhzbGEoMjE1LCAwJSwgMTAwJSwgMSk7Cn0KCmlucHV0W3R5cGU9InJhZGlvIl06Y2hlY2tlZCArIGxhYmVsW2Zvcj1zbGVlcF17CiAgLyogY2hhbmdlIHNsZWVwIGJ1dHRvbiBiYWNrZ3JvdW5kIGNvbG9yICovCiAgYmFja2dyb3VuZDogaHNsKDk4LCAzNyUsIDYwJSwxKTsKICBib3gtc2hhZG93OiAwcHggMHB4IDIwcHggaHNsKDk4LCAzNyUsIDYwJSwxKTsKY29sb3I6IGhzbGEoMjE1LCAwJSwgMTAwJSwgMSk7Cn0KCgppbnB1dFt0eXBlPSJyYWRpbyJdOmNoZWNrZWQgKyBsYWJlbFtmb3I9c3RyZXNzXXsKICAvKiBjaGFuZ2Ugc3RyZXNzIGJ1dHRvbiBiYWNrZ3JvdW5kIGNvbG9yICovCiAgYmFja2dyb3VuZDogaHNsKDk4LCAzNyUsIDYwJSwxKTsKICBib3gtc2hhZG93OiAwcHggMHB4IDIwcHggaHNsKDk4LCAzNyUsIDYwJSwxKTsKY29sb3I6IGhzbGEoMjE1LCAwJSwgMTAwJSwgMSk7Cgp9CgoKaW5wdXRbdHlwZT0icmFkaW8iXTpjaGVja2VkICsgbGFiZWxbZm9yPW51dHJpdGlvbl17CiAgICAvKiBjaGFuZ2UgTnV0cml0aW9uIGJ1dHRvbiBiYWNrZ3JvdW5kIGNvbG9yICovCiAgICBiYWNrZ3JvdW5kOiBoc2woOTgsIDM3JSwgNjAlLDEpOwogICAgYm94LXNoYWRvdzogMHB4IDBweCAyMHB4IGhzbCg5OCwgMzclLCA2MCUsMSk7CmNvbG9yOiBoc2xhKDIxNSwgMCUsIDEwMCUsIDEpOwp9CgppbnB1dFt0eXBlPSJyYWRpbyJdOmNoZWNrZWQgKyBsYWJlbFtmb3I9d2F0ZXJdewogIC8qIGNoYW5nZSB3YXRlciBidXR0b24gYmFja2dyb3VuZCBjb2xvciAqLwogIGJhY2tncm91bmQ6IGhzbCg5OCwgMzclLCA2MCUsMSk7CiAgYm94LXNoYWRvdzogMHB4IDBweCAyMHB4IGhzbCg5OCwgMzclLCA2MCUsMSk7CmNvbG9yOiBoc2xhKDIxNSwgMCUsIDEwMCUsIDEpOwp9CgppbnB1dFt0eXBlPSJyYWRpbyJdOmNoZWNrZWQgKyBsYWJlbFtmb3I9YWxjb2hvbF17CiAgICAvKiBjaGFuZ2UgQWxjb2hvbCBidXR0b24gYmFja2dyb3VuZCBjb2xvciAqLwogIGJhY2tncm91bmQ6IGhzbCgzMywgMTAwJSwgNzAlLDEpOwogIGJveC1zaGFkb3c6IDBweCAwcHggMjBweCBoc2woMzMsIDEwMCUsIDcwJSwxKTsKY29sb3I6IGhzbGEoMjE1LCAwJSwgMTAwJSwgMSk7Cn0KCmlucHV0W3R5cGU9InJhZGlvIl06Y2hlY2tlZCArIGxhYmVsW2Zvcj1lbW90aW9uc117CiAgLyogY2hhbmdlIGVtb3Rpb25zIHdvcmsgYnV0dG9uIGJhY2tncm91bmQgY29sb3IgKi8KICBiYWNrZ3JvdW5kOiBoc2woOTgsIDM3JSwgNjAlLDEpOwogIGJveC1zaGFkb3c6IDBweCAwcHggMjBweCBoc2woOTgsIDM3JSwgNjAlLDEpOwpjb2xvcjogaHNsYSgyMTUsIDAlLCAxMDAlLCAxKTsKCn0KaW5wdXRbdHlwZT0icmFkaW8iXTpjaGVja2VkICsgbGFiZWxbZm9yPWhpc3RvcnldewogICAgLyogY2hhbmdlIGhpc3RvcnkgYnV0dG9uIGJhY2tncm91bmQgY29sb3IgKi8KICAgIGJhY2tncm91bmQ6IGhzbCg5OCwgMzclLCA2MCUsMSk7CiAgICBib3gtc2hhZG93OiAwcHggMHB4IDIwcHggaHNsKDk4LCAzNyUsIDYwJSwxKTsKY29sb3I6IGhzbGEoMjE1LCAwJSwgMTAwJSwgMSk7Cn0KCgo=
CgogICAgcGFzdHNjb3Jlcz1bewoiZGF0ZSI6ICIyMDE4LTA4LTI4IiwKInNjb3JlIjo3MAp9LHsKImRhdGUiOiAiMjAxOC0wOS0yOCIsCiJzY29yZSI6ODAKfV0KLy8gZW50ZXIgZGF0YQplbnRlcl9waHlzaWNhbGFjdGl2aXR5PVswLDc1LDgxLDc1LDI1LDY5XTsgIC8vNiBxdWVzdGlvbnMKZW50ZXJfc2xlZXA9Wzg4LDgxLDYzLDk0LDg4LDgxLDU2LDgxLDEwMCwyNV07IC8vMTAgcXVlc3Rpb25zCgplbnRlcl9zdHJlc3M9Wzc1LDc1LDgxLDEwMCw1MF07IC8vNSBxdWVzdGlvbnMKZW50ZXJfbnV0cmk9WzUwLDc1LDEzLDgzLDc1LDQyLDc1LDYzLDYzLDYzLDY5LDYzLDc1LDkyLDgxLDgxXTsgLy8xNiBxdWVzdGlvbnMKZW50ZXJfd2F0ZXI9WzY3XTsvLzEgcXVlc3Rpb24KZW50ZXJfYWxjb2hvbD1bNjMsNDEsNjZdOyAvLzMgcXVlc3Rpb25zCgoKCmVudGVyX2Vtb3Rpb25zPVs3NSw4MSw4OF07IC8vMyBxdWVzdGlvbnMKZW50ZXJfaGlzdG9yeT1bODgsOTIsMTAwLDEwMCwxMDAsMTAwLDUwLDc1XTsgLy84IHF1ZXN0aW9ucwoKCi8vIGVudGVyIFJlY29tbWVuZGF0aW9uIHRleHQKZW50ZXJfcmVjb21tX3BoeXNpY2FsYWN0aXZpdHk9ClsKIllvdXIgcGh5c2ljYWwgYWN0aXZpdHkgbGV2ZWwgYXQgeW91ciBqb2IgaXMgbG93LiIsCiJZb3VyIGRhaWx5IHBoeXNpY2FsIGFjdGl2aXR5IGxldmVsIGlzIGhpZ2guICIsCiJZb3VyIHBoeXNpY2FsIGFjdGl2aXR5IGxldmVsIGlzIGhpZ2guICIsCiJZb3VyIGRhaWx5IGV4ZXJjaXNlIGxldmVsIGlzIGhpZ2guICIsCiJZb3VyIHBoeXNpY2FsIGFjdGl2aXR5IGxldmVsIGlzIGxvdy4iLAoiWW91ciBwaHlzaWNhbCBhY3Rpdml0eSBsZXZlbCBpcyBoaWdoLiAiXTsKZW50ZXJfcmVjb21tX3NsZWVwPQpbCiJZb3UgYXJlIGdldHRpbmcgYSBnb29kIGFtb3VudCBvZiBob3VycyBvZiBzbGVlcCBlYWNoIG5pZ2h0LiAiLAoiWW91IGFyZSBnZXR0aW5nIGhpZ2ggcXVhbGl0eSBzbGVlcC4gIiwKIllvdSBmZWVsIHNvbWV3aGF0IHJlc3RlZCBpbiB0aGUgbW9ybmluZy4gIiwKIllvdSBmaW5kIGl0IGVhc3kgdG8gZ2V0IHRvIGJlZC4gIiwKIllvdSBoYXZlIGFuIGVhc3kgdGltZSBmYWxsaW5nIGFzbGVlcC4gIiwKIllvdSBkbyBub3QgaGF2ZSB0cm91YmxlIHJlbWFpbmluZyBhc2xlZXAuIiwKIllvdSBzb21ldGltZXMgd2FrZSB1cCBlYXJsaWVyIHRoYW4geW91IHBsYW4gdG8uIiwKIlRyYXZlbCBhbmQgamV0bGFnIGRvIG5vdCBhZmZlY3QgeW91ciBzbGVlcC4iLAoiWW91ciBzbGVlcCBwYXR0ZXJucyBkbyBub3QgaW1wYWN0IHlvdXIgYWJpbGl0eSB0byBhY2hpZXZlIHlvdXIgZ29hbHMuICIsCiJZb3UgbmVlZCBtYW55IGNhZmZlaW5hdGVkIGRyaW5rcyB0aHJvdWdob3V0IHRoZSBkYXkuICJdOwplbnRlcl9yZWNvbW1fc3RyZXNzPQpbIllvdXIgc3RyZXNzIGxldmVsIGlzIGxvdy4gIiwKIlN0cmVzcyBoYXMgbm90IGltcGFjdGVkIHlvdXIgaGVhbHRoLiAiLAoiWW91IGFyZSBlZmZlY3RpdmUgaW4gaGFuZGxpbmcgc3RyZXNzIGluIHlvdXIgbGlmZS4gIiwKIllvdSBoYXZlIGVtb3Rpb25hbCBzdXBwb3J0IGZyb20gb3RoZXJzIHRvIGhlbHAgeW91IGluIG1hbmFnaW5nIHN0cmVzcy4iLAoiWW91IGNhbm5vdCBzb21ld2hhdCBlYXNpbHkgcmVtb3ZlIHRoZSBzb3VyY2VzIG9mIHN0cmVzcyBpbiB5b3VyIGxpZmUuIl07CmVudGVyX3JlY29tbV9udXRyaT0KWyJZb3Ugc29tZXRpbWVzIGNvb2sgb3IgcHJlcGFyZSB5b3VyIG1lYWxzLiIsCiJZb3UgZG8gbm90IGVhdCB3aGVuIHlvdSBkb24ndCBmZWVsIGh1bmdyeS4iLAoiWW91IG9mdGVuIGVhdCBvdXRzaWRlIHlvdXIgaG9tZS4iLAoiWW91IG9mdGVuIGVhdCBicmVha2Zhc3QuIiwKIllvdSBoYXZlIDUgb3IgbW9yZSBzZXJ2aW5ncyBvZiB2ZWdldGFibGVzIHBlciBkYXkuICIsCiJZb3UgaGF2ZSAxLTIgc2VydmluZ3Mgb2YgZnJ1aXQgcGVyIGRheS4iLAoiWW91IGVhdCBtYW55IGZvb2RzIGhpZ2ggaW4gZmliZXIuICIsCiJZb3UgaGF2ZSAxLTIgc2VydmluZ3Mgb2YgaGlnaCBjYWxjaXVtIGRhaXJ5IGZvb2QgcGVyIGRheS4iLAoiWW91IGhhdmUgMS0yIHNlcnZpbmdzIG9mIGhpZ2ggY2FsY2l1bSBub24tZGFpcnkgZm9vZCBwZXIgZGF5LiIsCiJTb21lIHBlb3BsZSBpbiB5b3VyIHNvY2lhbCBuZXR3b3JrIGZvbGxvdyBoZWFsdGh5IGxpZmVzdHlsZSBoYWJpdHMuIiwKIllvdXIgc3BvdXNlIG9yIHNpZ25pZmljYW50IG90aGVyIGhhcyBoZWFsdGh5IGxpZmVzdHlsZSBoYWJpdHMuIiwKIllvdSBzb21ldGltZXMgaW5kdWxnZSBpbiB0cmVhdHMgYXQgeW91ciB3b3JrcGxhY2UuIiwKIllvdSBkbyBub3Qgc21va2UgY2lnYXJldHRlcyBvciBvdGhlciB0b2JhY2NvIHByb2R1Y3RzLiIsCiJZb3UgaGF2ZSBmZXcgc2VydmluZ3Mgb2YgZnJpZWQgb3IgZmFzdCBmb29kIHBlciBkYXkuIiwKIllvdSBvZnRlbiByZWFkIG51dHJpdGlvbiBsYWJlbHMgb24gZm9vZC4iLAoiWW91IG9mdGVuIHNlbGVjdCBvcmdhbmljLCBmcmVlLXJhbmdlLCBvciBzZWFzb25hbCBmb29kcy4iXTsKZW50ZXJfcmVjb21tX3dhdGVyPQpbIllvdSBkcmluayBvdmVyIDggY3VwcyBvZiB3YXRlciBwZXIgZGF5LiJdOwplbnRlcl9yZWNvbW1fYWxjb2hvbD0KWyJZb3UgZHJpbmsgYWxjb2hvbCBvbiAyLTUgZGF5cyBwZXIgd2Vlay4iLAoiWW91IGhhdmUgMS0yIGFsY29ob2xpYyBkcmlua3MgcGVyIHNpdHRpbmcuIiwKIllvdSBjb25zdW1lIDItNyBhbGNvaG9saWMgZHJpbmtzIHBlciB3ZWVrLiJdOwplbnRlcl9yZWNvbW1fZW1vdGlvbnM9ClsiWW91IHJhcmVseSBleHBlcmllbmNlIGFueGlldHkgb3IgZmVhci4iLAoiWW91IHJhcmVseSBleHBlcmllbmNlIGRlcHJlc3Npb24uIiwKIllvdSBvZnRlbiBmZWVsIGhhcHB5LiJdOwplbnRlcl9yZWNvbW1faGlzdG9yeT0KWyJZb3VyIEJNSSBpcyB3aXRoaW4gdGhlIGhlYWx0aHkgcmFuZ2UuIiwKIllvdSBoYXZlIG5vdCBiZWVuIGRpYWdub3NlZCB3aXRoIGNhcmRpb3Zhc2N1bGFyIGRpc2Vhc2UuIiwKIllvdSBoYXZlIG5vdCBiZWVuIGRpYWdub3NlZCB3aXRoIG1ldGFib2xpYyBkaXNlYXNlLiIsCiJZb3UgaGF2ZSBub3QgYmVlbiBkaWFnbm9zZWQgd2l0aCByZXNwaXJhdG9yeSBkaXNlYXNlLiIsCiJZb3Ugc2VlbSB0byBiZSBwaHlzaWNhbGx5IHJlYWR5IGZvciBleGVyY2lzZS4iLAoiWW91IHNlZW0gdG8gYmUgcmVhZHkgZm9yIHBoeXNpY2FsIGFjdGl2aXR5LiIsCiJZb3UgZG8gbm90IHJlY2VpdmUgYW5udWFsIGNoZWNrdXBzIGZyb20geW91ciBwaHlzaWNpYW4uIiwKIllvdSBoYXZlIG5vdCBleHBlcmllbmNlZCBhIGxvc3Mgb2YgYmFsYW5jZSBvciBkaXp6aW5lc3MuICJdOwoKZW50ZXJfcmVjb21tX3BoeXNpY2FsYWN0aXZpdHkyPQpbIlRyeSB0YWtpbmcgdGhlIHN0YWlycyBhdCB3b3JrIG9yIGdvaW5nIGZvciB3YWxrcy4iLAoiS2VlcCBpdCB1cCEiLAoiS2VlcCBpdCB1cCEiLAoiS2VlcCBpdCB1cCEiLAoiVGFrZSBhIGJyZWFrIGZyb20gc2l0dGluZyBldmVyeSA2MCBtaW51dGVzLiIsCiJLZWVwIGl0IHVwISJdOwplbnRlcl9yZWNvbW1fc2xlZXAyPQpbIktlZXAgaXQgdXAhIiwKIktlZXAgaXQgdXAhIiwKIkF2b2lkIG5hcHMsIGV4ZXJjaXNlIG9mdGVuIGFuZCBzdGljayB0byBhIHNsZWVwIHNjaGVkdWxlLiIsCiJLZWVwIGl0IHVwISIsCiJLZWVwIGl0IHVwISIsCiJLZWVwIGl0IHVwISIsCiJUcnkgc3RpY2tpbmcgdG8gYSBzbGVlcCBzY2hlZHVsZSwgZXZlbiBvbiB3ZWVrZW5kcy4iLAoiS2VlcCBpdCB1cCEiLAoiS2VlcCBpdCB1cCEiLAoiRGVjcmVhc2UgeW91ciBjb2ZmZWUgaW50YWtlLiBFeGVyY2lzZSBhbmQgcmVkdWNlIHN0cmVzcy4iXTsKZW50ZXJfcmVjb21tX3N0cmVzczI9ClsiS2VlcCBpdCB1cCEiLAoiS2VlcCBpdCB1cCEiLAoiR29vZCBqb2IhIiwKIkVtb3Rpb25hbCBzdXBwb3J0IGZyb20gb3RoZXJzIGhlbHBzIGxpZ2h0ZW4gdGhlIHN0cmVzcyEiLAoiTWFrZSBncmFkdWFsIGNoYW5nZXMgdG8gaGVscCBnZXQgcmlkIG9mIHdoYXQgY2F1c2VzIHlvdSBzdHJlc3MuIl07CmVudGVyX3JlY29tbV9udXRyaTI9ClsiUHJlcGFyZSBtZWFscyBhdCBob21lIHRvIGF2b2lkIGV4Y2VzcyBzdWdhciwgZmF0IGFuZCBzb2RpdW0uIiwKIktlZXAgaXQgdXAhIiwKIlRyeSBlYXRpbmcgb3V0c2lkZSB5b3VyIGhvbWUgdHdvIG9yIGZld2VyIHRpbWVzIHBlciB3ZWVrLiIsCiJLZWVwIGl0IHVwISIsCiJLZWVwIGl0IHVwISIsCiJFbmpveSBhdCBsZWFzdCB0d28gc2VydmluZ3Mgb2YgZnJ1aXQgcGVyIGRheS4iLAoiS2VlcCBpdCB1cCEiLAoiQWltIHRvIGdldCAxLDAwMCBtZyBvZiBjYWxjaXVtIGRhaWx5LiIsCiJBaW0gdG8gZ2V0IDEsMDAwIG1nIG9mIGNhbGNpdW0gZGFpbHkuIiwKIkVuY291cmFnZSB5b3VyIHNvY2lhbCBuZXR3b3JrIHRvIGZvbGxvdyBhIGhlYWx0aHkgbGlmZXN0eWxlLiIsCiJUaGF0J3MgZ3JlYXQhIFlvdSBhcmUgbW9yZSBsaWtlbHkgdG8gc3RpY2sgdG8gYSBoZWF0aHkgbGlmZXN0eWxlLiIsCiJMaW1pdCBmb29kcyBoaWdoIGluIHNhdHVyYXRlZCBmYXQsIGFkZGVkIHN1Z2FyIGFuZCBzb2RpdW0uIiwKIktlZXAgaXQgdXAhIiwKIktlZXAgaXQgdXAhIiwKIktlZXAgaXQgdXAhIiwKIktlZXAgaXQgdXAhIl07CmVudGVyX3JlY29tbV93YXRlcjI9ClsiS2VlcCBpdCB1cCEiXTsKZW50ZXJfcmVjb21tX2FsY29ob2wyPQpbIkNvbnN1bWUgYWxjb2hvbCBpbiBtb2RlcmF0aW9uOiAxLTMgZHJpbmtzIG9yIGxlc3MgcGVyIHdlZWsuIiwKIktlZXAgYWxjb2hvbCBjb25zdW1wdGlvbiB0byAxLTIgZHJpbmtzIHBlciBzaXR0aW5nLiIsCiJDb25zdW1lIGFsY29ob2wgaW4gbW9kZXJhdGlvbjogMS0zIGRyaW5rcyBvciBsZXNzIHBlciB3ZWVrLiJdOwplbnRlcl9yZWNvbW1fZW1vdGlvbnMyPQpbIktlZXAgaXQgdXAhIiwKIktlZXAgaXQgdXAhIiwKIktlZXAgaXQgdXAhIl07CmVudGVyX3JlY29tbV9oaXN0b3J5Mj0KWyJLZWVwIGl0IHVwISIsCiJHcmVhdCBuZXdzISIsCiJHcmVhdCBuZXdzISIsCiJHcmVhdCBuZXdzISIsCiJHcmVhdCBuZXdzISBIb3dldmVyLCBhbHdheXMgY29uZmlybSB3aXRoIHlvdXIgcGh5c2ljYW4uIiwKIkdyZWF0IG5ld3MhIEhvd2V2ZXIsIGFsd2F5cyBjb25maXJtIHdpdGggeW91ciBwaHlzaWNhbi4iLAoiQW5udWFsIGNoZWNrdXBzIGNhbiBoZWxwIHlvdSBiZXR0ZXIgbWFuYWdlIHlvdXIgaGVhbHRoLiIsCiJHcmVhdCBuZXdzISJdOwoKCnRvdGFsX292ZXI9NzEKdG90YWxfcGh5c2ljYWxhY3Rpdml0eT01NAp0b3RhbF9zbGVlcD03NQp0b3RhbF9zdHJlc3M9NzYKdG90YWxfbnV0cmk9NjYKdG90YWxfd2F0ZXI9NjcKdG90YWxfYWxjb2hvbD01Ngp0b3RhbF9lbW90aW9ucz04MQp0b3RhbF9oaXN0b3J5PTg4CgoKIGxldmVsX292ZXI9ImhpZ2hlci1yYW5nZSIKbGV2ZWxfcGh5c2ljYWxhY3Rpdml0eT0iIG1pZC1yYW5nZSIKbGV2ZWxfc2xlZXA9ImhpZ2hlci1yYW5nZSIKbGV2ZWxfc3RyZXNzPSJoaWdoZXItcmFuZ2UiCmxldmVsX251dHJpPSJoaWdoZXItcmFuZ2UiCmxldmVsX3dhdGVyPSJoaWdoZXItcmFuZ2UiCmxldmVsX2FsY29ob2w9Im1pZC1yYW5nZSIKbGV2ZWxfZW1vdGlvbnM9ImhpZ2hlci1yYW5nZSIKbGV2ZWxfaGlzdG9yeT0iaGlnaGVyLXJhbmdlIgoKCnZhciBvdmVyYWxsID0gW3sKIkNhdGVnb3J5IjoiT3ZlcmFsbCIsCiJUb3RhbCI6dG90YWxfb3ZlciwKIlR5cGUiOiAiUGh5c2ljYWwgQWN0aXZpdHkiLAoKIkFtb3VudCI6IHRvdGFsX3BoeXNpY2FsYWN0aXZpdHksCiJEZXNjcmlwdGlvbiI6ICJDbGljayBvbiB0aGUgc2lkZSBtZW51IHRvIHNlZSBtb3JlIGFib3V0IHRoaXMgc2VjdGlvbi4iLAoiUmVjb21tZW5kYXRpb24iOiAiICAiLAoiUmVjb21tZW5kYXRpb24yIjogIiAgIiwKImxldmVsIjpsZXZlbF9vdmVyCn0sewoiQ2F0ZWdvcnkiOiJPdmVyYWxsIiwKIlRvdGFsIjp0b3RhbF9vdmVyLAoiVHlwZSI6ICJTbGVlcCIsCgoiQW1vdW50IjogdG90YWxfc2xlZXAsCiJEZXNjcmlwdGlvbiI6ICJDbGljayBvbiB0aGUgc2lkZSBtZW51IHRvIGxlYXJuIG1vcmUgYWJvdXQgdGhpcyBzZWN0aW9uLiIsCiJSZWNvbW1lbmRhdGlvbiI6ICIgICIsCiJSZWNvbW1lbmRhdGlvbjIiOiAiICAiLAoibGV2ZWwiOmxldmVsX292ZXIKfSx7CiJDYXRlZ29yeSI6Ik92ZXJhbGwiLAoiVG90YWwiOnRvdGFsX292ZXIsCiJUeXBlIjogIlN0cmVzcyIsCgoiQW1vdW50IjogdG90YWxfc3RyZXNzLAoiRGVzY3JpcHRpb24iOiAiQ2xpY2sgb24gdGhlIHNpZGUgbWVudSB0byBsZWFybiBtb3JlIGFib3V0IHRoaXMgc2VjdGlvbi4iLAoiUmVjb21tZW5kYXRpb24iOiAiICAiLAoiUmVjb21tZW5kYXRpb24yIjogIiAgIgp9LCB7CiJDYXRlZ29yeSI6Ik92ZXJhbGwiLAoiVG90YWwiOnRvdGFsX292ZXIsCiJUeXBlIjogIk51dHJpdGlvbiIsCgoiQW1vdW50IjogdG90YWxfbnV0cmksCiJEZXNjcmlwdGlvbiI6ICJDbGljayBvbiB0aGUgc2lkZSBtZW51IHRvIGxlYXJuIG1vcmUgYWJvdXQgdGhpcyBzZWN0aW9uLiIsCiJSZWNvbW1lbmRhdGlvbiI6ICIgICIsCiJSZWNvbW1lbmRhdGlvbjIiOiAiICAiLAoibGV2ZWwiOmxldmVsX292ZXIKfSwgewoiQ2F0ZWdvcnkiOiJPdmVyYWxsIiwKIlRvdGFsIjp0b3RhbF9vdmVyLAoiVHlwZSI6ICJXYXRlciIsCgoiQW1vdW50IjogdG90YWxfd2F0ZXIsCiJEZXNjcmlwdGlvbiI6ICJDbGljayBvbiB0aGUgc2lkZSBtZW51IHRvIGxlYXJuIG1vcmUgYWJvdXQgdGhpcyBzZWN0aW9uLiIsCiJSZWNvbW1lbmRhdGlvbiI6ICIgICIsCiJSZWNvbW1lbmRhdGlvbjIiOiAiICAiLAoibGV2ZWwiOmxldmVsX292ZXIKfSwgewoiQ2F0ZWdvcnkiOiJPdmVyYWxsIiwKIlRvdGFsIjp0b3RhbF9vdmVyLAoiVHlwZSI6ICJBbGNvaG9sIiwKCiJBbW91bnQiOiB0b3RhbF9hbGNvaG9sLAoiRGVzY3JpcHRpb24iOiAiQ2xpY2sgb24gdGhlIHNpZGUgbWVudSB0byBsZWFybiBtb3JlIGFib3V0IHRoaXMgc2VjdGlvbi4iLAoiUmVjb21tZW5kYXRpb24iOiAiICAiLAoiUmVjb21tZW5kYXRpb24yIjogIiAgIiwKImxldmVsIjpsZXZlbF9vdmVyCn0sewoiQ2F0ZWdvcnkiOiJPdmVyYWxsIiwKIlRvdGFsIjp0b3RhbF9vdmVyLAoiVHlwZSI6ICJFbW90aW9ucyIsCgoiQW1vdW50IjogdG90YWxfZW1vdGlvbnMsCiJEZXNjcmlwdGlvbiI6ICJDbGljayBvbiB0aGUgc2lkZSBtZW51IHRvIGxlYXJuIG1vcmUgYWJvdXQgdGhpcyBzZWN0aW9uLiIsCiJSZWNvbW1lbmRhdGlvbiI6ICIgICIsCiJSZWNvbW1lbmRhdGlvbjIiOiAiICAiLAoibGV2ZWwiOmxldmVsX292ZXIKfSwgewoiQ2F0ZWdvcnkiOiJPdmVyYWxsIiwKIlRvdGFsIjp0b3RhbF9vdmVyLAoiVHlwZSI6ICJIaXN0b3J5IiwKCiJBbW91bnQiOiB0b3RhbF9oaXN0b3J5LAoiRGVzY3JpcHRpb24iOiAiQ2xpY2sgb24gdGhlIHNpZGUgbWVudSB0byBsZWFybiBtb3JlIGFib3V0IHRoaXMgc2VjdGlvbi4iLAoiUmVjb21tZW5kYXRpb24iOiAiICIsCiJSZWNvbW1lbmRhdGlvbjIiOiAiICAiLAoibGV2ZWwiOmxldmVsX292ZXIKfV07CgoKCnZhciBQaHlzaWNhbEFjdGl2aXR5ID0gW3sKIkNhdGVnb3J5IjoiUGh5c2ljYWwgQWN0aXZpdHkiLAoiVG90YWwiOnRvdGFsX3BoeXNpY2FsYWN0aXZpdHksCiJUeXBlIjogIlExIiwKCiJBbW91bnQiOiBlbnRlcl9waHlzaWNhbGFjdGl2aXR5WzBdLAoiRGVzY3JpcHRpb24iOiAiV2hhdCBpcyB0aGUgYWN0aXZpdHkgbGV2ZWwgYXQgeW91ciBqb2I/IiwKIlJlY29tbWVuZGF0aW9uIjogZW50ZXJfcmVjb21tX3BoeXNpY2FsYWN0aXZpdHlbMF0sCiJSZWNvbW1lbmRhdGlvbjIiOiBlbnRlcl9yZWNvbW1fcGh5c2ljYWxhY3Rpdml0eTJbMF0sCiJsZXZlbCI6bGV2ZWxfcGh5c2ljYWxhY3Rpdml0eQp9LCB7CiJDYXRlZ29yeSI6IlBoeXNpY2FsIEFjdGl2aXR5IiwKIlRvdGFsIjp0b3RhbF9waHlzaWNhbGFjdGl2aXR5LAoiVHlwZSI6ICJRMiIsCgoiQW1vdW50IjogZW50ZXJfcGh5c2ljYWxhY3Rpdml0eVsxXSwKIkRlc2NyaXB0aW9uIjogIkhvdyB3b3VsZCB5b3UgYmVzdCBkZXNjcmliZSB5b3VyIGV4ZXJjaXNlIGhhYml0cz8gIisKIihleGNsdWRpbmcgYWN0aXZpdHkgYXQgd29yaykgIiwKIlJlY29tbWVuZGF0aW9uIjogZW50ZXJfcmVjb21tX3BoeXNpY2FsYWN0aXZpdHlbMV0sCiJSZWNvbW1lbmRhdGlvbjIiOiBlbnRlcl9yZWNvbW1fcGh5c2ljYWxhY3Rpdml0eTJbMV0sCiJsZXZlbCI6bGV2ZWxfcGh5c2ljYWxhY3Rpdml0eQp9LCB7CiJDYXRlZ29yeSI6IlBoeXNpY2FsIEFjdGl2aXR5IiwKIlRvdGFsIjp0b3RhbF9waHlzaWNhbGFjdGl2aXR5LAoiVHlwZSI6ICJRMyIsCgoiQW1vdW50IjogZW50ZXJfcGh5c2ljYWxhY3Rpdml0eVsyXSwKIkRlc2NyaXB0aW9uIjogIkhvdyBsb25nIGhhcyBpdCBiZWVuIHNpbmNlIHlvdSB3ZXJlIGxhc3QgY29uc2lzdGVudGx5IGFjdGl2ZT8gIiwKIlJlY29tbWVuZGF0aW9uIjogZW50ZXJfcmVjb21tX3BoeXNpY2FsYWN0aXZpdHlbMl0sCiJSZWNvbW1lbmRhdGlvbjIiOiBlbnRlcl9yZWNvbW1fcGh5c2ljYWxhY3Rpdml0eTJbMl0sCiJsZXZlbCI6bGV2ZWxfcGh5c2ljYWxhY3Rpdml0eQp9LCB7CiJDYXRlZ29yeSI6IlBoeXNpY2FsIEFjdGl2aXR5IiwKIlRvdGFsIjp0b3RhbF9waHlzaWNhbGFjdGl2aXR5LAoiVHlwZSI6ICJRNCIsCgoiQW1vdW50IjogZW50ZXJfcGh5c2ljYWxhY3Rpdml0eVszXSwKIkRlc2NyaXB0aW9uIjogIkhvdyBtYW55IGhvdXJzIGRvIHlvdSBleGVyY2lzZSBkYWlseT8iLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fcGh5c2ljYWxhY3Rpdml0eVszXSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9waHlzaWNhbGFjdGl2aXR5MlszXSwKImxldmVsIjpsZXZlbF9waHlzaWNhbGFjdGl2aXR5Cn0sIHsKIkNhdGVnb3J5IjoiUGh5c2ljYWwgQWN0aXZpdHkiLAoiVG90YWwiOnRvdGFsX3BoeXNpY2FsYWN0aXZpdHksCiJUeXBlIjogIlE1IiwKCiJBbW91bnQiOiBlbnRlcl9waHlzaWNhbGFjdGl2aXR5WzRdLAoiRGVzY3JpcHRpb24iOiAiSG93IG1hbnkgaG91cnMgcGVyIGRheSBkbyB5b3Ugc2l0PyAiLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fcGh5c2ljYWxhY3Rpdml0eVs0XSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9waHlzaWNhbGFjdGl2aXR5Mls0XSwKImxldmVsIjpsZXZlbF9waHlzaWNhbGFjdGl2aXR5Cn0sIHsKIkNhdGVnb3J5IjoiUGh5c2ljYWwgQWN0aXZpdHkiLAoiVG90YWwiOnRvdGFsX3BoeXNpY2FsYWN0aXZpdHksCiJUeXBlIjogIlE2IiwKCiJBbW91bnQiOiBlbnRlcl9waHlzaWNhbGFjdGl2aXR5WzVdLAoiRGVzY3JpcHRpb24iOiAiSG93IHdvdWxkIHlvdSByYXRlIHlvdXIgbGV2ZWwgb2YgZml0bmVzcz8iLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fcGh5c2ljYWxhY3Rpdml0eVs1XSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9waHlzaWNhbGFjdGl2aXR5Mls1XSwKImxldmVsIjpsZXZlbF9waHlzaWNhbGFjdGl2aXR5Cn1dOwoKCgp2YXIgU2xlZXAgPSBbewoiQ2F0ZWdvcnkiOiJTbGVlcCIsCiJUb3RhbCI6dG90YWxfc2xlZXAsCiJUeXBlIjogIlExIiwKCiJBbW91bnQiOiBlbnRlcl9zbGVlcFswXSwKIkRlc2NyaXB0aW9uIjogIkhvdyBtYW55IGhvdXJzIG9mIHNsZWVwIGRvIHlvdSBnZXQgb24gYXZlcmFnZSBlYWNoIG5pZ2h0PyIsCiJSZWNvbW1lbmRhdGlvbiI6IGVudGVyX3JlY29tbV9zbGVlcFswXSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9zbGVlcDJbMF0sCiJsZXZlbCI6bGV2ZWxfc2xlZXAKfSwgewoiQ2F0ZWdvcnkiOiJTbGVlcCIsCiJUb3RhbCI6dG90YWxfc2xlZXAsCiJUeXBlIjogIlEyIiwKCiJBbW91bnQiOiBlbnRlcl9zbGVlcFsxXSwKIkRlc2NyaXB0aW9uIjogIkhvdyB3b3VsZCB5b3UgcmF0ZSB5b3VyIHF1YWxpdHkgb2Ygc2xlZXA/IiwKIlJlY29tbWVuZGF0aW9uIjogZW50ZXJfcmVjb21tX3NsZWVwWzFdLAoiUmVjb21tZW5kYXRpb24yIjogZW50ZXJfcmVjb21tX3NsZWVwMlsxXSwKImxldmVsIjpsZXZlbF9zbGVlcAp9LCB7CiJDYXRlZ29yeSI6IlNsZWVwIiwKIlRvdGFsIjp0b3RhbF9zbGVlcCwKIlR5cGUiOiAiUTMiLAoKIkFtb3VudCI6IGVudGVyX3NsZWVwWzJdLAoiRGVzY3JpcHRpb24iOiAiSG93IHJlc3RlZCBkbyB5b3UgdXN1YWxseSBmZWVsIGluIHRoZSBtb3JuaW5nPyIsCiJSZWNvbW1lbmRhdGlvbiI6IGVudGVyX3JlY29tbV9zbGVlcFsyXSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9zbGVlcDJbMl0sCiJsZXZlbCI6bGV2ZWxfc2xlZXAKfSwgewoiQ2F0ZWdvcnkiOiJTbGVlcCIsCiJUb3RhbCI6dG90YWxfc2xlZXAsCiJUeXBlIjogIlE0IiwKCiJBbW91bnQiOiBlbnRlcl9zbGVlcFszXSwKIkRlc2NyaXB0aW9uIjogIkRvIHlvdSBmaW5kIGl0IGhhcmQgdG8gZ2V0IHRvIGJlZD8iLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fc2xlZXBbM10sCiJSZWNvbW1lbmRhdGlvbjIiOiBlbnRlcl9yZWNvbW1fc2xlZXAyWzNdLAoibGV2ZWwiOmxldmVsX3NsZWVwCn0sIHsKIkNhdGVnb3J5IjoiU2xlZXAiLAoiVG90YWwiOnRvdGFsX3NsZWVwLAoiVHlwZSI6ICJRNSIsCgoiQW1vdW50IjogZW50ZXJfc2xlZXBbNF0sCiJEZXNjcmlwdGlvbiI6ICJEbyB5b3UgaGF2ZSBkaWZmaWN1bHRpZXMgZmFsbGluZyBhc2xlZXA/IiwKIlJlY29tbWVuZGF0aW9uIjogZW50ZXJfcmVjb21tX3NsZWVwWzRdLAoiUmVjb21tZW5kYXRpb24yIjogZW50ZXJfcmVjb21tX3NsZWVwMls0XSwKImxldmVsIjpsZXZlbF9zbGVlcAp9LCB7CiJDYXRlZ29yeSI6IlNsZWVwIiwKIlRvdGFsIjp0b3RhbF9zbGVlcCwKIlR5cGUiOiAiUTYiLAoKIkFtb3VudCI6IGVudGVyX3NsZWVwWzVdLAoiRGVzY3JpcHRpb24iOiAiRG8geW91IGhhdmUgdHJvdWJsZSByZW1haW5pbmcgYXNsZWVwPyIsCiJSZWNvbW1lbmRhdGlvbiI6IGVudGVyX3JlY29tbV9zbGVlcFs1XSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9zbGVlcDJbNV0sCiJsZXZlbCI6bGV2ZWxfc2xlZXAKfSwgewoiQ2F0ZWdvcnkiOiJTbGVlcCIsCiJUb3RhbCI6dG90YWxfc2xlZXAsCiJUeXBlIjogIlE3IiwKCiJBbW91bnQiOiBlbnRlcl9zbGVlcFs2XSwKIkRlc2NyaXB0aW9uIjogIkRvIHlvdSB3YWtlIHVwIGVhcmxpZXIgdGhhbiB5b3UgcGxhbiB0bz8iLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fc2xlZXBbNl0sCiJSZWNvbW1lbmRhdGlvbjIiOiBlbnRlcl9yZWNvbW1fc2xlZXAyWzZdLAoibGV2ZWwiOmxldmVsX3NsZWVwCn0sIHsKIkNhdGVnb3J5IjoiU2xlZXAiLAoiVG90YWwiOnRvdGFsX3NsZWVwLAoiVHlwZSI6ICJROCIsCgoiQW1vdW50IjogZW50ZXJfc2xlZXBbN10sCiJEZXNjcmlwdGlvbiI6ICJIb3cgb2Z0ZW4gZG9lcyB0cmF2ZWwgb3IgamV0bGFnIGFmZmVjdCB5b3VyIHNsZWVwIiwKIlJlY29tbWVuZGF0aW9uIjogZW50ZXJfcmVjb21tX3NsZWVwWzddLAoiUmVjb21tZW5kYXRpb24yIjogZW50ZXJfcmVjb21tX3NsZWVwMls3XSwKImxldmVsIjpsZXZlbF9zbGVlcAp9LCB7CiJDYXRlZ29yeSI6IlNsZWVwIiwKIlRvdGFsIjp0b3RhbF9zbGVlcCwKIlR5cGUiOiAiUTkiLAoKIkFtb3VudCI6IGVudGVyX3NsZWVwWzhdLAoiRGVzY3JpcHRpb24iOiAiRG8geW91IGZlZWwgeW91ciBzbGVlcCBwYXR0ZXJucyBpbXBhY3QgeW91ciBhYmlsaXR5IisKIiBvciBtb3RpdmF0aW9uIHRvIGFjaGlldmUgeW91ciBnb2Fscz8iLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fc2xlZXBbOF0sCiJSZWNvbW1lbmRhdGlvbjIiOiBlbnRlcl9yZWNvbW1fc2xlZXAyWzhdLAoibGV2ZWwiOmxldmVsX3NsZWVwCn0sIHsKIkNhdGVnb3J5IjoiU2xlZXAiLAoiVG90YWwiOnRvdGFsX3NsZWVwLAoiVHlwZSI6ICJRMTAiLAoKIkFtb3VudCI6IGVudGVyX3NsZWVwWzldLAoiRGVzY3JpcHRpb24iOiAiRG8geW91IGZlZWwgeW91IG5lZWQgbWFueSBjYWZmZWluYXRlZCBkcmlua3MiKwoiIHRocm91Z2hvdXQgdGhlIGRheSB0byByZW1haW4gc3RpbXVsYXRlZD8iLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fc2xlZXBbOV0sCiJSZWNvbW1lbmRhdGlvbjIiOiBlbnRlcl9yZWNvbW1fc2xlZXAyWzldLAoibGV2ZWwiOmxldmVsX3NsZWVwCn1dOwp2YXIgU3RyZXNzID0gW3sKIkNhdGVnb3J5IjoiU3RyZXNzIiwKIlRvdGFsIjp0b3RhbF9zdHJlc3MsCiJUeXBlIjogIlExIiwKCiJBbW91bnQiOiBlbnRlcl9zdHJlc3NbMF0sCiJEZXNjcmlwdGlvbiI6ICJIb3cgd291bGQgeW91IHJhdGUgeW91ciBjdXJyZW50IHN0cmVzcyBsZXZlbD8iLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fc3RyZXNzWzBdLAoiUmVjb21tZW5kYXRpb24yIjogZW50ZXJfcmVjb21tX3N0cmVzczJbMF0sCiJsZXZlbCI6bGV2ZWxfc3RyZXNzCn0sIHsKIkNhdGVnb3J5IjoiU3RyZXNzIiwKIlRvdGFsIjp0b3RhbF9zdHJlc3MsCiJUeXBlIjogIlEyIiwKCiJBbW91bnQiOiBlbnRlcl9zdHJlc3NbMV0sCiJEZXNjcmlwdGlvbiI6ICJJbiB0aGUgcGFzdCB5ZWFyLCBob3cgb2Z0ZW4gaGFzIHN0cmVzcyBpbXBhY3RlZCB5b3VyIGhlYWx0aD8iLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fc3RyZXNzWzFdLAoiUmVjb21tZW5kYXRpb24yIjogZW50ZXJfcmVjb21tX3N0cmVzczJbMV0sCiJsZXZlbCI6bGV2ZWxfc3RyZXNzCn0sIHsKIkNhdGVnb3J5IjoiU3RyZXNzIiwKIlRvdGFsIjp0b3RhbF9zdHJlc3MsCiJUeXBlIjogIlEzIiwKCiJBbW91bnQiOiBlbnRlcl9zdHJlc3NbMl0sCiJEZXNjcmlwdGlvbiI6ICJIb3cgZWZmZWN0aXZlIGRvIHlvdSBmZWVsIHlvdSBhcmUgaW4gaGFuZGxpbmciKwoiIHN0cmVzcyBpbiB5b3VyIGxpZmU/IiwKIlJlY29tbWVuZGF0aW9uIjogZW50ZXJfcmVjb21tX3N0cmVzc1syXSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9zdHJlc3MyWzJdLAoibGV2ZWwiOmxldmVsX3N0cmVzcwp9LCB7CiJDYXRlZ29yeSI6IlN0cmVzcyIsCiJUb3RhbCI6dG90YWxfc3RyZXNzLAoiVHlwZSI6ICJRNCIsCgoiQW1vdW50IjogZW50ZXJfc3RyZXNzWzNdLAoiRGVzY3JpcHRpb24iOiAiSW4gZ2VuZXJhbCwgZG8geW91IGhhdmUgZW1vdGlvbmFsIHN1cHBvcnQgZnJvbSIrCiIgb3RoZXJzIHRvIGhlbHAgeW91IG1hbmFnZSBzdHJlc3M/IiwKIlJlY29tbWVuZGF0aW9uIjogZW50ZXJfcmVjb21tX3N0cmVzc1szXSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9zdHJlc3MyWzNdLAoibGV2ZWwiOmxldmVsX3N0cmVzcwp9LCB7CiJDYXRlZ29yeSI6IlN0cmVzcyIsCiJUb3RhbCI6dG90YWxfc3RyZXNzLAoiVHlwZSI6ICJRNSIsCgoiQW1vdW50IjogZW50ZXJfc3RyZXNzWzRdLAoiRGVzY3JpcHRpb24iOiAiSG93IGVhc3kgd291bGQgaXQgYmUgZm9yIHlvdSB0byByZW1vdmUgdGhlIisKIiBzb3VyY2Uocykgb2YgeW91ciBzdHJlc3M/IiwKIlJlY29tbWVuZGF0aW9uIjogZW50ZXJfcmVjb21tX3N0cmVzc1s0XSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9zdHJlc3MyWzRdLAoibGV2ZWwiOmxldmVsX3N0cmVzcwp9XTsKCgoKCnZhciBOdXRyaXRpb24gPSBbewoiQ2F0ZWdvcnkiOiJOdXRyaXRpb24iLAoiVG90YWwiOnRvdGFsX251dHJpLAoiVHlwZSI6ICJRMSIsCgoiQW1vdW50IjogZW50ZXJfbnV0cmlbMF0sCiJEZXNjcmlwdGlvbiI6ICJIb3cgb2Z0ZW4gZG8geW91IGNvb2sgb3IgcHJlcGFyZSB5b3VyIG1lYWxzPyIsCiJSZWNvbW1lbmRhdGlvbiI6IGVudGVyX3JlY29tbV9udXRyaVswXSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9udXRyaTJbMF0sCiJsZXZlbCI6bGV2ZWxfbnV0cmkKfSwgewoiQ2F0ZWdvcnkiOiJOdXRyaXRpb24iLAoiVG90YWwiOnRvdGFsX251dHJpLAoiVHlwZSI6ICJRMiIsCgoiQW1vdW50IjogZW50ZXJfbnV0cmlbMV0sCiJEZXNjcmlwdGlvbiI6ICJEbyB5b3UgZWF0IGV2ZW4gd2hlbiB5b3UgZG8gbm90IGZlZWwgaHVuZ3J5PyIsCiJSZWNvbW1lbmRhdGlvbiI6IGVudGVyX3JlY29tbV9udXRyaVsxXSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9udXRyaTJbMV0sCiJsZXZlbCI6bGV2ZWxfbnV0cmkKfSwgewoiQ2F0ZWdvcnkiOiJOdXRyaXRpb24iLAoiVG90YWwiOnRvdGFsX251dHJpLAoiVHlwZSI6ICJRMyIsCgoiQW1vdW50IjogZW50ZXJfbnV0cmlbMl0sCiJEZXNjcmlwdGlvbiI6ICJIb3cgb2Z0ZW4gZG8geW91IGVhdCBvdXRzaWRlIHlvdXIgaG9tZT8iLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fbnV0cmlbMl0sCiJSZWNvbW1lbmRhdGlvbjIiOiBlbnRlcl9yZWNvbW1fbnV0cmkyWzJdLAoibGV2ZWwiOmxldmVsX251dHJpCn0sIHsKIkNhdGVnb3J5IjoiTnV0cml0aW9uIiwKIlRvdGFsIjp0b3RhbF9udXRyaSwKIlR5cGUiOiAiUTQiLAoKIkFtb3VudCI6IGVudGVyX251dHJpWzNdLAoiRGVzY3JpcHRpb24iOiAiSG93IG1hbnkgdGltZXMgYSB3ZWVrIGRvIHlvdSBlYXQgYnJlYWtmYXN0PyIsCiJSZWNvbW1lbmRhdGlvbiI6IGVudGVyX3JlY29tbV9udXRyaVszXSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9udXRyaTJbM10sCiJsZXZlbCI6bGV2ZWxfbnV0cmkKfSwgewoiQ2F0ZWdvcnkiOiJOdXRyaXRpb24iLAoiVG90YWwiOnRvdGFsX251dHJpLAoiVHlwZSI6ICJRNSIsCgoiQW1vdW50IjogZW50ZXJfbnV0cmlbNF0sCiJEZXNjcmlwdGlvbiI6ICJPbiBhdmVyYWdlLCBob3cgbWFueSBzZXJ2aW5ncyBvZiB2ZWdldGFibGVzIisKIiB3b3VsZCB5b3Ugc2F5IHlvdSBlYXQgZXZlcnkgZGF5PyIsCiJSZWNvbW1lbmRhdGlvbiI6IGVudGVyX3JlY29tbV9udXRyaVs0XSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9udXRyaTJbNF0sCiJsZXZlbCI6bGV2ZWxfbnV0cmkKfSwgewoiQ2F0ZWdvcnkiOiJOdXRyaXRpb24iLAoiVG90YWwiOnRvdGFsX251dHJpLAoiVHlwZSI6ICJRNiIsCgoiQW1vdW50IjogZW50ZXJfbnV0cmlbNV0sCiJEZXNjcmlwdGlvbiI6ICJPbiBhdmVyYWdlLCBob3cgbWFueSBzZXJ2aW5ncyBvZiBmcnVpdCBkbyB5b3UgZWF0IGVhY2ggZGF5PyIsCiJSZWNvbW1lbmRhdGlvbiI6IGVudGVyX3JlY29tbV9udXRyaVs1XSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9udXRyaTJbNV0sCiJsZXZlbCI6bGV2ZWxfbnV0cmkKfSwgewoiQ2F0ZWdvcnkiOiJOdXRyaXRpb24iLAoiVG90YWwiOnRvdGFsX251dHJpLAoiVHlwZSI6ICJRNyIsCgoiQW1vdW50IjogZW50ZXJfbnV0cmlbNl0sCiJEZXNjcmlwdGlvbiI6ICJPbiBhdmVyYWdlLCBob3cgbWFueSBzZXJ2aW5ncyBvZiBoaWdoIGZpYmVyICIrCiIgZm9vZHMgZG8geW91IGVhdCBldmVyeSBkYXk/IChCZWFucywgd2hvbGUgZ3JhaW5zIisKIiwgY2VyZWFscywgZnJ1aXRzIGFuZCB2ZWdldGFibGVzKSIsCiJSZWNvbW1lbmRhdGlvbiI6IGVudGVyX3JlY29tbV9udXRyaVs2XSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9udXRyaTJbNl0sCiJsZXZlbCI6bGV2ZWxfbnV0cmkKfSwgewoiQ2F0ZWdvcnkiOiJOdXRyaXRpb24iLAoiVG90YWwiOnRvdGFsX251dHJpLAoiVHlwZSI6ICJROCIsCgoiQW1vdW50IjogZW50ZXJfbnV0cmlbN10sCiJEZXNjcmlwdGlvbiI6ICJPbiBhdmVyYWdlLCBob3cgbWFueSBzZXJ2aW5ncyBvZiBoaWdoIGNhbGNpdW0gZGFpcnkiKwoiIGZvb2RzIGRvIHlvdSBlYXQgZXZlcnkgZGF5IChtaWxrLCBjaGVlc2UsIHlvZ3VydCk/IiwKIlJlY29tbWVuZGF0aW9uIjogZW50ZXJfcmVjb21tX251dHJpWzddLAoiUmVjb21tZW5kYXRpb24yIjogZW50ZXJfcmVjb21tX251dHJpMls3XSwKImxldmVsIjpsZXZlbF9udXRyaQp9LCB7CiJDYXRlZ29yeSI6Ik51dHJpdGlvbiIsCiJUb3RhbCI6dG90YWxfbnV0cmksCiJUeXBlIjogIlE5IiwKCiJBbW91bnQiOiBlbnRlcl9udXRyaVs4XSwKIkRlc2NyaXB0aW9uIjogIk9uIGF2ZXJhZ2UsIGhvdyBtYW55IHNlcnZpbmdzIG9mIGhpZ2ggY2FsY2l1bSBub24tZGFpcnkiICsKIiBmb29kcyBkbyB5b3UgZWF0IGV2ZXJ5IGRheSAoZGFyayBsZWFmeSBncmVlbnMpPyIsCiJSZWNvbW1lbmRhdGlvbiI6IGVudGVyX3JlY29tbV9udXRyaVs4XSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9udXRyaTJbOF0sCiJsZXZlbCI6bGV2ZWxfbnV0cmkKfSwgewoiQ2F0ZWdvcnkiOiJOdXRyaXRpb24iLAoiVG90YWwiOnRvdGFsX251dHJpLAoiVHlwZSI6ICJRMTAiLAoKIkFtb3VudCI6IGVudGVyX251dHJpWzldLAoiRGVzY3JpcHRpb24iOiAiV291bGQgeW91IHNheSBwZW9wbGUgaW4geW91ciBzb2NpYWwgbmV0d29yayIrCiIgZm9sbG93IGhlYWx0aHkgbGlmZXN0eWxlIGhhYml0cywgc3VjaCBhcyAiCisiIGV4ZXJjaXNpbmcgcmVndWxhcmx5IGFuZCBlYXRpbmcgaGVhbHRoeSBmb29kcz8gIiwKIlJlY29tbWVuZGF0aW9uIjogZW50ZXJfcmVjb21tX251dHJpWzldLAoiUmVjb21tZW5kYXRpb24yIjogZW50ZXJfcmVjb21tX251dHJpMls5XSwKImxldmVsIjpsZXZlbF9udXRyaQp9LCB7CiJDYXRlZ29yeSI6Ik51dHJpdGlvbiIsCiJUb3RhbCI6dG90YWxfbnV0cmksCiJUeXBlIjogIlExMSIsCgoiQW1vdW50IjogZW50ZXJfbnV0cmlbMTBdLAoiRGVzY3JpcHRpb24iOiAiRG9lcyB5b3VyIHNwb3VzZSBvciBzaWduaWZpY2FudCBvdGhlciAiCisiIGhhdmUgaGVhbHRoeSBsaWZlc3R5bGUgaGFiaXRzLCBzdWNoIGFzIGV4ZXJjaXNpbmciCisiIHJlZ3VsYXJseSBhbmQgd2F0Y2hpbmcgd2hhdCB0aGV5IGVhdD8iLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fbnV0cmlbMTBdLAoiUmVjb21tZW5kYXRpb24yIjogZW50ZXJfcmVjb21tX251dHJpMlsxMF0sCiJsZXZlbCI6bGV2ZWxfbnV0cmkKfSwgewoiQ2F0ZWdvcnkiOiJOdXRyaXRpb24iLAoiVG90YWwiOnRvdGFsX251dHJpLAoiVHlwZSI6ICJRMTIiLAoKIkFtb3VudCI6IGVudGVyX251dHJpWzExXSwKIkRlc2NyaXB0aW9uIjogIkF0IHlvdXIgcGxhY2Ugb2Ygd29yaywgZG8geW91IGNvbnN1bWUgdHJlYXRzIChzdWNoIGFzIGNvb2tpZXMiCisiICwgZG9udXRzLCBzbmFja3MsIGV0Yy4pIHRoYXQgbWF5IGJlIGF2YWlsYWJsZSIKKyIgdG8geW91IG9yIGJyb3VnaHQgaW4gYnkgYSBjb3dvcmtlcj8iLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fbnV0cmlbMTFdLAoiUmVjb21tZW5kYXRpb24yIjogZW50ZXJfcmVjb21tX251dHJpMlsxMV0sCiJsZXZlbCI6bGV2ZWxfbnV0cmkKfSwgewoiQ2F0ZWdvcnkiOiJOdXRyaXRpb24iLAoiVG90YWwiOnRvdGFsX251dHJpLAoiVHlwZSI6ICJRMTMiLAoKIkFtb3VudCI6IGVudGVyX251dHJpWzEyXSwKIkRlc2NyaXB0aW9uIjogIkhvdyBvZnRlbiBkbyB5b3Ugc21va2UgY2lnYXJldHRlcyBvciBvdGhlciB0b2JhY2NvIHByb2R1Y3RzPyAiLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fbnV0cmlbMTJdLAoiUmVjb21tZW5kYXRpb24yIjogZW50ZXJfcmVjb21tX251dHJpMlsxMl0sCiJsZXZlbCI6bGV2ZWxfbnV0cmkKfSwgewoiQ2F0ZWdvcnkiOiJOdXRyaXRpb24iLAoiVG90YWwiOnRvdGFsX251dHJpLAoiVHlwZSI6ICJRMTQiLAoKIkFtb3VudCI6IGVudGVyX251dHJpWzEzXSwKIkRlc2NyaXB0aW9uIjogIk9uIGF2ZXJhZ2UsIGhvdyBtYW55IHNlcnZpbmdzIG9mIGZyaWVkIisKIiBvciBmYXN0IGZvb2RzIGRvIHlvdSBlYXQgZXZlcnkgZGF5PyAiLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fbnV0cmlbMTNdLAoiUmVjb21tZW5kYXRpb24yIjogZW50ZXJfcmVjb21tX251dHJpMlsxM10sCiJsZXZlbCI6bGV2ZWxfbnV0cmkKfSwgewoiQ2F0ZWdvcnkiOiJOdXRyaXRpb24iLAoiVG90YWwiOnRvdGFsX251dHJpLAoiVHlwZSI6ICJRMTUiLAoKIkFtb3VudCI6IGVudGVyX251dHJpWzE0XSwKIkRlc2NyaXB0aW9uIjogIkhvdyBvZnRlbiBkbyB5b3UgcmVhZCBudXRyaXRpb24gbGFiZWxzIG9uIGZvb2QgcGFja2FnZXM/ICIsCiJSZWNvbW1lbmRhdGlvbiI6IGVudGVyX3JlY29tbV9udXRyaVsxNF0sCiJSZWNvbW1lbmRhdGlvbjIiOiBlbnRlcl9yZWNvbW1fbnV0cmkyWzE0XSwKImxldmVsIjpsZXZlbF9udXRyaQp9LCB7CiJDYXRlZ29yeSI6Ik51dHJpdGlvbiIsCiJUb3RhbCI6dG90YWxfbnV0cmksCiJUeXBlIjogIlExNiIsCgoiQW1vdW50IjogZW50ZXJfbnV0cmlbMTVdLAoiRGVzY3JpcHRpb24iOiAiSG93IG9mdGVuIGRvIHlvdSBzZWxlY3Qgb3JnYW5pYywgZnJlZS1yYW5nZSIrCiIsIHdpbGQtY2F1Z2h0LCBsb2NhbCBvciBzZWFzb25hbCBmb29kcz8gIiwKIlJlY29tbWVuZGF0aW9uIjogZW50ZXJfcmVjb21tX251dHJpWzE1XSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9udXRyaTJbMTVdLAoibGV2ZWwiOmxldmVsX251dHJpCn1dOwoKdmFyIFdhdGVyID0gW3sKIkNhdGVnb3J5IjoiV2F0ZXIiLAoiVG90YWwiOnRvdGFsX3dhdGVyLAoiVHlwZSI6ICJRMSIsCgoiQW1vdW50IjogZW50ZXJfd2F0ZXJbMF0sCiJEZXNjcmlwdGlvbiI6ICJIb3cgbWFueSBjdXBzIG9mIHdhdGVyIGRvIHlvdSBkcmluayBkYWlseT8iLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fd2F0ZXJbMF0sCiJSZWNvbW1lbmRhdGlvbjIiOiBlbnRlcl9yZWNvbW1fd2F0ZXIyWzBdLAoibGV2ZWwiOmxldmVsX251dHJpCn1dOwoKCgp2YXIgQWxjb2hvbCA9IFt7CiJDYXRlZ29yeSI6IkFsY29ob2wiLAoiVG90YWwiOnRvdGFsX2FsY29ob2wsCiJUeXBlIjogIlExIiwKCiJBbW91bnQiOiBlbnRlcl9hbGNvaG9sWzBdLAoiRGVzY3JpcHRpb24iOiAiT24gYXZlcmFnZSwgaG93IG1hbnkgZGF5cyBlYWNoIHdlZWsgZG8geW91IGRyaW5rIGFsY29ob2w/IiwKIlJlY29tbWVuZGF0aW9uIjogZW50ZXJfcmVjb21tX2FsY29ob2xbMF0sCiJSZWNvbW1lbmRhdGlvbjIiOiBlbnRlcl9yZWNvbW1fYWxjb2hvbDJbMF0sCiJsZXZlbCI6bGV2ZWxfYWxjb2hvbAp9LCB7CiJDYXRlZ29yeSI6IkFsY29ob2wiLAoiVG90YWwiOnRvdGFsX2FsY29ob2wsCiJUeXBlIjogIlEyIiwKCiJBbW91bnQiOiBlbnRlcl9hbGNvaG9sWzFdLAoiRGVzY3JpcHRpb24iOiAiT24gYXZlcmFnZSwgaG93IG1hbnkgYWxjb2hvbGljICIrCiIgYmV2ZXJhZ2VzIGRvIHlvdSBoYXZlIGluIG9uZSBzaXR0aW5nPyIsCiJSZWNvbW1lbmRhdGlvbiI6IGVudGVyX3JlY29tbV9hbGNvaG9sWzFdLAoiUmVjb21tZW5kYXRpb24yIjogZW50ZXJfcmVjb21tX2FsY29ob2wyWzFdLAoibGV2ZWwiOmxldmVsX2FsY29ob2wKfSwgewoiQ2F0ZWdvcnkiOiJBbGNvaG9sIiwKIlRvdGFsIjp0b3RhbF9hbGNvaG9sLAoiVHlwZSI6ICJRMyIsCgoiQW1vdW50IjogZW50ZXJfYWxjb2hvbFsyXSwKIkRlc2NyaXB0aW9uIjogIk9uIGF2ZXJhZ2UsIGhvdyBtYW55IGFsY29ob2xpYyAiCisiIGJldmVyYWdlcyBkbyB5b3UgaGF2ZSBpbiBvbmUgd2Vlaz8iLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fYWxjb2hvbFsyXSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9hbGNvaG9sMlsyXSwKImxldmVsIjpsZXZlbF9hbGNvaG9sCn1dOwoKCgp2YXIgRW1vdGlvbnMgPSBbewoiQ2F0ZWdvcnkiOiJFbW90aW9ucyIsCiJUb3RhbCI6dG90YWxfZW1vdGlvbnMsCiJUeXBlIjogIlExIiwKCiJBbW91bnQiOiBlbnRlcl9lbW90aW9uc1swXSwKIkRlc2NyaXB0aW9uIjogIkVtb3Rpb25zOiBBbnhpZXR5L2ZlYXIiLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fZW1vdGlvbnNbMF0sCiJSZWNvbW1lbmRhdGlvbjIiOiBlbnRlcl9yZWNvbW1fZW1vdGlvbnMyWzBdLAoibGV2ZWwiOmxldmVsX2Vtb3Rpb25zCn0sIHsKIkNhdGVnb3J5IjoiRW1vdGlvbnMiLAoiVG90YWwiOnRvdGFsX2Vtb3Rpb25zLAoiVHlwZSI6ICJRMiIsCgoiQW1vdW50IjogZW50ZXJfZW1vdGlvbnNbMV0sCiJEZXNjcmlwdGlvbiI6ICJFbW90aW9uczogRGVwcmVzc2lvbiIsCiJSZWNvbW1lbmRhdGlvbiI6IGVudGVyX3JlY29tbV9lbW90aW9uc1sxXSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9lbW90aW9uczJbMV0sCiJsZXZlbCI6bGV2ZWxfZW1vdGlvbnMKfSwgewoiQ2F0ZWdvcnkiOiJFbW90aW9ucyIsCiJUb3RhbCI6dG90YWxfZW1vdGlvbnMsCiJUeXBlIjogIlEzIiwKCiJBbW91bnQiOiBlbnRlcl9lbW90aW9uc1syXSwKIkRlc2NyaXB0aW9uIjogIkhhcHBpbmVzcy9TYXRpc2ZhY3Rpb24iLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1fZW1vdGlvbnNbMl0sCiJSZWNvbW1lbmRhdGlvbjIiOiBlbnRlcl9yZWNvbW1fZW1vdGlvbnMyWzJdLAoibGV2ZWwiOmxldmVsX2Vtb3Rpb25zCn1dOwoKCgp2YXIgSGlzdG9yeSA9IFt7CiJDYXRlZ29yeSI6Ikhpc3RvcnkiLAoiVG90YWwiOnRvdGFsX2hpc3RvcnksCiJUeXBlIjogIlExIiwKCiJBbW91bnQiOiBlbnRlcl9oaXN0b3J5WzBdLAoiRGVzY3JpcHRpb24iOiAiQk1JIiwKIlJlY29tbWVuZGF0aW9uIjogZW50ZXJfcmVjb21tX2hpc3RvcnlbMF0sCiJSZWNvbW1lbmRhdGlvbjIiOiBlbnRlcl9yZWNvbW1faGlzdG9yeTJbMF0sCiJsZXZlbCI6bGV2ZWxfaGlzdG9yeQp9LCB7CiJDYXRlZ29yeSI6Ikhpc3RvcnkiLAoiVG90YWwiOnRvdGFsX2hpc3RvcnksCiJUeXBlIjogIlEyIiwKCiJBbW91bnQiOiBlbnRlcl9oaXN0b3J5WzFdLAoiRGVzY3JpcHRpb24iOiAiQ2FyZGlvdmFzY3VsYXIgIiwKIlJlY29tbWVuZGF0aW9uIjogZW50ZXJfcmVjb21tX2hpc3RvcnlbMV0sCiJSZWNvbW1lbmRhdGlvbjIiOiBlbnRlcl9yZWNvbW1faGlzdG9yeTJbMV0sCiJsZXZlbCI6bGV2ZWxfaGlzdG9yeQp9LCB7CiJDYXRlZ29yeSI6Ikhpc3RvcnkiLAoiVG90YWwiOnRvdGFsX2hpc3RvcnksCiJUeXBlIjogIlEzIiwKCiJBbW91bnQiOiBlbnRlcl9oaXN0b3J5WzJdLAoiRGVzY3JpcHRpb24iOiAiTWV0YWJvbGljIiwKIlJlY29tbWVuZGF0aW9uIjogZW50ZXJfcmVjb21tX2hpc3RvcnlbMl0sCiJSZWNvbW1lbmRhdGlvbjIiOiBlbnRlcl9yZWNvbW1faGlzdG9yeTJbMl0sCiJsZXZlbCI6bGV2ZWxfaGlzdG9yeQp9LCB7CiJDYXRlZ29yeSI6Ikhpc3RvcnkiLAoiVG90YWwiOnRvdGFsX2hpc3RvcnksCiJUeXBlIjogIlE0IiwKCiJBbW91bnQiOiBlbnRlcl9oaXN0b3J5WzNdLAoiRGVzY3JpcHRpb24iOiAiUmVzcGlyYXRvcnkiLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1faGlzdG9yeVszXSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9oaXN0b3J5MlszXSwKImxldmVsIjpsZXZlbF9oaXN0b3J5Cn0sewoiQ2F0ZWdvcnkiOiJIaXN0b3J5IiwKIlRvdGFsIjp0b3RhbF9oaXN0b3J5LAoiVHlwZSI6ICJRNSIsCgoiQW1vdW50IjogZW50ZXJfaGlzdG9yeVs0XSwKIkRlc2NyaXB0aW9uIjogIkRvIHlvdSBzdWZmZXIgZnJvbSBtZWRpY2FsIGNvbmRpdGlvbnMiCisiIHRoYXQgbWF5IGluaGliaXQgeW91ciBhYmlsaXR5IHRvIGV4ZXJjaXNlPyAiLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1faGlzdG9yeVs0XSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9oaXN0b3J5Mls0XSwKImxldmVsIjpsZXZlbF9oaXN0b3J5Cn0sIHsKIkNhdGVnb3J5IjoiSGlzdG9yeSIsCiJUb3RhbCI6dG90YWxfaGlzdG9yeSwKIlR5cGUiOiAiUTYiLAoKIkFtb3VudCI6IGVudGVyX2hpc3RvcnlbNV0sCiJEZXNjcmlwdGlvbiI6ICJIYXZlIHlvdSBldmVyIGJlZW4gZGlhZ25vc2VkIHdpdGgiCisiIHRoZSBmb2xsb3dpbmcgbWVkaWNhbCBjb25kaXRpb25zPyIsCiJSZWNvbW1lbmRhdGlvbiI6IGVudGVyX3JlY29tbV9oaXN0b3J5WzVdLAoiUmVjb21tZW5kYXRpb24yIjogZW50ZXJfcmVjb21tX2hpc3RvcnkyWzVdLAoibGV2ZWwiOmxldmVsX2hpc3RvcnkKfSwgewoiQ2F0ZWdvcnkiOiJIaXN0b3J5IiwKIlRvdGFsIjp0b3RhbF9oaXN0b3J5LAoiVHlwZSI6ICJRNyIsCgoiQW1vdW50IjogZW50ZXJfaGlzdG9yeVs2XSwKIkRlc2NyaXB0aW9uIjogIkRvIHlvdSByZWNlaXZlIGFubnVhbCBjaGVja3VwcyBmcm9tIHlvdXIgcGh5c2ljaWFuPyAiLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1faGlzdG9yeVs2XSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9oaXN0b3J5Mls2XSwKImxldmVsIjpsZXZlbF9oaXN0b3J5Cn0sIHsKIkNhdGVnb3J5IjoiSGlzdG9yeSIsCiJUb3RhbCI6dG90YWxfaGlzdG9yeSwKIlR5cGUiOiAiUTgiLAoKIkFtb3VudCI6IGVudGVyX2hpc3RvcnlbN10sCiJEZXNjcmlwdGlvbiI6ICJEbyB5b3UgZXZlciBleHBlcmllbmNlIGEgbG9zcyBvZiBiYWxhbmNlIG9yIGRpenppbmVzcz8iLAoiUmVjb21tZW5kYXRpb24iOiBlbnRlcl9yZWNvbW1faGlzdG9yeVs3XSwKIlJlY29tbWVuZGF0aW9uMiI6IGVudGVyX3JlY29tbV9oaXN0b3J5Mls3XSwKImxldmVsIjpsZXZlbF9oaXN0b3J5Cn1dOwoKCgpkYXRhID0gW3sKImtleTIiOiAiT3ZlcmFsbCIsCiJ2YWx1ZXMiOiBvdmVyYWxsCn0sewoia2V5MiI6ICJQaHlzaWNhbCBBY3Rpdml0eSIsCiJ2YWx1ZXMiOiBQaHlzaWNhbEFjdGl2aXR5Cn0sewoia2V5MiI6ICJTbGVlcCIsCiJ2YWx1ZXMiOiBTbGVlcAp9LCB7CiJrZXkyIjogIlN0cmVzcyIsCiJ2YWx1ZXMiOiBTdHJlc3MKfSx7CiJrZXkyIjogIk51dHJpdGlvbiIsCiJ2YWx1ZXMiOiBOdXRyaXRpb24KfSx7CiJrZXkyIjogIldhdGVyIiwKInZhbHVlcyI6IFdhdGVyCn0sewoia2V5MiI6ICJBbGNvaG9sIiwKInZhbHVlcyI6IEFsY29ob2wKfSx7CiJrZXkyIjogIkVtb3Rpb25zIiwKInZhbHVlcyI6IEVtb3Rpb25zCn0sewoia2V5MiI6ICJIaXN0b3J5IiwKInZhbHVlcyI6IEhpc3RvcnkKfV0KCgoKZGF0YTIgPSBbewoia2V5MiI6ICJPdmVyYWxsIiwKInZhbHVlcyI6bGV2ZWxfb3Zlcgp9LHsKImtleTIiOiAiUGh5c2ljYWwgQWN0aXZpdHkiLAoidmFsdWVzIjogbGV2ZWxfcGh5c2ljYWxhY3Rpdml0eQp9LHsKImtleTIiOiAiU2xlZXAiLAoidmFsdWVzIjogbGV2ZWxfc2xlZXAKfSwgewoia2V5MiI6ICJTdHJlc3MiLAoidmFsdWVzIjogbGV2ZWxfc3RyZXNzCn0sewoia2V5MiI6ICJOdXRyaXRpb24iLAoidmFsdWVzIjogbGV2ZWxfbnV0cmkKfSx7CiJrZXkyIjogIldhdGVyIiwKInZhbHVlcyI6IGxldmVsX3dhdGVyCn0sewoia2V5MiI6ICJBbGNvaG9sIiwKInZhbHVlcyI6IGxldmVsX2FsY29ob2wKfSx7CiJrZXkyIjogIkVtb3Rpb25zIiwKInZhbHVlcyI6IGxldmVsX2Vtb3Rpb25zCn0sewoia2V5MiI6ICJIaXN0b3J5IiwKInZhbHVlcyI6IGxldmVsX2hpc3RvcnkKfV0KCgoKdmFyIHdpZHRoID0gMTAwMAoKdmFyIGhlaWdodCA9IHdpZHRoKzEwMDsKdmFyIHJhZGl1cyA9IChNYXRoLm1pbih3aWR0aCwgaGVpZ2h0KSAtIDEzMCkgLyAyOwoKCgp2YXIgdHlwZSA9IGZ1bmN0aW9uIGdldE9iamVjdChvYmopIHsKdHlwZXMgPSBbXTsKZm9yICh2YXIgaSA9IDA7IGkgPCBvYmoubGVuZ3RoOyBpKyspIHsKdHlwZXMucHVzaChvYmpbaV0uVHlwZSk7Cn0KcmV0dXJuIHR5cGVzCn07Cgp2YXIgZ3JvdXAyPVsiZ29vZCIsIm5vcm1hbCIsImJhZCJdCnZhciBncm91cD1bMCwxLDJdCnZhciBwaWUgPSBkMy5sYXlvdXQucGllKCkKLnZhbHVlKGZ1bmN0aW9uKGQpIHsKcmV0dXJuIGQuVG90YWwrMTsKfSkKLnNvcnQobnVsbCk7Cgp2YXIgYXJjID0gZDMuc3ZnLmFyYygpCi5vdXRlclJhZGl1cyhyYWRpdXMpCi5pbm5lclJhZGl1cyg0MDApOwoKdmFyIGFyY092ZXIgPSBkMy5zdmcuYXJjKCkKLm91dGVyUmFkaXVzKHJhZGl1cyArIDEwKQouaW5uZXJSYWRpdXMoNDAwKTsKCnZhciBzdmcgPSBkMy5zZWxlY3QoIiNwaWVDaGFydCIpLmFwcGVuZCgic3ZnIikKLmF0dHIoIndpZHRoIiwgMTEwMCkKLmF0dHIoImhlaWdodCIsIDQwMCkKLmF0dHIoJ3ZpZXdCb3gnLCAnMCAwICcgKyBNYXRoLm1pbih3aWR0aCwgaGVpZ2h0KzIwMCkgKyAnICcgKwpNYXRoLm1heCh3aWR0aCs1MCwgaGVpZ2h0LTEwMCkpCi5hdHRyKCdwcmVzZXJ2ZUFzcGVjdFJhdGlvJywgJ3hNaW5ZTWluJykKLmFwcGVuZCgiZyIpCi5hdHRyKCJ0cmFuc2Zvcm0iLCAidHJhbnNsYXRlKCIgKyAocmFkaXVzKzQ4MCkgKyAiLCIgKyAgKGhlaWdodC01MCkgLyAyICsgIikiKTsKCnZhciBzdmcyID0gZDMuc2VsZWN0KCIjcGFzdHNjb3JlIikuYXBwZW5kKCJzdmciKQouYXR0cigid2lkdGgiLCAzMDApCi5hdHRyKCJoZWlnaHQiLCAyMDApCi5hcHBlbmQoImciKQouYXR0cigidHJhbnNmb3JtIiwgInRyYW5zbGF0ZSgwLC0yMDApIik7CnZhciBjb2xvcnMgPSBkMy5zY2FsZS5vcmRpbmFsKCkuZG9tYWluKGdyb3VwKQoucmFuZ2UoWyIjRkY2QTAwIiwiI0ZGQkE2NiIsICIjOEZCRjczIl0pOwoKCi8vIGNvbnNvbGUubG9nKHJhZGl1cykKdmFyIHBhdGggPSBzdmcuc2VsZWN0QWxsKCJwYXRoIik7Cgp2YXIgbGFiZWwgPSBkMy5zZWxlY3RBbGwoKCJpbnB1dFtuYW1lPSdkYXRhc2V0J10iKSkKLmRhdGEoZGF0YSkKLm9uKCJjaGFuZ2UiLCBjaGFuZ2VEYXRhKQouZmlsdGVyKGZ1bmN0aW9uKGQsIGkpIHsKY29uc29sZS5sb2coIWkpCnJldHVybiAhaTsKfSkKLmVhY2goY2hhbmdlRGF0YSkKCmNoYW5nZVRleHQgPSBmdW5jdGlvbih0ZXh0LCB0ZXh0SUQpIHsKZDMuc2VsZWN0KHRleHRJRCkKLnRleHQodGV4dCkKfTsKCmNoYW5nZSA9IGZ1bmN0aW9uKGQsIGkpIHsKdmFyIGFuZ2xlID0gOTAgLSAoKGQuc3RhcnRBbmdsZSAqICgxODAgLyBNYXRoLlBJKSkgKyAoKGQuZW5kQW5nbGUgLQpkLnN0YXJ0QW5nbGUpICogKDE4MCAvIE1hdGguUEkpIC8gMikpCmQzLnNlbGVjdEFsbCgicGF0aCIpCi50cmFuc2l0aW9uKCkKLmF0dHIoImQiLCBhcmMpCmQzLnNlbGVjdChpKQoudHJhbnNpdGlvbigpCi5kdXJhdGlvbigxMDAwKQouYXR0cigiZCIsIGFyYykKfTsKCgoKZnVuY3Rpb24gY2hhbmdlRGF0YSgpIHsKCnZhciBzZWxlY3RlZERhdGEgPSBkYXRhW3RoaXMudmFsdWVdCnZhciBzZWxlY3RlZERhdGEyID0gZGF0YTJbdGhpcy52YWx1ZV0Kc3ZnLnNlbGVjdEFsbCgidGV4dCIpLnJlbW92ZSgpOwpkMy5zZWxlY3QoIiNzZWdtZW50VGV4dDIiKS5zZWxlY3RBbGwoJ3RleHQnKS5yZW1vdmUoKTsKc3ZnLnNlbGVjdEFsbCgibGVnZW5kIikucmVtb3ZlKCk7Cgpzdmcuc2VsZWN0QWxsKCJyZWN0IikucmVtb3ZlKCk7CgoKCgp2YXIgY29sb3JzMiA9IGQzLnNjYWxlLm9yZGluYWwoKS5kb21haW4oZ3JvdXAyKQoucmFuZ2UoWyIjOEZCRjczIiwiI0ZGQkE2NiIsICIjRkY2QTAwIl0pOwoKdmFyIGRhdGExID0gcGllKHNlbGVjdGVkRGF0YS52YWx1ZXMpOwoKCnBhdHAgPSBwYXRoLmRhdGEoZGF0YTEpCgoKCgpwYXRwLmVudGVyKCkuYXBwZW5kKCJwYXRoIikKLmVhY2goZnVuY3Rpb24oZCkgewp0aGlzLl9jdXJyZW50ID0gewpzdGFydEFuZ2xlOiBkLmVuZEFuZ2xlLAplbmRBbmdsZTogZC5lbmRBbmdsZQp9Owp9KQouYXR0cigiZmlsbCIsIGZ1bmN0aW9uKGQsaSkgewpyZXR1cm4gY29sb3JzKAooZC5kYXRhLkFtb3VudCA+PSAwICAmJiBkLmRhdGEuQW1vdW50IDw9IDMzKSA/IDAgOiAoKGQuZGF0YS5BbW91bnQgPjMzCiAmJiBkLmRhdGEuQW1vdW50IDw9IDY2KSA/IDEgOiAyKQopOwp9KS5zdHlsZSgnc3Ryb2tlJywgJ3doaXRlJykKLnN0eWxlKCdzdHJva2Utd2lkdGgnLCAxMCkKCgoKCnBhdHAub24oIm1vdXNlb3ZlciIsIGZ1bmN0aW9uKGQpIHsKICBkMy5zZWxlY3QoIiNzZWdtZW50VGV4dDIiKS5zZWxlY3RBbGwoJ3RleHQnKS5yZW1vdmUoKTsKdmFyIHRpdGxlVGV4dCA9IGQuZGF0YS5UeXBlICsiICIrICJzY29yZSIrIjogIiArIGQuZGF0YS5BbW91bnQ7CnZhciBibG9ja1RleHQgPSBkLmRhdGEuVHlwZSArIjogIiArIiAiKyBkLmRhdGEuRGVzY3JpcHRpb247CnZhciBibG9ja1RleHQyID0gZC5kYXRhLlJlY29tbWVuZGF0aW9uKyIgIitkLmRhdGEuUmVjb21tZW5kYXRpb24yOwovLyB2YXIgYmxvY2tUZXh0MyA9ICIgIgoKY2hhbmdlVGV4dCh0aXRsZVRleHQsICIjc2VnbWVudFRpdGxlIik7CmNoYW5nZVRleHQoYmxvY2tUZXh0LCAiI3NlZ21lbnRUZXh0Iik7CmNoYW5nZVRleHQoYmxvY2tUZXh0MiwgIiNzZWdtZW50VGV4dDMiKTsKLy8gY2hhbmdlVGV4dChibG9ja1RleHQzLCAiI3NlZ21lbnRUZXh0NCIpOwpjaGFuZ2UoZCwgdGhpcyk7Cn0pLm9uKCJtb3VzZW91dCIsIGZ1bmN0aW9uKGQpIHsKdmFyIHRpdGxlVGV4dCA9ICIgIjsKdmFyIGJsb2NrVGV4dCA9ICIgIjsKdmFyIGJsb2NrVGV4dDIgPSAiICI7Ci8vIHZhciBibG9ja1RleHQzID0gZC5kYXRhLlJlY29tbWVuZGF0aW9uOwoKY2hhbmdlVGV4dCh0aXRsZVRleHQsICIjc2VnbWVudFRpdGxlIik7CmNoYW5nZVRleHQoYmxvY2tUZXh0LCAiI3NlZ21lbnRUZXh0Iik7CmNoYW5nZVRleHQoYmxvY2tUZXh0MiwgIiNzZWdtZW50VGV4dDMiKTsKLy8gY2hhbmdlVGV4dChibG9ja1RleHQzLCAiI3NlZ21lbnRUZXh0NCIpOwpjaGFuZ2UoZCwgdGhpcyk7CnZhciBsZXZlbD1kLmRhdGEuVG90YWw8PTMzID8gImxvd2VyLXJhbmdlIiA6IChkLmRhdGEuVG90YWw+NjYgPwoiaGlnaGVyLXJhbmdlIiA6ICJtaWQtcmFuZ2UiKTsKCmQzLnNlbGVjdCgiI3NlZ21lbnRUZXh0MiIpLmFwcGVuZCgndGV4dCcpCi50ZXh0KCJZb3VyICIrZC5kYXRhLkNhdGVnb3J5KyIgIisic2NvcmUgaXMgaW4gdGhlICIrCmQuZGF0YS5sZXZlbCsKIiBsZXZlbC4gSG92ZXIgb3ZlciB0byBzZWUgbW9yZSBkZXRhaWxzLiIpLnN0eWxlKCJmb250LXNpemUiLCIxOHB4IikKCn0pCjsKCgpwYXRwLmV4aXQoKS5yZW1vdmUoKTsKcGF0cC50cmFuc2l0aW9uKCkKLmR1cmF0aW9uKDc1MCkKLmF0dHJUd2VlbigiZCIsIGFyY1R3ZWVuKTsKCgoKdmFyIG1hcmdpbiA9IDAsCnJhZGl1cyA9IC0xMDA7Cgp2YXIgdHJhbnNmb3JtQXR0clZhbHVlID0gZnVuY3Rpb24oYWRqdXN0TGVmdCl7CnZhciBsZWZ0VmFsdWUgPSBtYXJnaW4gKyByYWRpdXM7CmlmKGFkanVzdExlZnQpewpsZWZ0VmFsdWUgKz0gYWRqdXN0TGVmdDsKfQpyZXR1cm4gInRyYW5zbGF0ZSgtODAsMTApIjsKfTsKCnZhciB0cmFuc2Zvcm1BdHRyVmFsdWUyID0gZnVuY3Rpb24oYWRqdXN0TGVmdCl7CnZhciBsZWZ0VmFsdWUgPSBtYXJnaW4gKyByYWRpdXM7CmlmKGFkanVzdExlZnQpewpsZWZ0VmFsdWUgKz0gYWRqdXN0TGVmdDsKfQpyZXR1cm4gInRyYW5zbGF0ZSgtMzAsMCkiOwp9OwoKCgp2YXIgYXJjT3ZlciA9IGQzLnN2Zy5hcmMoKQoub3V0ZXJSYWRpdXMoOTQwKQouaW5uZXJSYWRpdXMoODApOwp2YXIgYXJjT3ZlcjEgPSBkMy5zdmcuYXJjKCkKLm91dGVyUmFkaXVzKDYyMCkKLmlubmVyUmFkaXVzKDgwKTsKCgp2YXIgc2xpY2VMYWJlbHMgPSBzdmcuc2VsZWN0QWxsKCJ0ZXh0IikuZGF0YShwaWUoc2VsZWN0ZWREYXRhLnZhbHVlcykpOwoKCi8vIGNvbnNvbGUubG9nKHNlbGVjdGVkRGF0YS52YWx1ZXMpCgpjaGFydExhYmVsc0dyb3VwID0gc3ZnCi5hcHBlbmQoImciKQouYXR0cigiY2xhc3MiLCAibGFiZWxHcm91cCIpCi5hdHRyKCJ0cmFuc2Zvcm0iLCB0cmFuc2Zvcm1BdHRyVmFsdWUoMTAwKSk7CgpjaGFydExhYmVsc0dyb3VwMiA9IHN2ZwouYXBwZW5kKCJnIikuYXR0cigidHJhbnNmb3JtIiwgdHJhbnNmb3JtQXR0clZhbHVlMigxMDApKTsKdmFyIHNsaWNlTGFiZWxzMSA9CmNoYXJ0TGFiZWxzR3JvdXAuc2VsZWN0QWxsKCJ0ZXh0IikuZGF0YShwaWUoc2VsZWN0ZWREYXRhLnZhbHVlcykpOwp2YXIgc2xpY2VMYWJlbHMyID0KY2hhcnRMYWJlbHNHcm91cDIuc2VsZWN0QWxsKCJ0ZXh0IikuZGF0YShwaWUoc2VsZWN0ZWREYXRhLnZhbHVlcykpOwoKc2xpY2VMYWJlbHMxCi5lbnRlcigpCi5hcHBlbmQoInRleHQiKQoudHJhbnNpdGlvbigpLmR1cmF0aW9uKDc1MCkKLnN0eWxlKCJvcGFjaXR5IiwgMSkKLmF0dHIoImNsYXNzIiwgIm91dGVyLWxhYmVsIikKLmF0dHIoJ3RyYW5zZm9ybScsIGZ1bmN0aW9uKGQpewpyZXR1cm4gInRyYW5zbGF0ZSgiICsgYXJjT3Zlci5jZW50cm9pZChkKSArICIpIjsKfSkudGV4dChmdW5jdGlvbihkKSB7IHJldHVybiBkLmRhdGEuVHlwZTsgfSkuYXR0cigiZmlsbCIsIGZ1bmN0aW9uKGQpIHsKcmV0dXJuIGNvbG9ycygoZC5kYXRhLkFtb3VudCA+PSAwICAmJiBkLmRhdGEuQW1vdW50IDw9IDMzKSA/IDAgOgooKGQuZGF0YS5BbW91bnQgPj0gMzQgICYmIGQuZGF0YS5BbW91bnQgPD0gNjYpID8gMSA6IDIpKTsKfSkuc3R5bGUoImZvbnQtc2l6ZSIsIjM1cHgiKQoKCnNsaWNlTGFiZWxzMgouZW50ZXIoKQouYXBwZW5kKCJ0ZXh0IikKLnRyYW5zaXRpb24oKS5kdXJhdGlvbig3NTApCi5zdHlsZSgib3BhY2l0eSIsIDEpCi5hdHRyKCJjbGFzcyIsICJvdXRlci1sYWJlbCIpCi5hdHRyKCd0cmFuc2Zvcm0nLCBmdW5jdGlvbihkKXsKcmV0dXJuICJ0cmFuc2xhdGUoIiArIGFyY092ZXIxLmNlbnRyb2lkKGQpICsgIikiOwp9KS50ZXh0KGZ1bmN0aW9uKGQpIHsgcmV0dXJuIGQuZGF0YS5BbW91bnQ7IH0pLmF0dHIoImZpbGwiLCBmdW5jdGlvbihkKSB7CnJldHVybiBjb2xvcnMoKGQuZGF0YS5BbW91bnQgPj0gMCAgJiYgZC5kYXRhLkFtb3VudCA8PSAzMykgPyAwIDoKKChkLmRhdGEuQW1vdW50ID49IDM0ICAmJiBkLmRhdGEuQW1vdW50IDw9IDY2KSA/IDEgOiAyKSk7Cn0pLnN0eWxlKCJmb250LXNpemUiLCIzNXB4IikKCgoKc2xpY2VMYWJlbHMKLmVudGVyKCkKLmFwcGVuZCgidGV4dCIpCi50cmFuc2l0aW9uKCkuZHVyYXRpb24oNzUwKQouc3R5bGUoIm9wYWNpdHkiLCAxKQouYXR0cigidGV4dC1hbmNob3IiLCAibWlkZGxlIikKLmF0dHIoImNsYXNzIiwgIm91dGVyLWxhYmVsIikKLnRleHQoZnVuY3Rpb24oZCkgeyByZXR1cm4gZC5kYXRhLlRvdGFsOwp9KS5zdHlsZSgiZm9udC1zaXplIiwiMzUwcHgiKS5zdHlsZSgiZm9udC13ZWlnaHQiLCJib2xkIikKLmF0dHIoInRyYW5zZm9ybSIsICJ0cmFuc2xhdGUoMCwxNDApIik7CgoKc2xpY2VMYWJlbHMKLmVudGVyKCkKLmFwcGVuZCgidGV4dCIpCi50cmFuc2l0aW9uKCkuZHVyYXRpb24oNzUwKQouc3R5bGUoIm9wYWNpdHkiLCAxKQouYXR0cigiY2xhc3MiLCAib3V0ZXItbGFiZWwiKQouYXR0cigidGV4dC1hbmNob3IiLCAibWlkZGxlIikuc3R5bGUoImZvbnQtc2l6ZSIsIjQwcHgiKQoudGV4dChmdW5jdGlvbihkKSB7IHJldHVybiAiWW91ciIrIiAiK2QuZGF0YS5DYXRlZ29yeSsiICIrIlNjb3JlIGlzIjsgfSkKLmF0dHIoInRyYW5zZm9ybSIsICJ0cmFuc2xhdGUoMCwtMTQwKSIpOwoKc2xpY2VMYWJlbHMKLmVudGVyKCkKLmFwcGVuZCgidGV4dCIpCi50cmFuc2l0aW9uKCkuZHVyYXRpb24oNzUwKQouc3R5bGUoIm9wYWNpdHkiLCAxKQouYXR0cigiY2xhc3MiLCAib3V0ZXItbGFiZWwiKQouYXR0cigidGV4dC1hbmNob3IiLCAibWlkZGxlIikuc3R5bGUoImZvbnQtc2l6ZSIsIjMwcHgiKQoudGV4dChmdW5jdGlvbihkKSB7IHJldHVybiAib3V0IG9mIDEwMCI7IH0pCi5hdHRyKCJ0cmFuc2Zvcm0iLCAidHJhbnNsYXRlKDAsMjQwKSIpOwoKCmQzLnNlbGVjdCgiI3NlZ21lbnRUZXh0MiIpLmFwcGVuZCgndGV4dCcpCi50ZXh0KCJZb3VyICIrc2VsZWN0ZWREYXRhMi5rZXkyKyIgIgorInNjb3JlIGlzIGluIHRoZSAiK3NlbGVjdGVkRGF0YTIudmFsdWVzKwoiIGxldmVsLiBIb3ZlciBvdmVyIHRvIHNlZSBtb3JlIGRldGFpbHMuIikuc3R5bGUoImZvbnQtc2l6ZSIsIjE4cHgiKQovLwovLyBzdmcuYXBwZW5kKCJ0ZXh0IikKLy8gLmF0dHIoIngiLCAxMTUwKS5hdHRyKCJ5IiwgNDYwKQovLyAudGV4dCgiUGFzdCBzY29yZXMiKS5zdHlsZSgiZm9udC1zaXplIiw1MCkuc3R5bGUoImZvbnQtd2VpZ2h0IiwiYm9sZCIpOwp2YXIgbGVnZW5kcyA9IFtbIlBvb3IiXSxbIk5lZWRzIHdvcmsiXSxbIkV4Y2VsbGVudCJdXTsKLy8KdmFyIGxlZ2VuZCA9IHN2Zy5zZWxlY3RBbGwoIi5sZWdlbmQiKQogICAgLmRhdGEobGVnZW5kcykvL3Bhc3MgdGhlIGxnZW5kIGRhdGEKICAgIGxlZ2VuZC5lbnRlcigpLmFwcGVuZCgiZyIpCiAgICAuYXR0cigiY2xhc3MiLCAibGVnZW5kIikKICAgIC5hdHRyKCJ0cmFuc2Zvcm0iLCBmdW5jdGlvbihkLCBpKSB7CiAgICAgIHJldHVybiAidHJhbnNsYXRlKDAsIiArIGkgKiA0MiArICIpIjsKICAgIH0pOwoKICAgIGxlZ2VuZC5hcHBlbmQoInJlY3QiKQogICAgICAuYXR0cigieCIsIC02MTUpCiAgICAgIC5hdHRyKCJ5IiwtNTAwKQogICAgICAuYXR0cigid2lkdGgiLCAyNikKICAgICAgLmF0dHIoImhlaWdodCIsIDI2KQogICAgICAuc3R5bGUoImZpbGwiLCBmdW5jdGlvbihkLCBpKXtyZXR1cm4gY29sb3JzKGkpfSk7Ly9jb2xvciBiYXNlZCBvbiBpbmRleAoKICAgIGxlZ2VuZC5hcHBlbmQoInRleHQiKQogICAgICAuYXR0cigieCIsIC01NzgpCiAgICAgIC5hdHRyKCJ5IiwgLTQ4OCkKICAgICAgLmF0dHIoImR5IiwgIi4zNWVtIikKICAgICAgLnN0eWxlKCJ0ZXh0LWFuY2hvciIsICJmcm9udCIpCiAgICAgIC50ZXh0KGZ1bmN0aW9uKGQsIGkpIHsKICAgICAgICByZXR1cm4gZDsvL3JldHVybiB0aGUgYXJyYXkgZGF0YQogICAgICB9KS5zdHlsZSgiZm9udC1zaXplIiw0MCk7Cgp9OwoKCi8vIHN2Zy5hcHBlbmQoImxpbmUiKSAgICAgICAgICAvLyBhdHRhY2ggYSBsaW5lCi8vIC5zdHlsZSgic3Ryb2tlIiwgImJsYWNrIikgIC8vIGNvbG91ciB0aGUgbGluZQovLyAuYXR0cigieDEiLCAzODApICAgICAvLyB4IHBvc2l0aW9uIG9mIHRoZSBmaXJzdCBlbmQgb2YgdGhlIGxpbmUKLy8gLmF0dHIoInkxIiwgMjgwKSAgICAgIC8vIHkgcG9zaXRpb24gb2YgdGhlIGZpcnN0IGVuZCBvZiB0aGUgbGluZQovLyAuYXR0cigieDIiLCA3MDApICAgICAvLyB4IHBvc2l0aW9uIG9mIHRoZSBzZWNvbmQgZW5kIG9mIHRoZSBsaW5lCi8vIC5hdHRyKCJ5MiIsIDUwMCkuc3R5bGUoInN0cm9rZS13aWR0aCIsMik7Ci8vCi8vIHN2Zy5hcHBlbmQoImxpbmUiKSAgICAgICAgICAvLyBhdHRhY2ggYSBsaW5lCi8vICAgICAuc3R5bGUoInN0cm9rZSIsICJibGFjayIpICAvLyBjb2xvdXIgdGhlIGxpbmUKLy8gICAgIC5hdHRyKCJ4MSIsIDcwMCkgICAgIC8vIHggcG9zaXRpb24gb2YgdGhlIGZpcnN0IGVuZCBvZiB0aGUgbGluZQovLyAgICAgLmF0dHIoInkxIiwgNTAwKSAgICAgIC8vIHkgcG9zaXRpb24gb2YgdGhlIGZpcnN0IGVuZCBvZiB0aGUgbGluZQovLyAgICAgLmF0dHIoIngyIiwgMTQwMCkgICAgIC8vIHggcG9zaXRpb24gb2YgdGhlIHNlY29uZCBlbmQgb2YgdGhlIGxpbmUKLy8gICAgIC5hdHRyKCJ5MiIsIDUwMCkuc3R5bGUoInN0cm9rZS13aWR0aCIsMik7CgoKCgogICAgLy8gdmFyIHBhc3RzY29yZSA9IHN2ZzIuc2VsZWN0QWxsKCIucGFzdHNjb3JlIikKICAgIC8vICAgICAuZGF0YShwYXN0c2NvcmVzKS8vcGFzcyB0aGUgbGdlbmQgZGF0YQogICAgLy8KICAgIC8vICAgICBwYXN0c2NvcmUuZW50ZXIoKS5hcHBlbmQoImciKQogICAgLy8gICAgIC5hdHRyKCJjbGFzcyIsICJsZWdlbmQiKQogICAgLy8gICAgIC5hdHRyKCJ0cmFuc2Zvcm0iLCBmdW5jdGlvbihkLCBpKSB7CiAgICAvLyAgICAgICByZXR1cm4gInRyYW5zbGF0ZSgwLCIgKyBpICogMjIgKyAiKSI7CiAgICAvLyAgICAgfSk7CiAgICAvLyAgICAgcGFzdHNjb3JlLmFwcGVuZCgidGV4dCIpCiAgICAvLyAgICAgICAuYXR0cigieCIsIDE1MCkKICAgIC8vICAgICAgIC5hdHRyKCJ5IiwgMjEwKQogICAgLy8gICAgICAgLmF0dHIoImR5IiwgIi4zNWVtIikKICAgIC8vICAgICAgIC5zdHlsZSgidGV4dC1hbmNob3IiLCAiZnJvbnQiKQogICAgLy8gICAgICAgLnRleHQoZnVuY3Rpb24oZCwgaSkgewogICAgLy8gICAgICAgICByZXR1cm4gZC5kYXRlKyI6ICIrZC5zY29yZTsvL3JldHVybiB0aGUgYXJyYXkgZGF0YQogICAgLy8gICAgICAgfSkuc3R5bGUoImZvbnQtc2l6ZSIsMTUpOwoKCmZ1bmN0aW9uIGtleShkKSB7CnJldHVybiBkLmRhdGEuVHlwZTsKfQoKZnVuY3Rpb24gYXJjVHdlZW4oZCkgewp2YXIgaSA9IGQzLmludGVycG9sYXRlKHRoaXMuX2N1cnJlbnQsIGQpOwp0aGlzLl9jdXJyZW50ID0gaVswXTsKcmV0dXJuIGZ1bmN0aW9uKHQpIHsKcmV0dXJuIGFyYyhpKHQpKTsKfTsKfQoK
According to our Wellness Score, although we are maintaining our well-being through healthy eating, good water and alcohol consumption levels, and moderate exercise, we have to make further improvements.
Looking at the score breakdown more thoughtfully, our team decided to come up with an action plan. For starters, we focused on improving two areas, water consumption and healthy eating― because why wouldn’t we score 100%? First, water intake. We realized that while we were constantly drinking coffee, tea or basically anything with caffeine to boost performance, we neglected drinking water. It is not because we don’t like water, but because we don’t think about water. To change that, we put up simple signs around the office, to remind ourselves that drinking a lot of water, in fact, is an important step towards a healthy lifestyle. Second, we looked at nutrition. The test showed us that some of us were skipping breakfast quite often, not consuming enough fruits and calcium or indulging in foods that are high in saturated fat. In order to change that, we decided to get bulk orders of healthy snacks, such as RX bars, raw nuts, yogurt and fresh fruits to incorporate nutritious and balanced eating habits into our office lives. Lastly, to strengthen recovery, relationships, and mood, we started having morning yoga sessions at the office.
The impact of healthy habits, such as adequate nutrition, active living, reduced stress and reasonable work hours, is well-documented. These factors inevitably impact personal well-being, work performance and employee engagement (4) (5) (6). As a data-driven company, we wanted to go a step further and see how well were doing as a team, and how we can further improve everyone’s well-being.
We will take the test again in 2-3 months and publish the results here. So stay tuned!
What is your company’s New Year’s resolution? Contact us if you’d like to implement the Wellness Score at your work place.