@projectcor/maia-components 2.11.11-7 → 2.11.11

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 (63) hide show
  1. package/lib/components/atoms/ChatClientSelector/ChatClientSelector.js +2 -1
  2. package/lib/components/atoms/Chip/styles.js +2 -2
  3. package/lib/components/atoms/EntitySelector/EntitySelector.js +19 -5
  4. package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +8 -2
  5. package/lib/components/atoms/EntitySelector/index.js +1 -1
  6. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +56 -78
  7. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +7 -67
  8. package/lib/components/atoms/MAIAInput/MAIAInput.js +18 -122
  9. package/lib/components/atoms/MAIAInput/styles.js +11 -27
  10. package/lib/components/atoms/ProjectSelector/ProjectSelector.js +2 -1
  11. package/lib/components/atoms/index.js +1 -2
  12. package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +2 -8
  13. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +1 -1
  14. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +6 -12
  15. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +4 -77
  16. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -10
  17. package/lib/components/molecules/ChatFooter/ChatFooter.js +7 -24
  18. package/lib/components/molecules/ChatFooter/styles.js +1 -5
  19. package/lib/components/molecules/Sidebar/Sidebar.js +8 -2
  20. package/lib/hooks/useChatManager/useChatManager.interface.js +1 -1
  21. package/lib/hooks/useChatManager/useChatManager.js +25 -17
  22. package/lib/hooks/useChatMessages/useChatMessages.js +136 -158
  23. package/lib/hooks/useChats/useChats.js +10 -6
  24. package/lib/hooks/useFrequentlyAskedQuestions.js +53 -68
  25. package/lib/hooks/useProjectSearch.js +15 -8
  26. package/lib/hooks/useRecentClientsSearch.js +15 -11
  27. package/lib/lang/br/index.js +2 -15
  28. package/lib/lang/en/index.js +2 -15
  29. package/lib/lang/es/index.js +2 -15
  30. package/lib/services/maia/Agents/getAgents.js +6 -5
  31. package/lib/services/maia/Chats/getChatMessages.js +5 -4
  32. package/lib/services/maia/Chats/getChatsByUserId.js +4 -3
  33. package/lib/store/chatsStore.types.js +1 -1
  34. package/lib/store/index.js +1 -2
  35. package/lib/store/useChatsStore.js +9 -7
  36. package/lib/types/FrequentlyAskedQuestion.js +1 -1
  37. package/lib/types/agent.js +1 -1
  38. package/package.json +1 -1
  39. package/lib/components/atoms/ChatDisclaimerMessage/ChatDisclaimerMessage.js +0 -9
  40. package/lib/components/atoms/ChatDisclaimerMessage/index.js +0 -2
  41. package/lib/components/atoms/ChatDisclaimerMessage/styles.js +0 -6
  42. package/lib/components/atoms/SlashCommandDropdown/CategoryStepRegistry.js +0 -5
  43. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +0 -56
  44. package/lib/components/atoms/SlashCommandDropdown/SlashCommandList.js +0 -26
  45. package/lib/components/atoms/SlashCommandDropdown/index.js +0 -2
  46. package/lib/components/atoms/SlashCommandDropdown/steps/TaskStepSelector.js +0 -208
  47. package/lib/components/atoms/SlashCommandDropdown/steps/index.js +0 -2
  48. package/lib/components/atoms/SlashCommandDropdown/styles.js +0 -50
  49. package/lib/components/atoms/SlashCommandDropdown/types.js +0 -2
  50. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +0 -156
  51. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +0 -51
  52. package/lib/hooks/useFrequentlyUsedActions.js +0 -73
  53. package/lib/hooks/useSlashCommands.js +0 -73
  54. package/lib/services/cor/getProjectTasks.js +0 -71
  55. package/lib/services/maia/FrequentlyUsedActions/getFrequentlyUsedActions.js +0 -48
  56. package/lib/services/maia/FrequentlyUsedActions/index.js +0 -5
  57. package/lib/services/maia/SlashCommands/getSlashCommands.js +0 -48
  58. package/lib/services/maia/SlashCommands/index.js +0 -5
  59. package/lib/services/query/getTaskFamilyProjectsQuery.js +0 -5
  60. package/lib/store/faqsStore.types.js +0 -2
  61. package/lib/store/useFaqsStore.js +0 -27
  62. package/lib/types/FrequentlyUsedAction.js +0 -2
  63. package/lib/types/SlashCommand.js +0 -2
@@ -125,9 +125,7 @@ export default _defineProperty(_defineProperty(_defineProperty(_defineProperty(_
125
125
  writing: 'Escribiendo',
126
126
  loadingMore: 'Cargando más mensajes',
127
127
  footer: {
128
- placeholder: 'Escribe tu consulta acá…',
129
- agentLabel: 'El Agente',
130
- disclaimer: '{{agentName}} puede cometer errores. Comprueba la información importante.'
128
+ placeholder: 'Escribe tu consulta acá…'
131
129
  },
132
130
  error: 'Ha ocurrido un error al generar tu respuesta, por favor, intenta nuevamente.',
133
131
  errorAccessDenied: 'No tienes acceso para interactuar con este agente. Es posible que su configuración de accesibilidad haya cambiado. Por favor, contacta a la persona de tu organización que administra los agentes para obtener más información.',
@@ -151,14 +149,6 @@ export default _defineProperty(_defineProperty(_defineProperty(_defineProperty(_
151
149
  fileReadError: 'Error al leer el archivo.',
152
150
  sheetLoadError: 'Error al cargar la hoja seleccionada.'
153
151
  }
154
- },
155
- slashCommands: {
156
- frequentActions: 'Acciones frecuentes',
157
- selectTask: 'Seleccioná una tarea',
158
- searchPlaceholder: 'Buscar...',
159
- loading: 'Cargando...',
160
- noActiveTasks: 'Sin tareas activas',
161
- clearTask: 'Borrar tarea seleccionada'
162
152
  }
163
153
  },
164
154
  deleteQuestionModal: {
@@ -249,9 +239,6 @@ export default _defineProperty(_defineProperty(_defineProperty(_defineProperty(_
249
239
  legendProjectDeleted: 'El proyecto {{name}} ha sido eliminado. No es posible continuar con la conversación',
250
240
  legendNoAccess: 'Ya no tienes acceso para interactuar con el agente {{name}}',
251
241
  legendNoPermissions: 'Ya no tienes permisos para visualizar ni interactuar con el agente {{name}}',
252
- legendModelDeprecated: 'El modelo seleccionado para este agente ya no está disponible. Cambia a otro modelo para seguir utilizándolo.',
253
- legendProviderStatus: 'El modelo que usa este agente está teniendo problemas temporales. Puedes esperar a que se restablezca o cambiar a otro modelo.',
254
- changeModel: 'Cambiar modelo',
255
242
  agents: 'Agentes',
256
243
  addAgent: 'Agregar nuevo agente',
257
244
  newAgent: 'Nuevo agente',
@@ -418,4 +405,4 @@ export default _defineProperty(_defineProperty(_defineProperty(_defineProperty(_
418
405
  projects: 'proyectos'
419
406
  }
420
407
  }));
421
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRUNUSU9OUyIsIlByb2plY3RTdW1tYXJ5Q29uZmlnS2V5cyIsImdsb2JhbHMiLCJjbG9zZSIsImhvd1dvcmtzIiwiYnJhbmROYW1lIiwiZXhwYW5kIiwiY29sbGFwc2UiLCJnb0JhY2siLCJjb3B5IiwiY29waWVkIiwic2F2ZWQiLCJzZWxlY3RQcm9qZWN0Iiwic2F2ZSIsImNhbmNlbCIsImVycm9yIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsInRyeUFnYWluIiwiZ2VuZXJpY1NlY3Rpb24iLCJwcm9qZWN0U3VtbWFyeVNlY3Rpb24iLCJyZXN1bWUiLCJoZWxsbyIsIndlbGNvbWUiLCJmZWVkYmFjayIsInRodW1ic1VwIiwidGh1bWJzRG93biIsInNvdXJjZXMiLCJjb25maWciLCJwcm9qZWN0U3VtbWFyeSIsInByb2plY3RTdW1tYXJ5VGl0bGUiLCJzZWxlY3RlZFByb2plY3QiLCJjb25maWd1cmVSZXN1bWUiLCJnZW5lcmF0aW5nUmVzdW1lIiwiZ2VuZXJhdGVSZXN1bWUiLCJoaWRlQ29uZmlnIiwiY29uZmlndXJlU2V0dGluZ3MiLCJfZGVmaW5lUHJvcGVydHkiLCJHRU5FUkFMX1NUQVRVUyIsIklOQ09NRV9DT1NUUyIsIlRJTUVfSE9VUlMiLCJUQVNLU19QUk9HUkVTUyIsIlJFV09SS1MiLCJob21lTWVudSIsImZhcSIsImVtcHR5IiwiY2F0ZWdvcmllcyIsInByb2plY3RzIiwidGFza3MiLCJob3VycyIsInVuZGVmaW5lZCIsImNyZWF0ZWRCeSIsImNyZWF0ZWRCeVRvb2x0aXAiLCJjcmVhdGVkQnlUb29sdGlwRGVsZXRlZCIsInRpdGxlXzEiLCJ0aXRsZV8yIiwidGl0bGVfMyIsInN1YnRpdGxlIiwidGl0bGVQbSIsInN1YnRpdGxlUG0iLCJub0FnZW50cyIsImRlc2NyaXB0aW9uQ3JlYXRlIiwiY3JlYXRlQWdlbnQiLCJfb2JqZWN0U3ByZWFkIiwiY2hhdEFJIiwiYnV0dG9uIiwibmV3Q2hhdCIsImhpc3RvcnkiLCJ0b29sdGlwIiwiaXRlbSIsImRhdGUiLCJtZW51IiwicmVuYW1lIiwibG9hZGluZ01vcmUiLCJvbmJvYXJkaW5nIiwibWFpYSIsImFnZW50Q3VzdG9tIiwiaG93Q3JlYXRlQWdlbnQiLCJob3dJdFdvcmtzIiwicWEiLCJpdGVtcyIsInJlbnRhYmlsaWRhZF9wcm95ZWN0byIsImF2YW5jZV9wcm95ZWN0byIsInRhcmVhc19wcm95ZWN0byIsImNoYXQiLCJnZW5lcmF0aW5nIiwiZ2VuZXJhdGluZ0F0dGFjaG1lbnQiLCJnZW5lcmF0aW5nRGVlcFNlYXJjaCIsImdlbmVyYXRpbmdXZWJTZWFyY2giLCJ3cml0aW5nIiwiZm9vdGVyIiwicGxhY2Vob2xkZXIiLCJhZ2VudExhYmVsIiwiZGlzY2xhaW1lciIsImVycm9yQWNjZXNzRGVuaWVkIiwiY2hhbmdlUHJvamVjdCIsInNlYXJjaFdlYiIsImRlZXBTZWFyY2giLCJhdHRhY2hGaWxlIiwic2VuZCIsImxpbWl0RmlsZXMiLCJzdG9wIiwiY2FuY2VsbGVkIiwiYXR0YWNobWVudFByZXZpZXdNb2RhbCIsImxvYWRpbmciLCJ1bnN1cHBvcnRlZEZpbGVNZXNzYWdlIiwidHlwZUxhYmVsIiwidW5rbm93biIsInNpemVMYWJlbCIsImV4Y2VsIiwic2hlZXRTZWxlY3RvckxhYmVsIiwibG9hZEVycm9yIiwiZmlsZVJlYWRFcnJvciIsInNoZWV0TG9hZEVycm9yIiwic2xhc2hDb21tYW5kcyIsImZyZXF1ZW50QWN0aW9ucyIsInNlbGVjdFRhc2siLCJzZWFyY2hQbGFjZWhvbGRlciIsIm5vQWN0aXZlVGFza3MiLCJjbGVhclRhc2siLCJkZWxldGVRdWVzdGlvbk1vZGFsIiwiZmlyc3RQYXJ0Iiwic2Vjb25kUGFydCIsImVkaXRRdWVzdGlvbk1vZGFsIiwibmV3TmFtZSIsIm1heExlbmd0aCIsIm1vZGFsRmlsZUV4Y2VlZHMiLCJsaW1pdEZpbGVzVGl0bGUiLCJsaW1pdFNpemVUaXRsZSIsImxpbWl0RmlsZXNEZXNjcmlwdGlvbiIsImxpbWl0U2l6ZURlc2NyaXB0aW9uIiwiYWNjZXB0IiwibGltaXQiLCJzb3VyY2VzSW5mb3JtYXRpb25Nb2RhbCIsImFnZW50cyIsIm5ld0FnZW50IiwiZWRpdCIsImFkZEZhdm9yaXRlIiwicmVtb3ZlRmF2b3JpdGUiLCJmYXZvcml0ZVRvZ2dsZWRBZGRlZFN1Y2Nlc3MiLCJmYXZvcml0ZVRvZ2dsZWRSZW1vdmVkU3VjY2VzcyIsImZhdm9yaXRlVG9nZ2xlZEVycm9yIiwiZmF2b3JpdGVUb2dnbGVkUmVtb3ZlZEVycm9yIiwibWFpYUludHJvZHVjdGlvbiIsImNvbnZlcnNhdGlvbnMiLCJlbXB0eUxhYmVsIiwic25hY2tiYXIiLCJkZWxldGVDaGF0Iiwic3VjY2VzcyIsInJlbmFtZWRDaGF0IiwibG9hZE1vcmVBZ2VudHMiLCJhcHByb3ZhbEJveCIsImFjdGlvbnMiLCJjcmVhdGVfdGFzayIsImNyZWF0ZV90YXNrc19iYXRjaCIsImFwcHJvdmUiLCJkZW55Iiwic3RhdHVzIiwiYXBwcm92ZWQiLCJkZW5pZWQiLCJjaGlwTGxtIiwiY2xpZW50U2VsZWN0b3IiLCJwcm9qZWN0IiwiYWJtQWdlbnQiLCJsZWdlbmREZWxldGVkQWdlbnQiLCJsZWdlbmRQcm9qZWN0RGVsZXRlZCIsImxlZ2VuZE5vQWNjZXNzIiwibGVnZW5kTm9QZXJtaXNzaW9ucyIsImxlZ2VuZE1vZGVsRGVwcmVjYXRlZCIsImxlZ2VuZFByb3ZpZGVyU3RhdHVzIiwiY2hhbmdlTW9kZWwiLCJhZGRBZ2VudCIsImVkaXRBZ2VudCIsImRlbGV0ZUFnZW50Iiwic2VuZEZlZWRiYWNrIiwic2F2ZUNoYW5nZXMiLCJjcmVhdGVBZ2VudExhYmVsQnV0dG9uIiwiY29uZmlybUFnZW50VXBkYXRlZFdpdGhGaWxlc0Vycm9yIiwiY29uZmlybUFnZW50Q3JlYXRlZCIsImNvbmZpcm1BZ2VudERlbGV0ZWQiLCJjb25maXJtQWdlbnRXaXRoRmlsZXNFcnJvciIsImNvbmZpcm1BZ2VudFVwZGF0ZWQiLCJjb25maXJtQ2xvc2VDcmVhdGVBZ2VudCIsImNvbmZpcm1DbG9zZUVkaXRBZ2VudCIsImNvbmZpcm1SZWxvYWRCcm93c2VyIiwiZXJyb3JBZ2VudENyZWF0ZWQiLCJhdHRhY2htZW50Q2FyZCIsImRvd25sb2FkIiwiZ2VuZXJhbFNlY3Rpb24iLCJnZW5lcmFsU2V0dGluZ3MiLCJyZXF1aXJlZEZpZWxkc0xhYmVsIiwiaW5mb0xhYmVsIiwiYmFzaWNTZXR0aW5ncyIsInNlbGVjdEVtb2ppIiwibmFtZSIsIm5hbWVQbGFjZWhvbGRlciIsImJlaGF2aW9yU2V0dGluZ3MiLCJpbml0aWFsUHJvbXB0IiwiaW5pdGlhbFByb21wdFBsYWNlaG9sZGVyIiwibW9kZWxBaUxhYmVsIiwiaW5wdXRQbGFjZWhvbGRlclRpdGxlIiwiaW5wdXRQbGFjZWhvbGRlciIsImludHJvZHVjdGlvbiIsImludHJvZHVjdGlvblBsYWNlaG9sZGVyIiwibWF4Q2FyYWN0ZXJOYW1lIiwibWF4Q2FyYWN0ZXJJbml0aWFsUHJvbXB0IiwibWF4SW5wdXRQbGFjZWhvbGRlciIsIm1heENhcmFjdGVySW50cm9kdWN0aW9uIiwiaG93VG9Xcml0ZVByb21wdCIsIndoYXRJc01vZGVsQWlUaXRsZSIsIndoYXRJc01vZGVsQWkiLCJrbm93bGVkZ2VTZWN0aW9uIiwia25vd2xlZGdlVGFiIiwic2VsZWN0RmlsZVRpdGxlIiwiYXR0YWNoRmlsZXMiLCJkcm9wWm9uZVRleHQiLCJpbmZvRmlsZVR5cGVzIiwibWF4RmlsZXNUaXRsZSIsIm1heEZpbGVzRGVzY3JpcHRpb24iLCJtYXhTaXplVGl0bGUiLCJtYXhTaXplRGVzY3JpcHRpb24iLCJpbnZhbGlkRXh0ZW5zaW9uRGVzY3JpcHRpb24iLCJtb3JlSW5mbyIsImFjY2Vzc2liaWxpdHlTZWN0aW9uIiwidGl0bGVUYWIiLCJ0aXRsZVNlY3Rpb24iLCJzdWJ0aXRsZVNlY3Rpb24iLCJ3aG9DYW5BY2Nlc3MiLCJhbGxDb21wYW55VGl0bGUiLCJhbGxDb21wYW55RGVzY3JpcHRpb24iLCJjbGllbnRUaXRsZSIsImNsaWVudERlc2NyaXB0aW9uIiwib3duVGl0bGUiLCJvd25EZXNjcmlwdGlvbiIsImNsaWVudHNTZWxlY3RlZCIsInNlYXJjaEVycm9yIiwic2VhcmNoRW1wdHkiLCJzZWFyY2hJbml0aWFsIiwiY2xpZW50SW5hY3RpdmUiLCJjbGllbnREZWxldGVkVG9vbHRpcCIsImNsaWVudERlbGV0ZWQiLCJjbGllbnRzRXJyb3IiLCJwcm9jZXNzaW5nS25vd2xlZGdlIiwiZGVzY3JpcHRpb25VcGRhdGUiLCJmaWxlUm93Iiwic3RhdHVzUm93IiwicGVuZGluZyIsInByb2Nlc3NpbmciLCJmYWlsZWQiLCJkb25lIiwibG9hZGluZ0ZpbGVzIiwiZGVsZXRlQWdlbnRNb2RhbCIsInByb2plY3RTZWxlY3RvciIsImxhYmVsUHJvamVjdCIsInJlY2VudFByb2plY3RzIiwic2VhcmNoaW5nUHJvamVjdHMiLCJlcnJvck1lc3NhZ2UiLCJlbXB0eVJlY2VudFByb2plY3RzIiwiZW1wdHlTdGF0ZSIsIndpdGhvdXRDbGllbnQiLCJ3aXRob3V0VGl0bGUiLCJsYWJlbENsaWVudCIsImNoYW5nZUNsaWVudCIsInJlY2VudENsaWVudHMiLCJzZWFyY2hpbmdDbGllbnRzIiwiZW1wdHlSZWNlbnRDbGllbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xhbmcvZXMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgUHJvamVjdFN1bW1hcnlDb25maWdLZXlzIH0gZnJvbSAnLi4vLi4vdHlwZXMvUHJvamVjdFN1bW1hcnlDb25maWdLZXlzJ1xuXG5jb25zdCBnbG9iYWxzID0ge1xuICBjbG9zZTogJ0NlcnJhcicsXG4gIGhvd1dvcmtzOiAnQ8OzbW8gZnVuY2lvbmE/JyxcbiAgYnJhbmROYW1lOiAnTUFJQScsXG4gIGV4cGFuZDogJ0V4cGFuZGlyJyxcbiAgY29sbGFwc2U6ICdDb2xhcHNhcicsXG4gIGdvQmFjazogJ1ZvbHZlciBhbCBpbmljaW8nLFxuICBjb3B5OiAnQ29waWFyJyxcbiAgY29waWVkOiAnQ29waWFkbycsXG4gIHNhdmVkOiAnR3VhcmRhZG8nLFxuICBzZWxlY3RQcm9qZWN0OiAnU2VsZWNjaW9uYXIgcHJveWVjdG8nLFxuICBzYXZlOiAnR3VhcmRhcicsXG4gIGNhbmNlbDogJ0NhbmNlbGFyJyxcbn1cblxuY29uc3QgZXJyb3IgPSB7XG4gIHRpdGxlOiAnSGEgb2N1cnJpZG8gdW4gcHJvYmxlbWEnLFxuICBkZXNjcmlwdGlvbjogJ0VuIGVzdG9zIG1vbWVudG9zIGVzdGFtb3MgZXhwZXJpbWVudGFuZG8gYWxndW5vcyBpbmNvbnZlbmllbnRlcywgcG9yIGZhdm9yLCBpbnRlbnRlIGVuIHVub3MgbWludXRvcy4nLFxuICB0cnlBZ2FpbjogJ1ZvbHZlciBhIGludGVudGFyJyxcbn1cblxuY29uc3QgZ2VuZXJpY1NlY3Rpb24gPSB7XG4gIGVycm9yLFxuICBnbG9iYWxzLFxufVxuXG5jb25zdCBwcm9qZWN0U3VtbWFyeVNlY3Rpb24gPSB7XG4gIHJlc3VtZTogJ1Jlc3VtaXInLFxuICBoZWxsbzogJ8KhSG9sYSwge3tuYW1lfX0hJyxcbiAgd2VsY29tZTogJ1NveSBNQUlBLCB0dSBhc2lzdGVudGUgZW4gQ09SJyxcblxuICBmZWVkYmFjazoge1xuICAgIHRodW1ic1VwOiAnTWUgc2lydmnDsycsXG4gICAgdGh1bWJzRG93bjogJ05vIG1lIHNpcnZpw7MnLFxuICAgIHNvdXJjZXM6ICdGdWVudGVzJyxcbiAgfSxcblxuICBjb25maWc6IHtcbiAgICBwcm9qZWN0U3VtbWFyeTogJ1Jlc3VtaXIgcHJveWVjdG8nLFxuICAgIHByb2plY3RTdW1tYXJ5VGl0bGU6ICdSZXN1bWVuIGRlIHByb3llY3RvcycsXG4gICAgZ29CYWNrOiAnVm9sdmVyIGF0csOhcycsXG4gICAgc2VsZWN0ZWRQcm9qZWN0OiAnUHJveWVjdG8gc2VsZWNjaW9uYWRvJyxcbiAgICBzZWxlY3RQcm9qZWN0OiAnU2VsZWNjaW9uYXIgcHJveWVjdG8nLFxuICAgIGNvbmZpZ3VyZVJlc3VtZTogJ0NvbmZpZ3VyYWNpw7NuIGF2YW56YWRhJyxcbiAgICBnZW5lcmF0aW5nUmVzdW1lOiAnR2VuZXJhbmRvIHJlc3VtZW4nLFxuICAgIGdlbmVyYXRlUmVzdW1lOiAnR2VuZXJhcicsXG4gICAgaGlkZUNvbmZpZzogJ09jdWx0YXIgY29uZmlndXJhY2nDs24nLFxuICB9LFxuXG4gIGNvbmZpZ3VyZVNldHRpbmdzOiB7XG4gICAgW1Byb2plY3RTdW1tYXJ5Q29uZmlnS2V5cy5HRU5FUkFMX1NUQVRVU106ICdGZWNoYXMgeSBkZWFkbGluZXMnLFxuICAgIFtQcm9qZWN0U3VtbWFyeUNvbmZpZ0tleXMuSU5DT01FX0NPU1RTXTogJ1JlbnRhYmlsaWRhZCcsXG4gICAgW1Byb2plY3RTdW1tYXJ5Q29uZmlnS2V5cy5USU1FX0hPVVJTXTogJ0VzdGltYWNpw7NuIGRlIGhvcmFzIHkgY29uc3VtbycsXG4gICAgW1Byb2plY3RTdW1tYXJ5Q29uZmlnS2V5cy5UQVNLU19QUk9HUkVTU106ICdUYXJlYXMgeSBhdmFuY2VzJyxcbiAgICBbUHJvamVjdFN1bW1hcnlDb25maWdLZXlzLlJFV09SS1NdOiAnUmV0cmFiYWpvcycsXG4gIH0sXG59XG5cbmNvbnN0IGhvbWVNZW51ID0ge1xuICBwcm9qZWN0U3VtbWFyeToge1xuICAgIHRpdGxlOiAnUmVzdW1lbiBkZWwgcHJveWVjdG8nLFxuICAgIGRlc2NyaXB0aW9uOiAnRWxhYm9yYSBpbmZvcm1lcyBjb24gQUkgYmFzYWRvIGVuIHR1IHByb3llY3RvJyxcbiAgfSxcbiAgZmFxOiB7XG4gICAgdGl0bGU6ICdQcmVndW50YXMgZnJlY3VlbnRlcycsXG4gICAgZW1wdHk6ICdObyBoYXkgcHJlZ3VudGFzIGZyZWN1ZW50ZXMnLFxuICAgIGVycm9yOiAnwqFVcHMhIFR1dmltb3MgdW4gcHJvYmxlbWEgYWwgY2FyZ2FyIGxhcyBwcmVndW50YXMgZnJlY3VlbnRlcy4gUG9yIGZhdm9yLCBpbnRlbnRhIGRlIG51ZXZvIGVuIHVub3MgbWludXRvcy4nLFxuICAgIGNhdGVnb3JpZXM6IHtcbiAgICAgIHByb2plY3RzOiAnUHJveWVjdG8nLFxuICAgICAgdGFza3M6ICdUYXJlYXMnLFxuICAgICAgaG91cnM6ICdIb3JhcycsXG4gICAgICB1bmRlZmluZWQ6ICdTaW4gY2F0ZWdvcsOtYScsXG4gICAgfSxcbiAgfSxcbiAgY3JlYXRlZEJ5OiAncG9yJyxcbiAgY3JlYXRlZEJ5VG9vbHRpcDogJ1VzdWFyaW8gY3JlYWRvciBkZWwgYWdlbnRlJyxcbiAgY3JlYXRlZEJ5VG9vbHRpcERlbGV0ZWQ6ICdVc3VhcmlvIGVsaW1pbmFkby4gU3Ugbm9tYnJlIHNlIG1hbnRpZW5lIHBhcmEgcmVmZXJlbmNpYS4nLFxuICBoZWxsbzoge1xuICAgIHRpdGxlOiAnwqFMaXN0byEgWWEgZXN0b3kgdXNhbmRvIGVsIHByb3llY3RvJyxcbiAgICB0aXRsZV8xOiAnQW50aWNpcGEgZGVzdsOtb3MuIEFuYWxpY2Vtb3MgZXN0ZSBwcm95ZWN0by4nLFxuICAgIHRpdGxlXzI6ICfCv1F1w6kgcXVpZXJlcyBxdWUgYW5hbGljZW1vcz8gwr9Ib3JhcywgZXN0aW1hY2lvbmVzLCByZXRyYWJham9zPywgwqF0dSBlbGlnZXMhJyxcbiAgICB0aXRsZV8zOiAnUmV2aXNlbW9zIGVsIGF2YW5jZSBkZSBlc3RlIHByb3llY3RvLicsXG4gICAgc3VidGl0bGU6ICdQYXJhIGVtcGV6YXIsIHRlIHB1ZWRvIGF5dWRhciBjb24gZXN0YXMgb3BjaW9uZXMuIE8gc2kgbm8sIMKhZXNjcsOtYmVtZSBkaXJlY3RhbWVudGUgdHUgY29uc3VsdGEhJyxcbiAgICB0aXRsZVBtOiAnwqFIb2xhLCB7e25hbWV9fSEgU295IHt7YWdlbnR9fSwgdHUgYXNpc3RlbnRlLicsXG4gICAgc3VidGl0bGVQbTpcbiAgICAgICdQYXJhIGRhcnRlIHJlc3B1ZXN0YXMgcHJlY2lzYXMsIHByaW1lcm8gbmVjZXNpdG8gc2FiZXIgc29icmUgcXXDqSBwcm95ZWN0byB2YW1vcyBhIGNvbnZlcnNhci4gwr9DdcOhbCBlbGlnZXM/JyxcbiAgfSxcbiAgbm9BZ2VudHM6IHtcbiAgICB0aXRsZTogJ1RvZGF2w61hIG5vIGhheSBhZ2VudGVzIGNyZWFkb3MgZW4gdHUgZW1wcmVzYScsXG4gICAgZGVzY3JpcHRpb25DcmVhdGU6XG4gICAgICAnRXN0YSBzZWNjacOzbiBzZSBoYWJpbGl0YXLDoSBjdWFuZG8gY29uZmlndXJlcyB0dSBwcmltZXIgYWdlbnRlLiBJbmljaWEgbGEgY29uZmlndXJhY2nDs24gZGVzZGUgZWwgYm90w7NuIGRlIGFiYWpvLicsXG4gICAgZGVzY3JpcHRpb246ICdDdWFuZG8gbGEgcGVyc29uYSBjb24gcGVybWlzb3MgcGFyYSBjcmVhcmxvcyBsb3MgY29uZmlndXJlLCB2YXMgYSBwb2RlciBhY2NlZGVyIGRlc2RlIGFjw6EuJyxcbiAgICBjcmVhdGVBZ2VudDogJ0NyZWFyIGFnZW50ZScsXG4gIH0sXG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgW1NFQ1RJT05TLnByb2plY3RTdW1tYXJ5XToge1xuICAgIC4uLmdlbmVyaWNTZWN0aW9uLFxuICAgIC4uLnByb2plY3RTdW1tYXJ5U2VjdGlvbixcbiAgfSxcbiAgW1NFQ1RJT05TLmNoYXRBSV06IHtcbiAgICAuLi5nZW5lcmljU2VjdGlvbixcbiAgICAuLi5wcm9qZWN0U3VtbWFyeVNlY3Rpb24sXG4gICAgaG9tZU1lbnUsXG5cbiAgICBidXR0b246ICdJQScsXG4gICAgdGl0bGU6ICfCoUhvbGEsIHt7bmFtZX19IScsXG4gICAgZGVzY3JpcHRpb246ICdTb3kgTUFJQSB0dSBhc2lzdGVudGUgeSBlc3RveSBhcXXDrSBwYXJhIGF5dWRhcnRlIGNvbiB0dXMgY29uc3VsdGFzLicsXG4gICAgbmV3Q2hhdDogJ051ZXZvIGNoYXQnLFxuICAgIGhpc3Rvcnk6IHtcbiAgICAgIHRvb2x0aXA6ICdIaXN0b3JpYWwnLFxuICAgICAgdGl0bGU6ICdIaXN0b3JpYWwgdmFjw61vJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnTm8gc2UgaGFuIGVuY29udHJhZG8gY29udmVyc2FjaW9uZXMnLFxuICAgICAgaXRlbToge1xuICAgICAgICBkYXRlOiAnw5psdGltYSBhY3R1YWxpemFjacOzbiB7e2RhdGV9fScsXG4gICAgICB9LFxuICAgICAgbWVudToge1xuICAgICAgICByZW5hbWU6ICdSZW5vbWJyYXInLFxuICAgICAgICBkZWxldGU6ICdFbGltaW5hcicsXG4gICAgICB9LFxuICAgICAgbG9hZGluZ01vcmU6ICdDYXJnYW5kbyBtw6FzIGNvbnZlcnNhY2lvbmVzJyxcbiAgICB9LFxuICAgIG9uYm9hcmRpbmc6IHtcbiAgICAgIG1haWE6ICdNQUlBJyxcbiAgICAgIGFnZW50Q3VzdG9tOiAnQWdlbnRlcyBjdXN0b20nLFxuICAgICAgaG93Q3JlYXRlQWdlbnQ6ICfCv0PDs21vIGNyZWFyIHVuIGFnZW50ZT8nLFxuICAgICAgdG9vbHRpcDogJ8K/Q8OzbW8gZnVuY2lvbmE/JyxcbiAgICAgIGhvd0l0V29ya3M6ICfCv0PDs21vIGZ1bmNpb25hPycsXG4gICAgfSxcbiAgICBxYToge1xuICAgICAgdGl0bGU6ICdQcmVndW50YXMgZnJlY3VlbnRlcycsXG4gICAgICBpdGVtczoge1xuICAgICAgICByZW50YWJpbGlkYWRfcHJveWVjdG86ICfCv0N1w6FsIGVzIGxhIHJlbnRhYmlsaWRhZCBkZSBlc3RlIHByb3llY3RvPycsXG4gICAgICAgIGF2YW5jZV9wcm95ZWN0bzogJ8K/Q3XDoWxlcyBzb24gbG9zIGF2YW5jZXMgZGUgZXN0ZSBwcm95ZWN0bz8nLFxuICAgICAgICB0YXJlYXNfcHJveWVjdG86ICfCv0N1w6FsZXMgc29uIGxhcyB0YXJlYXMgcHLDs3hpbWFzIGEgdmVuY2VyPycsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY2hhdDoge1xuICAgICAgZ2VuZXJhdGluZzogJ0FuYWxpemFuZG8gZWwgbWVuc2FqZScsXG4gICAgICBnZW5lcmF0aW5nQXR0YWNobWVudDogJ0FuYWxpemFuZG8gYWRqdW50bycsXG4gICAgICBnZW5lcmF0aW5nRGVlcFNlYXJjaDogJ0luaWNpYW5kbyBsYSBpbnZlc3RpZ2FjacOzbicsXG4gICAgICBnZW5lcmF0aW5nV2ViU2VhcmNoOiAnQnVzY2FuZG8gZW4gbGEgd2ViJyxcbiAgICAgIHdyaXRpbmc6ICdFc2NyaWJpZW5kbycsXG4gICAgICBsb2FkaW5nTW9yZTogJ0NhcmdhbmRvIG3DoXMgbWVuc2FqZXMnLFxuICAgICAgZm9vdGVyOiB7XG4gICAgICAgIHBsYWNlaG9sZGVyOiAnRXNjcmliZSB0dSBjb25zdWx0YSBhY8Oh4oCmJyxcbiAgICAgICAgYWdlbnRMYWJlbDogJ0VsIEFnZW50ZScsXG4gICAgICAgIGRpc2NsYWltZXI6ICd7e2FnZW50TmFtZX19IHB1ZWRlIGNvbWV0ZXIgZXJyb3Jlcy4gQ29tcHJ1ZWJhIGxhIGluZm9ybWFjacOzbiBpbXBvcnRhbnRlLicsXG4gICAgICB9LFxuICAgICAgZXJyb3I6ICdIYSBvY3VycmlkbyB1biBlcnJvciBhbCBnZW5lcmFyIHR1IHJlc3B1ZXN0YSwgcG9yIGZhdm9yLCBpbnRlbnRhIG51ZXZhbWVudGUuJyxcbiAgICAgIGVycm9yQWNjZXNzRGVuaWVkOlxuICAgICAgICAnTm8gdGllbmVzIGFjY2VzbyBwYXJhIGludGVyYWN0dWFyIGNvbiBlc3RlIGFnZW50ZS4gRXMgcG9zaWJsZSBxdWUgc3UgY29uZmlndXJhY2nDs24gZGUgYWNjZXNpYmlsaWRhZCBoYXlhIGNhbWJpYWRvLiBQb3IgZmF2b3IsIGNvbnRhY3RhIGEgbGEgcGVyc29uYSBkZSB0dSBvcmdhbml6YWNpw7NuIHF1ZSBhZG1pbmlzdHJhIGxvcyBhZ2VudGVzIHBhcmEgb2J0ZW5lciBtw6FzIGluZm9ybWFjacOzbi4nLFxuICAgICAgY2hhbmdlUHJvamVjdDogJ0RldGVjdG8gcXVlIHF1aWVyZXMgY2FtYmlhciBkZSBQcm95ZWN0by5cXG5cXG4qKlNlbGVjY2lvbmEgZWwgcHJveWVjdG8gcGFyYSBjb250aW51YXI6KionLFxuICAgICAgc2VhcmNoV2ViOiAnQnVzY2FyIGVuIGxhIHdlYicsXG4gICAgICBkZWVwU2VhcmNoOiAnQsO6c3F1ZWRhIGF2YW56YWRhIGVuIGludGVybmV0IChhY2Nlc28gYSBtw6FzIGZ1ZW50ZXMpJyxcbiAgICAgIGF0dGFjaEZpbGU6ICdBZGp1bnRhciBhcmNoaXZvJyxcbiAgICAgIHNlbmQ6ICdFbnZpYXInLFxuICAgICAgbGltaXRGaWxlczogJ1NvbG8gcHVlZGVzIGFkanVudGFyIGhhc3RhIDUgYXJjaGl2b3MgcG9yIG1lbnNhamUuJyxcbiAgICAgIHN0b3A6ICdDYW5jZWxhciBiw7pzcXVlZGEnLFxuICAgICAgY2FuY2VsbGVkOiAnU2UgaGEgY2FuY2VsYWRvIGxhIGLDunNxdWVkYS4nLFxuICAgICAgYXR0YWNobWVudFByZXZpZXdNb2RhbDoge1xuICAgICAgICBsb2FkaW5nOiAnQ2FyZ2FuZG8uLi4nLFxuICAgICAgICB1bnN1cHBvcnRlZEZpbGVNZXNzYWdlOlxuICAgICAgICAgICdFc3RlIHRpcG8gZGUgYXJjaGl2byBubyBwdWVkZSBzZXIgcHJldmlzdWFsaXphZG8uIFBvciBmYXZvciwgaW50ZW50YSBkZSBudWV2byBlbiB1bm9zIG1pbnV0b3MuJyxcbiAgICAgICAgdHlwZUxhYmVsOiAnVGlwbzonLFxuICAgICAgICB1bmtub3duOiAnRGVzY29ub2NpZG8nLFxuICAgICAgICBzaXplTGFiZWw6ICdUYW1hw7FvOicsXG4gICAgICAgIGV4Y2VsOiB7XG4gICAgICAgICAgc2hlZXRTZWxlY3RvckxhYmVsOiAnSG9qYTonLFxuICAgICAgICAgIGxvYWRFcnJvcjogJ05vIHNlIHB1ZG8gY2FyZ2FyIGVsIGNvbnRlbmlkbyBkZWwgYXJjaGl2byBFeGNlbC4nLFxuICAgICAgICAgIGZpbGVSZWFkRXJyb3I6ICdFcnJvciBhbCBsZWVyIGVsIGFyY2hpdm8uJyxcbiAgICAgICAgICBzaGVldExvYWRFcnJvcjogJ0Vycm9yIGFsIGNhcmdhciBsYSBob2phIHNlbGVjY2lvbmFkYS4nLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNsYXNoQ29tbWFuZHM6IHtcbiAgICAgICAgZnJlcXVlbnRBY3Rpb25zOiAnQWNjaW9uZXMgZnJlY3VlbnRlcycsXG4gICAgICAgIHNlbGVjdFRhc2s6ICdTZWxlY2Npb27DoSB1bmEgdGFyZWEnLFxuICAgICAgICBzZWFyY2hQbGFjZWhvbGRlcjogJ0J1c2Nhci4uLicsXG4gICAgICAgIGxvYWRpbmc6ICdDYXJnYW5kby4uLicsXG4gICAgICAgIG5vQWN0aXZlVGFza3M6ICdTaW4gdGFyZWFzIGFjdGl2YXMnLFxuICAgICAgICBjbGVhclRhc2s6ICdCb3JyYXIgdGFyZWEgc2VsZWNjaW9uYWRhJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZWxldGVRdWVzdGlvbk1vZGFsOiB7XG4gICAgICB0aXRsZTogJ8K/RGVzZWFzIGVsaW1pbmFyIGVzdGEgY29udmVyc2FjacOzbj8nLFxuICAgICAgZmlyc3RQYXJ0OiAnRXN0w6FzIHBvciBlbGltaW5hcicsXG4gICAgICBzZWNvbmRQYXJ0OiAnRXN0YSBhY2Npw7NuIGVzIGlycmV2ZXJzaWJsZS4nLFxuICAgICAgY2FuY2VsOiAnQ2FuY2VsYXInLFxuICAgICAgZGVsZXRlOiAnRWxpbWluYXInLFxuICAgIH0sXG4gICAgZWRpdFF1ZXN0aW9uTW9kYWw6IHtcbiAgICAgIG5ld05hbWU6ICdOdWV2byBub21icmUnLFxuICAgICAgdGl0bGU6ICdSZW5vbWJyYXIgY29udmVyc2FjacOzbicsXG4gICAgICByZW5hbWU6ICdSZW5vbWJyYXInLFxuICAgICAgY2FuY2VsOiAnQ2FuY2VsYXInLFxuICAgICAgbWF4TGVuZ3RoOiAnQ29tcGxldGFzdGUgbG9zIDE0MCBjYXJhY3RlcmVzIGRlbCBsw61taXRlLicsXG4gICAgfSxcbiAgICBtb2RhbEZpbGVFeGNlZWRzOiB7XG4gICAgICBsaW1pdEZpbGVzVGl0bGU6ICdIYXMgc3VwZXJhZG8gZWwgbMOtbWl0ZSBkZSBhZGp1bnRvcy4nLFxuICAgICAgbGltaXRTaXplVGl0bGU6ICdIYXMgc3VwZXJhZG8gZWwgbMOtbWl0ZSBkZSBwZXNvIHBlcm1pdGlkby4nLFxuICAgICAgbGltaXRGaWxlc0Rlc2NyaXB0aW9uOlxuICAgICAgICAnU29sbyBwdWVkZXMgYWRqdW50YXIgaGFzdGEgNSBhcmNoaXZvcyBwb3IgbWVuc2FqZS4gTG9zIHNpZ3VpZW50ZXMgYXJjaGl2b3Mgbm8gc2UgcHVkaWVyb24gYWRqdW50YXI6JyxcbiAgICAgIGxpbWl0U2l6ZURlc2NyaXB0aW9uOlxuICAgICAgICAnVW5vIG8gbcOhcyBzdXBlcmFuIGVsIHRhbWHDsW8gbcOheGltbyBwZXJtaXRpZG8gcG9yIHRpcG8uIExvcyBzaWd1aWVudGVzIGFyY2hpdm9zIG5vIHNlIHB1ZGllcm9uIGFkanVudGFyOicsXG4gICAgICBhY2NlcHQ6ICdBY2VwdGFyJyxcbiAgICAgIGxpbWl0OiAnbMOtbWl0ZScsXG4gICAgfSxcbiAgICBzb3VyY2VzSW5mb3JtYXRpb25Nb2RhbDoge1xuICAgICAgdGl0bGU6ICdGdWVudGVzOicsXG4gICAgfSxcbiAgICBhZ2VudHM6IHtcbiAgICAgIHRpdGxlOiAnQWdlbnRlcycsXG4gICAgICBuZXdBZ2VudDogJ051ZXZvIGFnZW50ZScsXG4gICAgICBjcmVhdGVBZ2VudDogJ0NyZWFyIEFnZW50ZScsXG4gICAgICBlZGl0OiAnRWRpdGFyJyxcbiAgICAgIG1haWE6ICcoRXNwZWNpYWxpc3RhIGRlIHByb3llY3RvKScsXG4gICAgICBhZGRGYXZvcml0ZTogJ0FncmVnYXIgYSBmYXZvcml0b3MnLFxuICAgICAgcmVtb3ZlRmF2b3JpdGU6ICdRdWl0YXIgZGUgZmF2b3JpdG9zJyxcbiAgICAgIGZhdm9yaXRlVG9nZ2xlZEFkZGVkU3VjY2VzczogJ0FnZW50ZSBhZ3JlZ2FkbyBhIGZhdm9yaXRvcycsXG4gICAgICBmYXZvcml0ZVRvZ2dsZWRSZW1vdmVkU3VjY2VzczogJ0FnZW50ZSByZW1vdmlkbyBkZSBmYXZvcml0b3MnLFxuICAgICAgZmF2b3JpdGVUb2dnbGVkRXJyb3I6ICdObyBzZSBwdWRvIGd1YXJkYXIgdHUgZmF2b3JpdG8uIEludGVudGEgbnVldmFtZW50ZS4nLFxuICAgICAgZmF2b3JpdGVUb2dnbGVkUmVtb3ZlZEVycm9yOiAnTm8gc2UgcHVkbyBxdWl0YXIgZWwgZmF2b3JpdG8uIEludGVudGEgbnVldmFtZW50ZS4nLFxuICAgICAgbWFpYUludHJvZHVjdGlvbjogJ0JpZW52ZW5pZG8gYSBNQUlBIHR1IGFzaXN0ZW50ZSwgcGFyYSBtZWpvcmFyIHR1IGTDrWEgYSBkw61hLicsXG4gICAgfSxcbiAgICBjb252ZXJzYXRpb25zOiB7XG4gICAgICB0aXRsZTogJ01pcyBjb252ZXJzYWNpb25lcycsXG4gICAgICBlcnJvcjogJ09jdXJyacOzIHVuIGVycm9yIGFsIGNhcmdhciBlbCBoaXN0b3JpYWwgZGUgY29udmVyc2FjaW9uZXMnLFxuICAgICAgZW1wdHk6ICdBcXXDrSBzZSBtb3N0cmFyw6FuIHRvZGFzIHR1cyBjb252ZXJzYWNpb25lcyBjb24gbG9zIGFnZW50ZXMnLFxuICAgICAgZW1wdHlMYWJlbDogJ01lbnNhamUgY29uIGFyY2hpdm9zJyxcbiAgICAgIGNvbGxhcHNlOiAnQ29sYXBzYXInLFxuICAgICAgZXhwYW5kOiAnRXhwYW5kaXInLFxuICAgICAgbmV3Q2hhdDogJ051ZXZvIGNoYXQnLFxuICAgIH0sXG4gICAgc25hY2tiYXI6IHtcbiAgICAgIGRlbGV0ZUNoYXQ6IHtcbiAgICAgICAgc3VjY2VzczogJ1R1IGNvbnZlcnNhY2nDs24gZnVlIGVsaW1pbmFkYSBjb24gw6l4aXRvLicsXG4gICAgICAgIGVycm9yOiAnT2N1cnJpw7MgdW4gZXJyb3IgaW5lc3BlcmFkby4gUG9yIGZhdm9yIHZ1ZWx2ZSBhIGludGVudGFybG8uJyxcbiAgICAgIH0sXG4gICAgICByZW5hbWVkQ2hhdDoge1xuICAgICAgICBzdWNjZXNzOiAnQ29udmVyc2FjacOzbiByZW5vbWJyYWRhIGNvbiDDqXhpdG8nLFxuICAgICAgICBlcnJvcjogJ09jdXJyacOzIHVuIGVycm9yIGluZXNwZXJhZG8uIFBvciBmYXZvciB2dWVsdmUgYSBpbnRlbnRhcmxvLicsXG4gICAgICB9LFxuICAgICAgbG9hZE1vcmVBZ2VudHM6IHtcbiAgICAgICAgZXJyb3I6ICdPY3VycmnDsyB1biBlcnJvciBpbmVzcGVyYWRvLiBQb3IgZmF2b3IgdnVlbHZlIGEgaW50ZW50YXJsby4nLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGFwcHJvdmFsQm94OiB7XG4gICAgICBhY3Rpb25zOiB7XG4gICAgICAgIGNyZWF0ZV90YXNrOiAnQ3JlYWNpw7NuIGRlIHRhcmVhJyxcbiAgICAgICAgY3JlYXRlX3Rhc2tzX2JhdGNoOiAnQ3JlYWNpw7NuIGRlIHRhcmVhcycsXG4gICAgICAgIHVua25vd246ICdBY2Npw7NuIGRlc2Nvbm9jaWRhJyxcbiAgICAgIH0sXG4gICAgICB0aXRsZTogJ0NvbmZpcm1hY2nDs24gcmVxdWVyaWRhJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU2UgcmVxdWllcmUgdHUgYXByb2JhY2nDs24gcGFyYSBlamVjdXRhciBsYSBzaWd1aWVudGUgYWNjacOzbjonLFxuICAgICAgYXBwcm92ZTogJ0Fwcm9iYXInLFxuICAgICAgZGVueTogJ0RlbmVnYXInLFxuICAgICAgc3RhdHVzOiB7XG4gICAgICAgIGFwcHJvdmVkOiAnU29saWNpdHVkIEFwcm9iYWRhJyxcbiAgICAgICAgZGVuaWVkOiAnU29saWNpdHVkIERlbmVnYWRhJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBjaGlwTGxtOiB7XG4gICAgICB0b29sdGlwOiAnRXN0ZSBhZ2VudGUgdXRpbGl6YSBlbCBtb2RlbG86IHt7bW9kZWx9fScsXG4gICAgfSxcbiAgICBjbGllbnRTZWxlY3Rvcjoge1xuICAgICAgcHJvamVjdDogJ3Byb3llY3RvJyxcbiAgICAgIHByb2plY3RzOiAncHJveWVjdG9zJyxcbiAgICB9LFxuICB9LFxuICBbU0VDVElPTlMuYWJtQWdlbnRdOiB7XG4gICAgLi4uZ2VuZXJpY1NlY3Rpb24sXG4gICAgbGVnZW5kRGVsZXRlZEFnZW50OiAnRXN0ZSBhZ2VudGUgaGEgc2lkbyBlbGltaW5hZG8gZWwgZMOtYScsXG4gICAgbGVnZW5kUHJvamVjdERlbGV0ZWQ6ICdFbCBwcm95ZWN0byB7e25hbWV9fSBoYSBzaWRvIGVsaW1pbmFkby4gTm8gZXMgcG9zaWJsZSBjb250aW51YXIgY29uIGxhIGNvbnZlcnNhY2nDs24nLFxuICAgIGxlZ2VuZE5vQWNjZXNzOiAnWWEgbm8gdGllbmVzIGFjY2VzbyBwYXJhIGludGVyYWN0dWFyIGNvbiBlbCBhZ2VudGUge3tuYW1lfX0nLFxuICAgIGxlZ2VuZE5vUGVybWlzc2lvbnM6ICdZYSBubyB0aWVuZXMgcGVybWlzb3MgcGFyYSB2aXN1YWxpemFyIG5pIGludGVyYWN0dWFyIGNvbiBlbCBhZ2VudGUge3tuYW1lfX0nLFxuICAgIGxlZ2VuZE1vZGVsRGVwcmVjYXRlZDpcbiAgICAgICdFbCBtb2RlbG8gc2VsZWNjaW9uYWRvIHBhcmEgZXN0ZSBhZ2VudGUgeWEgbm8gZXN0w6EgZGlzcG9uaWJsZS4gQ2FtYmlhIGEgb3RybyBtb2RlbG8gcGFyYSBzZWd1aXIgdXRpbGl6w6FuZG9sby4nLFxuICAgIGxlZ2VuZFByb3ZpZGVyU3RhdHVzOlxuICAgICAgJ0VsIG1vZGVsbyBxdWUgdXNhIGVzdGUgYWdlbnRlIGVzdMOhIHRlbmllbmRvIHByb2JsZW1hcyB0ZW1wb3JhbGVzLiBQdWVkZXMgZXNwZXJhciBhIHF1ZSBzZSByZXN0YWJsZXpjYSBvIGNhbWJpYXIgYSBvdHJvIG1vZGVsby4nLFxuICAgIGNoYW5nZU1vZGVsOiAnQ2FtYmlhciBtb2RlbG8nLFxuICAgIGFnZW50czogJ0FnZW50ZXMnLFxuICAgIGFkZEFnZW50OiAnQWdyZWdhciBudWV2byBhZ2VudGUnLFxuICAgIG5ld0FnZW50OiAnTnVldm8gYWdlbnRlJyxcbiAgICBlZGl0QWdlbnQ6ICdFZGl0YXIgYWdlbnRlJyxcbiAgICBjcmVhdGVBZ2VudDogJ0NyZWFyIEFnZW50ZScsXG4gICAgY2FuY2VsOiAnQ2FuY2VsYXInLFxuICAgIGFjY2VwdDogJ0FjZXB0YXInLFxuICAgIGRlbGV0ZUFnZW50OiAnRWxpbWluYXIgYWdlbnRlJyxcbiAgICBjb250aW51ZTogJ0NvbnRpbnVhcicsXG4gICAgZWRpdDogJ0VkaXRhcicsXG4gICAgZmVlZGJhY2s6ICdFbnZpYXIgRmVlZGJhY2snLFxuICAgIHNlbmRGZWVkYmFjazogJ0VudmlhciBmZWVkYmFjaycsXG4gICAgc2F2ZUNoYW5nZXM6ICdHdWFyZGFyIGNhbWJpb3MnLFxuICAgIGNyZWF0ZUFnZW50TGFiZWxCdXR0b246ICdDcmVhciBhZ2VudGUnLFxuICAgIGNvbmZpcm1BZ2VudFVwZGF0ZWRXaXRoRmlsZXNFcnJvcjogJ0VsIGFnZW50ZSBzZSBlZGl0w7MgZXhpdG9zYW1lbnRlLCBwZXJvIGhheSBhcmNoaXZvcyBxdWUgbm8gcHVkaWVyb24gcHJvY2VzYXJzZS4nLFxuICAgIGNvbmZpcm1BZ2VudENyZWF0ZWQ6ICdFbCBhZ2VudGUgc2UgaGEgY3JlYWRvIGNvbiDDqXhpdG8nLFxuICAgIGNvbmZpcm1BZ2VudERlbGV0ZWQ6ICdFbCBhZ2VudGUgc2UgaGEgZWxpbWluYWRvIGNvbiDDqXhpdG8nLFxuICAgIGNvbmZpcm1BZ2VudFdpdGhGaWxlc0Vycm9yOiAnRWwgYWdlbnRlIHNlIGNyZcOzIGV4aXRvc2FtZW50ZSwgcGVybyBoYXkgYXJjaGl2b3MgcXVlIG5vIHB1ZGllcm9uIHByb2Nlc2Fyc2UuJyxcbiAgICBjb25maXJtQWdlbnRVcGRhdGVkOiAnRWwgYWdlbnRlIHNlIGhhIGFjdHVhbGl6YWRvIGNvbiDDqXhpdG8nLFxuICAgIGNvbmZpcm1DbG9zZUNyZWF0ZUFnZW50OiAnwr9Fc3TDoXMgc2VndXJvIGRlIHF1ZSBxdWllcmVzIGNlcnJhcj8gU2UgcGVyZGVyw6FuIGxvcyBjYW1iaW9zIHJlYWxpemFkb3MuJyxcbiAgICBjb25maXJtQ2xvc2VFZGl0QWdlbnQ6ICfCv0VzdMOhcyBzZWd1cm8gZGUgcXVlIHF1aWVyZXMgY2VycmFyPyBTZSBwZXJkZXLDoW4gbG9zIGNhbWJpb3MgcmVhbGl6YWRvcy4nLFxuICAgIGNvbmZpcm1SZWxvYWRCcm93c2VyOiAnwr9Fc3TDoXMgc2VndXJvIGRlIHF1ZSBxdWllcmVzIHJlY2FyZ2FyIGxhIHDDoWdpbmE/IFNlIHBlcmRlcsOhbiBsb3MgY2FtYmlvcyByZWFsaXphZG9zLicsXG4gICAgZXJyb3JBY2Nlc3NEZW5pZWQ6ICdObyB0aWVuZXMgcGVybWlzb3MgcGFyYSBhY2NlZGVyIGEgZXN0ZSBhZ2VudGUuIENvbnRhY3RhIGNvbiBzb3BvcnRlLicsXG4gICAgZXJyb3JBZ2VudENyZWF0ZWQ6ICdPY3VycmnDsyB1biBlcnJvciBpbmVzcGVyYWRvLiBQb3IgZmF2b3IgdnVlbHZlIGEgaW50ZW50YXJsby4nLFxuICAgIGF0dGFjaG1lbnRDYXJkOiB7XG4gICAgICBkb3dubG9hZDogJ0Rlc2NhcmdhcicsXG4gICAgICBkZWxldGU6ICdFbGltaW5hcicsXG4gICAgfSxcbiAgICBnZW5lcmFsU2VjdGlvbjoge1xuICAgICAgdGl0bGU6ICdHZW5lcmFsJyxcbiAgICAgIGdlbmVyYWxTZXR0aW5nczogJ0NvbmZpZ3VyYWNpw7NuIGdlbmVyYWwnLFxuICAgICAgcmVxdWlyZWRGaWVsZHNMYWJlbDogJypvYmxpZ2F0b3Jpb3MnLFxuICAgICAgaW5mb0xhYmVsOiAnQWdyZWdhIHRvZGEgbGEgaW5mb3JtYWNpw7NuIHBhcmEgcGVyc29uYWxpemFyIGVsIGNvbXBvcnRhbWllbnRvIGRlIHR1IGFnZW50ZScsXG4gICAgICBiYXNpY1NldHRpbmdzOiAnQ29uZmlndXJhY2nDs24gYsOhc2ljYScsXG4gICAgICBzZWxlY3RFbW9qaTogJ1NlbGVjY2lvbmFyIGVtb2ppJyxcbiAgICAgIG5hbWU6ICfCv0N1w6FsIGVzIGVsIG5vbWJyZSBkZSB0dSBhZ2VudGU/JyxcbiAgICAgIG5hbWVQbGFjZWhvbGRlcjogJ0Fzw61nbmFsZSB1biBub21icmUgYSB0dSBhZ2VudGUnLFxuICAgICAgYmVoYXZpb3JTZXR0aW5nczogJ0NvbmZpZ3VyYWNpw7NuIGRlIGNvbXBvcnRhbWllbnRvJyxcbiAgICAgIGluaXRpYWxQcm9tcHQ6ICfCv0N1w6FsZXMgc29uIGxhcyBpbnN0cnVjY2lvbmVzPycsXG4gICAgICBpbml0aWFsUHJvbXB0UGxhY2Vob2xkZXI6XG4gICAgICAgICdFamVtcGxvOiBFcmVzIHVuIHNvY2lhbCBtZWRpYSBjb3B5d3JpdGVyIHF1ZSByZWRhY3RhIHkgYWRhcHRhIG1lbnNhamVzIHBhcmEgZGlmZXJlbnRlcyByZWRlcywgYXNlZ3VyYW5kbyBjb25zaXN0ZW5jaWEgZW4gZWwgdG9ubywgbGEgcGVyc29uYWxpZGFkIHkgbG9zIHZhbG9yZXMgZGUgbGEgbWFyY2EuXCInLFxuICAgICAgbW9kZWxBaUxhYmVsOiAnTW9kZWxvIGRlIEFJJyxcbiAgICAgIGlucHV0UGxhY2Vob2xkZXJUaXRsZTogJ8K/UXXDqSB2ZXLDoSBlbCB1c3VhcmlvIGVuIGVsIGNhbXBvIGRlIGNoYXQgYW50ZXMgZGUgZXNjcmliaXI/JyxcbiAgICAgIGlucHV0UGxhY2Vob2xkZXI6ICdQcmVnw7pudGFtZSBsbyBxdWUgbmVjZXNpdGVz4oCmJyxcbiAgICAgIGludHJvZHVjdGlvbjogJ8K/Q8OzbW8gc2UgdmEgYSBwcmVzZW50YXIgdHUgYWdlbnRlPycsXG4gICAgICBpbnRyb2R1Y3Rpb25QbGFjZWhvbGRlcjpcbiAgICAgICAgJ0VqZW1wbG86IMKhSG9sYSEg8J+Riy4gVGUgdm95IGEgYXl1ZGFyIGEgY3JlYXIsIGFkYXB0YXIgeSByZXZpc2FyIGNvcHlzIHBhcmEgZGlzdGludGFzIHBsYXRhZm9ybWFzIGFzZWd1cmFuZG8gcXVlIG1hbnRlbmdhbiBsYSB2b3osIGVsIHRvbm8geSBsYSBwZXJzb25hbGlkYWQgZGUgdHUgbWFyY2EuIFB1ZWRlcyBwZWRpcm1lIHF1ZSB0ZSBwcm9wb25nYSBpZGVhcyBwYXJhIHVuYSBjYW1wYcOxYSwgYWRhcHRlIHVuIHRleHRvIHBhcmEgb3RybyBjYW5hbCBvIHJldmlzZSBsYSBjb2hlcmVuY2lhIGRlbCBtZW5zYWplJyxcbiAgICAgIGVycm9yOiB7XG4gICAgICAgIG1heENhcmFjdGVyTmFtZTogJ0NvbXBsZXRhc3RlIGxvcyAxNTAgY2FyYWN0ZXJlcyBkZWwgbMOtbWl0ZS4nLFxuICAgICAgICBtYXhDYXJhY3RlckluaXRpYWxQcm9tcHQ6ICdDb21wbGV0YXN0ZSBsb3MgNTAwMCBjYXJhY3RlcmVzIGRlbCBsw61taXRlLicsXG4gICAgICAgIG1heElucHV0UGxhY2Vob2xkZXI6ICdDb21wbGV0YXN0ZSBsb3MgMTAwIGNhcmFjdGVyZXMgZGVsIGzDrW1pdGUuJyxcbiAgICAgICAgbWF4Q2FyYWN0ZXJJbnRyb2R1Y3Rpb246ICdDb21wbGV0YXN0ZSBsb3MgNDAwIGNhcmFjdGVyZXMgZGVsIGzDrW1pdGUuJyxcbiAgICAgIH0sXG4gICAgICBob3dUb1dyaXRlUHJvbXB0OiAnQ8OzbW8gcmVkYWN0YXIgdW4gcHJvbXB0JyxcbiAgICAgIHdoYXRJc01vZGVsQWlUaXRsZTogJ8K/UXXDqSBtb2RlbG8gZGUgSUEgdmFzIGEgdXNhcj8nLFxuICAgICAgd2hhdElzTW9kZWxBaTogJ8K/UXXDqSBlcyB1biBtb2RlbG8gZGUgQUk/JyxcbiAgICAgIGFkZEZhdm9yaXRlOiAnQWdyZWdhciBhIGZhdm9yaXRvcycsXG4gICAgICByZW1vdmVGYXZvcml0ZTogJ1F1aXRhciBkZSBmYXZvcml0b3MnLFxuICAgICAgY3JlYXRlZEJ5OiAnUG9yJyxcbiAgICAgIGNyZWF0ZWRCeVRvb2x0aXA6ICdVc3VhcmlvIGNyZWFkb3IgZGVsIGFnZW50ZScsXG4gICAgICBjcmVhdGVkQnlUb29sdGlwRGVsZXRlZDogJ1VzdWFyaW8gZWxpbWluYWRvLiBTdSBub21icmUgc2UgbWFudGllbmUgcGFyYSByZWZlcmVuY2lhLicsXG4gICAgfSxcbiAgICBrbm93bGVkZ2VTZWN0aW9uOiB7XG4gICAgICB0aXRsZTogJ0Nvbm9jaW1pZW50bycsXG4gICAgICBrbm93bGVkZ2VUYWI6ICdCYXNlIGRlIGNvbm9jaW1pZW50b3MnLFxuICAgICAgaW5mb0xhYmVsOiAnQ2FyZ2EgbG9zIGFyY2hpdm9zIHF1ZSB0dSBhZ2VudGUgdXNhcsOhIGNvbW8gZnVlbnRlIHBhcmEgc3VzIHJlc3B1ZXN0YXMuJyxcbiAgICAgIHNlbGVjdEZpbGVUaXRsZTogJ1NFTEVDQ0lPTkFSIEFSQ0hJVk9TJyxcbiAgICAgIGF0dGFjaEZpbGVzOiAnQWRqdW50YXIgYXJjaGl2b3MnLFxuICAgICAgZHJvcFpvbmVUZXh0OiB7XG4gICAgICAgIDE6ICdDbGljIGFxdcOtIHBhcmEgY2FyZ2FyJyxcbiAgICAgICAgMjogJ28gYXJyYXN0cmEgbG9zIGFyY2hpdm9zJyxcbiAgICAgIH0sXG4gICAgICBpbmZvRmlsZVR5cGVzOiAnLm1kLCAucGRmLCAuZG9jLCAuZG9jeCwgLnR4dCwgLmNzdiwgLnBuZywgLmpwZywgLmpwZWcsIC54bHMsIC54bHN4ICAobcOheC4gdG90YWwgZGUgNU1CKScsXG4gICAgICBlcnJvcjoge1xuICAgICAgICB0aXRsZTogJ0FsZ3Vub3MgYXJjaGl2b3Mgbm8gc2UgcHVkaWVyb24gY2FyZ2FyJyxcbiAgICAgICAgbWF4RmlsZXNUaXRsZTogJ0hhcyBzdXBlcmFkbyBlbCBsw61taXRlIGRlIHRhbWHDsW8gdG90YWwnLFxuICAgICAgICBtYXhGaWxlc0Rlc2NyaXB0aW9uOlxuICAgICAgICAgICdTb2xvIHB1ZWRlcyBhZGp1bnRhciBhcmNoaXZvcyBoYXN0YSB1biB0b3RhbCBkZSA1IE1CLiBMb3Mgc2lndWllbnRlcyBhcmNoaXZvcyBubyBzZSBwdWRpZXJvbiBhZGp1bnRhcjonLFxuICAgICAgICBtYXhTaXplVGl0bGU6ICdTdXBlcmFzdGUgZWwgbMOtbWl0ZSBkZSBwZXNvIHBlcm1pdGlkbycsXG4gICAgICAgIG1heFNpemVEZXNjcmlwdGlvbjoge1xuICAgICAgICAgIDE6ICdTZSBhbGNhbnrDsyBlbCBsw61taXRlIG3DoXhpbW8gZGUgNSBNQi4nLFxuICAgICAgICAgIDI6ICdFc3RvcyBhcmNoaXZvcyBubyBzZSBjYXJnYXJvbiBwb3JxdWUgc3VwZXJhIGVsIGVzcGFjaW8gZGlzcG9uaWJsZTonLFxuICAgICAgICB9LFxuICAgICAgICBpbnZhbGlkRXh0ZW5zaW9uRGVzY3JpcHRpb246IHtcbiAgICAgICAgICAxOiAnU29sbyBzZSBhY2VwdGFuIGFyY2hpdm9zIGNvbiBsYXMgc2lndWllbnRlcyBleHRlbnNpb25lczogLm1kLCAucGRmLCAuZG9jLCAuZG9jeCwgLnR4dCwgLmNzdiwgLnBuZywgLmpwZywgLmpwZWcsIC54bHMsIC54bHN4JyxcbiAgICAgICAgICAyOiAnRXN0b3MgYXJjaGl2b3Mgbm8gc2UgY2FyZ2Fyb24gcG9ycXVlIHN1IGV4dGVuc2nDs24gbm8gZXN0w6EgcGVybWl0aWRhOicsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbW9yZUluZm86ICdNaXJhIGPDs21vIGZ1bmNpb25hIGFjw6EnLFxuICAgIH0sXG4gICAgYWNjZXNzaWJpbGl0eVNlY3Rpb246IHtcbiAgICAgIHRpdGxlVGFiOiAnQWNjZXNpYmlsaWRhZCcsXG4gICAgICB0aXRsZVNlY3Rpb246ICdBY2Nlc2liaWxpZGFkIGRlbCBhZ2VudGUnLFxuICAgICAgc3VidGl0bGVTZWN0aW9uOiAnRWxpZ2UgcXVpw6luIHB1ZWRlIHZlciB5IHVzYXIgZXN0ZSBhZ2VudGUgZW4gdHUgb3JnYW5pemFjacOzbi4nLFxuICAgICAgd2hvQ2FuQWNjZXNzOiAnwr9RdWnDqW4gcHVlZGUgdXNhciBlc3RlIGFnZW50ZT8nLFxuICAgICAgYWxsQ29tcGFueVRpdGxlOiAnUGFyYSB0b2RhIGxhIGNvbXBhw7HDrWEnLFxuICAgICAgYWxsQ29tcGFueURlc2NyaXB0aW9uOiAnVG9kb3MgbG9zIHVzdWFyaW9zIGRlIHR1IG9yZ2FuaXphY2nDs24gcG9kcsOhbiB2ZXIgeSB1c2FyIGVzdGUgYWdlbnRlLicsXG4gICAgICBjbGllbnRUaXRsZTogJ1BhcmEgY2xpZW50ZXMgZXNwZWPDrWZpY29zJyxcbiAgICAgIGNsaWVudERlc2NyaXB0aW9uOlxuICAgICAgICAnQXNvY2lhIGVzdGUgYWdlbnRlIGEgdW5vIG8gbcOhcyBjbGllbnRlcy4gVG9kb3MgbG9zIHVzdWFyaW9zIHBvZHLDoW4gdmVyIGNvbiBxdcOpIGNsaWVudGVzIGVzdMOhIHZpbmN1bGFkby4nLFxuICAgICAgb3duVGl0bGU6ICdTb2xvIHBhcmEgbWknLFxuICAgICAgb3duRGVzY3JpcHRpb246ICdFbCBhZ2VudGUgc2Vyw6EgcHJpdmFkbyB5IHNvbG8gdMO6IHBvZHLDoXMgdmVybG8geSB1c2FybG8uJyxcbiAgICAgIGNsaWVudHNTZWxlY3RlZDogJ0NsaWVudGVzIHNlbGVjY2lvbmFkb3M6JyxcbiAgICAgIHNlYXJjaEVycm9yOiAnwqFVcHMhIFR1dmltb3MgdW4gcHJvYmxlbWEgYWwgY2FyZ2FyIGxvcyBjbGllbnRlcy4gwr9QdWVkZXMgaW50ZW50YXJsbyBkZSBudWV2byBlbiB1biBtb21lbnRvPycsXG4gICAgICBzZWFyY2hFbXB0eTogJ8KhVXBzISBObyBlbmNvbnRyYW1vcyBjbGllbnRlcyBjb24gZXNlIG5vbWJyZS4gUHJ1ZWJhIHJlYWxpemFuZG8gb3RyYSBiw7pzcXVlZGEnLFxuICAgICAgc2VhcmNoSW5pdGlhbDogJ0NvbWllbnphIGEgZXNjcmliaXIgZWwgbm9tYnJlIGRlIHVuIGNsaWVudGUgcGFyYSBhc29jaWFybG8nLFxuICAgICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdCdXNjYXIgY2xpZW50ZScsXG4gICAgICBjbGllbnRJbmFjdGl2ZTogJ0VzdGUgY2xpZW50ZSBlc3TDoSBpbmFjdGl2by4gVGUgcmVjb21lbmRhbW9zIHF1aXRhcmxvIGRlIGxhIGxpc3RhLicsXG4gICAgICBjbGllbnREZWxldGVkVG9vbHRpcDogJ0VzdGUgY2xpZW50ZSBmdWUgZWxpbWluYWRvLiBUZSByZWNvbWVuZGFtb3MgcXVpdGFybG8gZGUgbGEgbGlzdGEuJyxcbiAgICAgIGNsaWVudERlbGV0ZWQ6ICdDbGllbnRlIGVsaW1pbmFkbycsXG4gICAgICBjbGllbnRzRXJyb3I6ICdSZXZpc2EgbG9zIGNsaWVudGVzIGFzb2NpYWRvcycsXG4gICAgfSxcbiAgICBwcm9jZXNzaW5nS25vd2xlZGdlOiB7XG4gICAgICBkZXNjcmlwdGlvbkNyZWF0ZTpcbiAgICAgICAgJ0VzdGFtb3MgY3JlYW5kbyBlbCBBZ2VudGUgeSBzdSBiYXNlIGRlIGNvbm9jaW1pZW50by4gRXN0byBwdWVkZSBsbGV2YXIgdW5vcyBtb21lbnRvcy4gUG9yIGZhdm9yIG5vIGNpZXJyZSBlc3RhIHZlbnRhbmEgaGFzdGEgcXVlIGVsIHByb2Nlc28gc2UgaGF5YSBmaW5hbGl6YWRvLicsXG4gICAgICBkZXNjcmlwdGlvblVwZGF0ZTpcbiAgICAgICAgJ0VzdGFtb3MgYWN0dWFsaXphbmRvIGVsIEFnZW50ZSB5IHN1IGJhc2UgZGUgY29ub2NpbWllbnRvLiBFc3RvIHB1ZWRlIGxsZXZhciB1bm9zIG1vbWVudG9zLiBQb3IgZmF2b3Igbm8gY2llcnJlIGVzdGEgdmVudGFuYSBoYXN0YSBxdWUgZWwgcHJvY2VzbyBzZSBoYXlhIGZpbmFsaXphZG8uJyxcbiAgICAgIGZpbGVSb3c6ICdBcmNoaXZvJyxcbiAgICAgIHN0YXR1c1JvdzogJ0VzdGFkbycsXG4gICAgICBwZW5kaW5nOiAnUGVuZGllbnRlJyxcbiAgICAgIHByb2Nlc3Npbmc6ICdQcm9jZXNhbmRvJyxcbiAgICAgIGZhaWxlZDogJ0ZhbGxvJyxcbiAgICAgIGRvbmU6ICdDb21wbGV0YWRvJyxcbiAgICAgIGxvYWRpbmdGaWxlczogJ0NhcmdhbmRvIGFyY2hpdm9zLi4uJyxcbiAgICAgIGVycm9yOiB7fSxcbiAgICB9LFxuICAgIGRlbGV0ZUFnZW50TW9kYWw6IHtcbiAgICAgIHRpdGxlOiAnwr9EZXNlYXMgZWxpbWluYXIgZXN0ZSBhZ2VudGU/JyxcbiAgICAgIGZpcnN0UGFydDogJ0VzdMOhcyBwb3IgZWxpbWluYXIgJyxcbiAgICAgIHNlY29uZFBhcnQ6ICdFc3RhIGFjY2nDs24gbm8gc2UgcHVlZGUgZGVzaGFjZXIuJyxcbiAgICAgIGNhbmNlbDogJ0NhbmNlbGFyJyxcbiAgICAgIGRlbGV0ZTogJ0VsaW1pbmFyJyxcbiAgICB9LFxuICB9LFxuICBbU0VDVElPTlMucHJvamVjdFNlbGVjdG9yXToge1xuICAgIC4uLmdlbmVyaWNTZWN0aW9uLFxuICAgIHByb2plY3RTZWxlY3Rvcjoge1xuICAgICAgdGl0bGU6ICfCv0VuIHF1w6kgcHJveWVjdG8gdGUgcHVlZG8gYXNpc3Rpcj8nLFxuICAgICAgaGVsbG86IHtcbiAgICAgICAgdGl0bGU6ICdIb2xhIHt7bmFtZX19IPCfkYsnLFxuICAgICAgICBzdWJ0aXRsZTogJ8K/Q29uIHF1w6kgcHJveWVjdG8gcHVlZG8gYXl1ZGFydGU/JyxcbiAgICAgIH0sXG4gICAgICBzdWJ0aXRsZTogJ1NlbGVjY2lvbmEgZWwgcHJveWVjdG8gcGFyYSBxdWUgTUFJQSB0ZSByZXNwb25kYSBlbiBiYXNlIGEgdW4gY29udGV4dG8uJyxcbiAgICAgIGxhYmVsUHJvamVjdDogJ1NlbGVjY2lvbmEgdW4gcHJveWVjdG8nLFxuICAgICAgcGxhY2Vob2xkZXI6ICdCdXNjYXIgdW4gcHJveWVjdG8gcG9yIG5vbWJyZScsXG4gICAgICBjaGFuZ2VQcm9qZWN0OiAnQ2FtYmlhciBkZSBwcm95ZWN0bycsXG4gICAgICByZWNlbnRQcm9qZWN0czogJ1JlY2llbnRlcycsXG4gICAgICBzZWFyY2hpbmdQcm9qZWN0czogJ0J1c2NhbmRvIHR1cyBwcm95ZWN0b3MuLi4nLFxuICAgICAgZXJyb3JNZXNzYWdlOiAnwqFVcHMhIFR1dmltb3MgdW4gcHJvYmxlbWEgYWwgY2FyZ2FyIGxvcyBwcm95ZWN0b3MuIFBvciBmYXZvciwgaW50ZW50YSBkZSBudWV2byBlbiB1bm9zIG1pbnV0b3MuJyxcbiAgICAgIGVtcHR5UmVjZW50UHJvamVjdHM6XG4gICAgICAgICdObyB0aWVuZXMgcHJveWVjdG9zIHJlY2llbnRlcy4gRXNjcmliZSBlbCBub21icmUgZGUgdW4gcHJveWVjdG8gZW4gZWwgYnVzY2Fkb3IgcGFyYSBlbmNvbnRyYXJsby4nLFxuICAgICAgZW1wdHlTdGF0ZTogJ8KhVXBzISBObyBlbmNvbnRyYW1vcyBwcm95ZWN0b3MgY29uIGVzZSBub21icmUuIFByb2LDoSByZWFsaXphbmRvIG90cmEgYsO6c3F1ZWRhLicsXG4gICAgICB3aXRob3V0Q2xpZW50OiAnU2luIGNsaWVudGUnLFxuICAgICAgd2l0aG91dFRpdGxlOiAnU2luIHTDrXR1bG8nLFxuICAgIH0sXG4gIH0sXG4gIFtTRUNUSU9OUy5jbGllbnRTZWxlY3Rvcl06IHtcbiAgICAuLi5nZW5lcmljU2VjdGlvbixcbiAgICBjbGllbnRTZWxlY3Rvcjoge1xuICAgICAgdGl0bGU6ICfCv0VuIHF1w6kgY2xpZW50ZSB0ZSBwdWVkbyBhc2lzdGlyPycsXG4gICAgICBoZWxsbzoge1xuICAgICAgICB0aXRsZTogJ0hvbGEge3tuYW1lfX0g8J+RiycsXG4gICAgICAgIHN1YnRpdGxlOiAnwr9Db24gcXXDqSBjbGllbnRlIHB1ZWRvIGF5dWRhcnRlPycsXG4gICAgICB9LFxuICAgICAgc3VidGl0bGU6ICdTZWxlY2Npb25hIGVsIGNsaWVudGUgcGFyYSBxdWUgTUFJQSB0ZSByZXNwb25kYSBlbiBiYXNlIGEgdW4gY29udGV4dG8uJyxcbiAgICAgIGxhYmVsQ2xpZW50OiAnU2VsZWNjaW9uYSB1biBjbGllbnRlJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnQnVzY2FyIGNsaWVudGUgcG9yIHN1IG5vbWJyZScsXG4gICAgICBjaGFuZ2VDbGllbnQ6ICdDYW1iaWFyIGRlIGNsaWVudGUnLFxuICAgICAgcmVjZW50Q2xpZW50czogJ1JlY2llbnRlcycsXG4gICAgICBzZWFyY2hpbmdDbGllbnRzOiAnQnVzY2FuZG8gdHVzIGNsaWVudGVzLi4uJyxcbiAgICAgIGVycm9yTWVzc2FnZTogJ1R1dmltb3MgdW4gcHJvYmxlbWEgYWwgY2FyZ2FyIGxvcyBjbGllbnRlcy4gUG9yIGZhdm9yLCBpbnRlbnRhIGRlIG51ZXZvIGVuIHVub3MgbWludXRvcy4nLFxuICAgICAgZW1wdHlSZWNlbnRDbGllbnRzOlxuICAgICAgICAnTm8gdGllbmVzIGNsaWVudGVzIHJlY2llbnRlcy4gRXNjcmliZSBlbCBub21icmUgZGUgdW4gY2xpZW50ZSBlbiBlbCBidXNjYWRvciBwYXJhIGVuY29udHJhcmxvLicsXG4gICAgICBlbXB0eVN0YXRlOiAnVXBzISBObyBlbmNvbnRyYW1vcyBjbGllbnRlcyBjb24gZXNlIG5vbWJyZS4gUHJvYsOhIHJlYWxpemFuZG8gb3RyYSBiw7pzcXVlZGEuJyxcbiAgICAgIHByb2plY3Q6ICdwcm95ZWN0bycsXG4gICAgICBwcm9qZWN0czogJ3Byb3llY3RvcycsXG4gICAgfSxcbiAgfSxcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBU0EsUUFBUSxRQUFRLHdCQUF3QjtBQUNqRCxTQUFTQyx3QkFBd0IsUUFBUSxzQ0FBc0M7QUFFL0UsSUFBTUMsT0FBTyxHQUFHO0VBQ2RDLEtBQUssRUFBRSxRQUFRO0VBQ2ZDLFFBQVEsRUFBRSxnQkFBZ0I7RUFDMUJDLFNBQVMsRUFBRSxNQUFNO0VBQ2pCQyxNQUFNLEVBQUUsVUFBVTtFQUNsQkMsUUFBUSxFQUFFLFVBQVU7RUFDcEJDLE1BQU0sRUFBRSxrQkFBa0I7RUFDMUJDLElBQUksRUFBRSxRQUFRO0VBQ2RDLE1BQU0sRUFBRSxTQUFTO0VBQ2pCQyxLQUFLLEVBQUUsVUFBVTtFQUNqQkMsYUFBYSxFQUFFLHNCQUFzQjtFQUNyQ0MsSUFBSSxFQUFFLFNBQVM7RUFDZkMsTUFBTSxFQUFFO0FBQ1YsQ0FBQztBQUVELElBQU1DLEtBQUssR0FBRztFQUNaQyxLQUFLLEVBQUUseUJBQXlCO0VBQ2hDQyxXQUFXLEVBQUUsc0dBQXNHO0VBQ25IQyxRQUFRLEVBQUU7QUFDWixDQUFDO0FBRUQsSUFBTUMsY0FBYyxHQUFHO0VBQ3JCSixLQUFLLEVBQUxBLEtBQUs7RUFDTGIsT0FBTyxFQUFQQTtBQUNGLENBQUM7QUFFRCxJQUFNa0IscUJBQXFCLEdBQUc7RUFDNUJDLE1BQU0sRUFBRSxTQUFTO0VBQ2pCQyxLQUFLLEVBQUUsa0JBQWtCO0VBQ3pCQyxPQUFPLEVBQUUsK0JBQStCO0VBRXhDQyxRQUFRLEVBQUU7SUFDUkMsUUFBUSxFQUFFLFdBQVc7SUFDckJDLFVBQVUsRUFBRSxjQUFjO0lBQzFCQyxPQUFPLEVBQUU7RUFDWCxDQUFDO0VBRURDLE1BQU0sRUFBRTtJQUNOQyxjQUFjLEVBQUUsa0JBQWtCO0lBQ2xDQyxtQkFBbUIsRUFBRSxzQkFBc0I7SUFDM0N0QixNQUFNLEVBQUUsY0FBYztJQUN0QnVCLGVBQWUsRUFBRSx1QkFBdUI7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RSxZQUFZO0lBQ2xCQyxZQUFZLEVBQUUsc0JBQXNCO0lBQ3BDM08sS0FBSyxFQUFFLENBQUM7RUFDVixDQUFDO0VBQ0Q0TyxnQkFBZ0IsRUFBRTtJQUNoQjNPLEtBQUssRUFBRSwrQkFBK0I7SUFDdEN5RyxTQUFTLEVBQUUscUJBQXFCO0lBQ2hDQyxVQUFVLEVBQUUsbUNBQW1DO0lBQy9DNUcsTUFBTSxFQUFFLFVBQVU7SUFDbEIsVUFBUTtFQUNWO0FBQUMsS0FFRmQsUUFBUSxDQUFDNFAsZUFBZSxFQUFBN0wsYUFBQSxDQUFBQSxhQUFBLEtBQ3BCNUMsY0FBYztFQUNqQnlPLGVBQWUsRUFBRTtJQUNmNU8sS0FBSyxFQUFFLG9DQUFvQztJQUMzQ00sS0FBSyxFQUFFO01BQ0xOLEtBQUssRUFBRSxrQkFBa0I7TUFDekJ5QyxRQUFRLEVBQUU7SUFDWixDQUFDO0lBQ0RBLFFBQVEsRUFBRSx5RUFBeUU7SUFDbkZvTSxZQUFZLEVBQUUsd0JBQXdCO0lBQ3RDbEssV0FBVyxFQUFFLCtCQUErQjtJQUM1Q0ksYUFBYSxFQUFFLHFCQUFxQjtJQUNwQytKLGNBQWMsRUFBRSxXQUFXO0lBQzNCQyxpQkFBaUIsRUFBRSwyQkFBMkI7SUFDOUNDLFlBQVksRUFBRSxpR0FBaUc7SUFDL0dDLG1CQUFtQixFQUNqQixrR0FBa0c7SUFDcEdDLFVBQVUsRUFBRSxnRkFBZ0Y7SUFDNUZDLGFBQWEsRUFBRSxhQUFhO0lBQzVCQyxZQUFZLEVBQUU7RUFDaEI7QUFBQyxLQUVGcFEsUUFBUSxDQUFDaUssY0FBYyxFQUFBbEcsYUFBQSxDQUFBQSxhQUFBLEtBQ25CNUMsY0FBYztFQUNqQjhJLGNBQWMsRUFBRTtJQUNkakosS0FBSyxFQUFFLG1DQUFtQztJQUMxQ00sS0FBSyxFQUFFO01BQ0xOLEtBQUssRUFBRSxrQkFBa0I7TUFDekJ5QyxRQUFRLEVBQUU7SUFDWixDQUFDO0lBQ0RBLFFBQVEsRUFBRSx3RUFBd0U7SUFDbEY0TSxXQUFXLEVBQUUsdUJBQXVCO0lBQ3BDMUssV0FBVyxFQUFFLDhCQUE4QjtJQUMzQzJLLFlBQVksRUFBRSxvQkFBb0I7SUFDbENDLGFBQWEsRUFBRSxXQUFXO0lBQzFCQyxnQkFBZ0IsRUFBRSwwQkFBMEI7SUFDNUNSLFlBQVksRUFBRSwwRkFBMEY7SUFDeEdTLGtCQUFrQixFQUNoQixnR0FBZ0c7SUFDbEdQLFVBQVUsRUFBRSw4RUFBOEU7SUFDMUZoRyxPQUFPLEVBQUUsVUFBVTtJQUNuQm5ILFFBQVEsRUFBRTtFQUNaO0FBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
408
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRUNUSU9OUyIsIlByb2plY3RTdW1tYXJ5Q29uZmlnS2V5cyIsImdsb2JhbHMiLCJjbG9zZSIsImhvd1dvcmtzIiwiYnJhbmROYW1lIiwiZXhwYW5kIiwiY29sbGFwc2UiLCJnb0JhY2siLCJjb3B5IiwiY29waWVkIiwic2F2ZWQiLCJzZWxlY3RQcm9qZWN0Iiwic2F2ZSIsImNhbmNlbCIsImVycm9yIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsInRyeUFnYWluIiwiZ2VuZXJpY1NlY3Rpb24iLCJwcm9qZWN0U3VtbWFyeVNlY3Rpb24iLCJyZXN1bWUiLCJoZWxsbyIsIndlbGNvbWUiLCJmZWVkYmFjayIsInRodW1ic1VwIiwidGh1bWJzRG93biIsInNvdXJjZXMiLCJjb25maWciLCJwcm9qZWN0U3VtbWFyeSIsInByb2plY3RTdW1tYXJ5VGl0bGUiLCJzZWxlY3RlZFByb2plY3QiLCJjb25maWd1cmVSZXN1bWUiLCJnZW5lcmF0aW5nUmVzdW1lIiwiZ2VuZXJhdGVSZXN1bWUiLCJoaWRlQ29uZmlnIiwiY29uZmlndXJlU2V0dGluZ3MiLCJfZGVmaW5lUHJvcGVydHkiLCJHRU5FUkFMX1NUQVRVUyIsIklOQ09NRV9DT1NUUyIsIlRJTUVfSE9VUlMiLCJUQVNLU19QUk9HUkVTUyIsIlJFV09SS1MiLCJob21lTWVudSIsImZhcSIsImVtcHR5IiwiY2F0ZWdvcmllcyIsInByb2plY3RzIiwidGFza3MiLCJob3VycyIsInVuZGVmaW5lZCIsImNyZWF0ZWRCeSIsImNyZWF0ZWRCeVRvb2x0aXAiLCJjcmVhdGVkQnlUb29sdGlwRGVsZXRlZCIsInRpdGxlXzEiLCJ0aXRsZV8yIiwidGl0bGVfMyIsInN1YnRpdGxlIiwidGl0bGVQbSIsInN1YnRpdGxlUG0iLCJub0FnZW50cyIsImRlc2NyaXB0aW9uQ3JlYXRlIiwiY3JlYXRlQWdlbnQiLCJfb2JqZWN0U3ByZWFkIiwiY2hhdEFJIiwiYnV0dG9uIiwibmV3Q2hhdCIsImhpc3RvcnkiLCJ0b29sdGlwIiwiaXRlbSIsImRhdGUiLCJtZW51IiwicmVuYW1lIiwibG9hZGluZ01vcmUiLCJvbmJvYXJkaW5nIiwibWFpYSIsImFnZW50Q3VzdG9tIiwiaG93Q3JlYXRlQWdlbnQiLCJob3dJdFdvcmtzIiwicWEiLCJpdGVtcyIsInJlbnRhYmlsaWRhZF9wcm95ZWN0byIsImF2YW5jZV9wcm95ZWN0byIsInRhcmVhc19wcm95ZWN0byIsImNoYXQiLCJnZW5lcmF0aW5nIiwiZ2VuZXJhdGluZ0F0dGFjaG1lbnQiLCJnZW5lcmF0aW5nRGVlcFNlYXJjaCIsImdlbmVyYXRpbmdXZWJTZWFyY2giLCJ3cml0aW5nIiwiZm9vdGVyIiwicGxhY2Vob2xkZXIiLCJlcnJvckFjY2Vzc0RlbmllZCIsImNoYW5nZVByb2plY3QiLCJzZWFyY2hXZWIiLCJkZWVwU2VhcmNoIiwiYXR0YWNoRmlsZSIsInNlbmQiLCJsaW1pdEZpbGVzIiwic3RvcCIsImNhbmNlbGxlZCIsImF0dGFjaG1lbnRQcmV2aWV3TW9kYWwiLCJsb2FkaW5nIiwidW5zdXBwb3J0ZWRGaWxlTWVzc2FnZSIsInR5cGVMYWJlbCIsInVua25vd24iLCJzaXplTGFiZWwiLCJleGNlbCIsInNoZWV0U2VsZWN0b3JMYWJlbCIsImxvYWRFcnJvciIsImZpbGVSZWFkRXJyb3IiLCJzaGVldExvYWRFcnJvciIsImRlbGV0ZVF1ZXN0aW9uTW9kYWwiLCJmaXJzdFBhcnQiLCJzZWNvbmRQYXJ0IiwiZWRpdFF1ZXN0aW9uTW9kYWwiLCJuZXdOYW1lIiwibWF4TGVuZ3RoIiwibW9kYWxGaWxlRXhjZWVkcyIsImxpbWl0RmlsZXNUaXRsZSIsImxpbWl0U2l6ZVRpdGxlIiwibGltaXRGaWxlc0Rlc2NyaXB0aW9uIiwibGltaXRTaXplRGVzY3JpcHRpb24iLCJhY2NlcHQiLCJsaW1pdCIsInNvdXJjZXNJbmZvcm1hdGlvbk1vZGFsIiwiYWdlbnRzIiwibmV3QWdlbnQiLCJlZGl0IiwiYWRkRmF2b3JpdGUiLCJyZW1vdmVGYXZvcml0ZSIsImZhdm9yaXRlVG9nZ2xlZEFkZGVkU3VjY2VzcyIsImZhdm9yaXRlVG9nZ2xlZFJlbW92ZWRTdWNjZXNzIiwiZmF2b3JpdGVUb2dnbGVkRXJyb3IiLCJmYXZvcml0ZVRvZ2dsZWRSZW1vdmVkRXJyb3IiLCJtYWlhSW50cm9kdWN0aW9uIiwiY29udmVyc2F0aW9ucyIsImVtcHR5TGFiZWwiLCJzbmFja2JhciIsImRlbGV0ZUNoYXQiLCJzdWNjZXNzIiwicmVuYW1lZENoYXQiLCJsb2FkTW9yZUFnZW50cyIsImFwcHJvdmFsQm94IiwiYWN0aW9ucyIsImNyZWF0ZV90YXNrIiwiY3JlYXRlX3Rhc2tzX2JhdGNoIiwiYXBwcm92ZSIsImRlbnkiLCJzdGF0dXMiLCJhcHByb3ZlZCIsImRlbmllZCIsImNoaXBMbG0iLCJjbGllbnRTZWxlY3RvciIsInByb2plY3QiLCJhYm1BZ2VudCIsImxlZ2VuZERlbGV0ZWRBZ2VudCIsImxlZ2VuZFByb2plY3REZWxldGVkIiwibGVnZW5kTm9BY2Nlc3MiLCJsZWdlbmROb1Blcm1pc3Npb25zIiwiYWRkQWdlbnQiLCJlZGl0QWdlbnQiLCJkZWxldGVBZ2VudCIsInNlbmRGZWVkYmFjayIsInNhdmVDaGFuZ2VzIiwiY3JlYXRlQWdlbnRMYWJlbEJ1dHRvbiIsImNvbmZpcm1BZ2VudFVwZGF0ZWRXaXRoRmlsZXNFcnJvciIsImNvbmZpcm1BZ2VudENyZWF0ZWQiLCJjb25maXJtQWdlbnREZWxldGVkIiwiY29uZmlybUFnZW50V2l0aEZpbGVzRXJyb3IiLCJjb25maXJtQWdlbnRVcGRhdGVkIiwiY29uZmlybUNsb3NlQ3JlYXRlQWdlbnQiLCJjb25maXJtQ2xvc2VFZGl0QWdlbnQiLCJjb25maXJtUmVsb2FkQnJvd3NlciIsImVycm9yQWdlbnRDcmVhdGVkIiwiYXR0YWNobWVudENhcmQiLCJkb3dubG9hZCIsImdlbmVyYWxTZWN0aW9uIiwiZ2VuZXJhbFNldHRpbmdzIiwicmVxdWlyZWRGaWVsZHNMYWJlbCIsImluZm9MYWJlbCIsImJhc2ljU2V0dGluZ3MiLCJzZWxlY3RFbW9qaSIsIm5hbWUiLCJuYW1lUGxhY2Vob2xkZXIiLCJiZWhhdmlvclNldHRpbmdzIiwiaW5pdGlhbFByb21wdCIsImluaXRpYWxQcm9tcHRQbGFjZWhvbGRlciIsIm1vZGVsQWlMYWJlbCIsImlucHV0UGxhY2Vob2xkZXJUaXRsZSIsImlucHV0UGxhY2Vob2xkZXIiLCJpbnRyb2R1Y3Rpb24iLCJpbnRyb2R1Y3Rpb25QbGFjZWhvbGRlciIsIm1heENhcmFjdGVyTmFtZSIsIm1heENhcmFjdGVySW5pdGlhbFByb21wdCIsIm1heElucHV0UGxhY2Vob2xkZXIiLCJtYXhDYXJhY3RlckludHJvZHVjdGlvbiIsImhvd1RvV3JpdGVQcm9tcHQiLCJ3aGF0SXNNb2RlbEFpVGl0bGUiLCJ3aGF0SXNNb2RlbEFpIiwia25vd2xlZGdlU2VjdGlvbiIsImtub3dsZWRnZVRhYiIsInNlbGVjdEZpbGVUaXRsZSIsImF0dGFjaEZpbGVzIiwiZHJvcFpvbmVUZXh0IiwiaW5mb0ZpbGVUeXBlcyIsIm1heEZpbGVzVGl0bGUiLCJtYXhGaWxlc0Rlc2NyaXB0aW9uIiwibWF4U2l6ZVRpdGxlIiwibWF4U2l6ZURlc2NyaXB0aW9uIiwiaW52YWxpZEV4dGVuc2lvbkRlc2NyaXB0aW9uIiwibW9yZUluZm8iLCJhY2Nlc3NpYmlsaXR5U2VjdGlvbiIsInRpdGxlVGFiIiwidGl0bGVTZWN0aW9uIiwic3VidGl0bGVTZWN0aW9uIiwid2hvQ2FuQWNjZXNzIiwiYWxsQ29tcGFueVRpdGxlIiwiYWxsQ29tcGFueURlc2NyaXB0aW9uIiwiY2xpZW50VGl0bGUiLCJjbGllbnREZXNjcmlwdGlvbiIsIm93blRpdGxlIiwib3duRGVzY3JpcHRpb24iLCJjbGllbnRzU2VsZWN0ZWQiLCJzZWFyY2hFcnJvciIsInNlYXJjaEVtcHR5Iiwic2VhcmNoSW5pdGlhbCIsInNlYXJjaFBsYWNlaG9sZGVyIiwiY2xpZW50SW5hY3RpdmUiLCJjbGllbnREZWxldGVkVG9vbHRpcCIsImNsaWVudERlbGV0ZWQiLCJjbGllbnRzRXJyb3IiLCJwcm9jZXNzaW5nS25vd2xlZGdlIiwiZGVzY3JpcHRpb25VcGRhdGUiLCJmaWxlUm93Iiwic3RhdHVzUm93IiwicGVuZGluZyIsInByb2Nlc3NpbmciLCJmYWlsZWQiLCJkb25lIiwibG9hZGluZ0ZpbGVzIiwiZGVsZXRlQWdlbnRNb2RhbCIsInByb2plY3RTZWxlY3RvciIsImxhYmVsUHJvamVjdCIsInJlY2VudFByb2plY3RzIiwic2VhcmNoaW5nUHJvamVjdHMiLCJlcnJvck1lc3NhZ2UiLCJlbXB0eVJlY2VudFByb2plY3RzIiwiZW1wdHlTdGF0ZSIsIndpdGhvdXRDbGllbnQiLCJ3aXRob3V0VGl0bGUiLCJsYWJlbENsaWVudCIsImNoYW5nZUNsaWVudCIsInJlY2VudENsaWVudHMiLCJzZWFyY2hpbmdDbGllbnRzIiwiZW1wdHlSZWNlbnRDbGllbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xhbmcvZXMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgUHJvamVjdFN1bW1hcnlDb25maWdLZXlzIH0gZnJvbSAnLi4vLi4vdHlwZXMvUHJvamVjdFN1bW1hcnlDb25maWdLZXlzJ1xuXG5jb25zdCBnbG9iYWxzID0ge1xuICBjbG9zZTogJ0NlcnJhcicsXG4gIGhvd1dvcmtzOiAnQ8OzbW8gZnVuY2lvbmE/JyxcbiAgYnJhbmROYW1lOiAnTUFJQScsXG4gIGV4cGFuZDogJ0V4cGFuZGlyJyxcbiAgY29sbGFwc2U6ICdDb2xhcHNhcicsXG4gIGdvQmFjazogJ1ZvbHZlciBhbCBpbmljaW8nLFxuICBjb3B5OiAnQ29waWFyJyxcbiAgY29waWVkOiAnQ29waWFkbycsXG4gIHNhdmVkOiAnR3VhcmRhZG8nLFxuICBzZWxlY3RQcm9qZWN0OiAnU2VsZWNjaW9uYXIgcHJveWVjdG8nLFxuICBzYXZlOiAnR3VhcmRhcicsXG4gIGNhbmNlbDogJ0NhbmNlbGFyJyxcbn1cblxuY29uc3QgZXJyb3IgPSB7XG4gIHRpdGxlOiAnSGEgb2N1cnJpZG8gdW4gcHJvYmxlbWEnLFxuICBkZXNjcmlwdGlvbjogJ0VuIGVzdG9zIG1vbWVudG9zIGVzdGFtb3MgZXhwZXJpbWVudGFuZG8gYWxndW5vcyBpbmNvbnZlbmllbnRlcywgcG9yIGZhdm9yLCBpbnRlbnRlIGVuIHVub3MgbWludXRvcy4nLFxuICB0cnlBZ2FpbjogJ1ZvbHZlciBhIGludGVudGFyJyxcbn1cblxuY29uc3QgZ2VuZXJpY1NlY3Rpb24gPSB7XG4gIGVycm9yLFxuICBnbG9iYWxzLFxufVxuXG5jb25zdCBwcm9qZWN0U3VtbWFyeVNlY3Rpb24gPSB7XG4gIHJlc3VtZTogJ1Jlc3VtaXInLFxuICBoZWxsbzogJ8KhSG9sYSwge3tuYW1lfX0hJyxcbiAgd2VsY29tZTogJ1NveSBNQUlBLCB0dSBhc2lzdGVudGUgZW4gQ09SJyxcblxuICBmZWVkYmFjazoge1xuICAgIHRodW1ic1VwOiAnTWUgc2lydmnDsycsXG4gICAgdGh1bWJzRG93bjogJ05vIG1lIHNpcnZpw7MnLFxuICAgIHNvdXJjZXM6ICdGdWVudGVzJyxcbiAgfSxcblxuICBjb25maWc6IHtcbiAgICBwcm9qZWN0U3VtbWFyeTogJ1Jlc3VtaXIgcHJveWVjdG8nLFxuICAgIHByb2plY3RTdW1tYXJ5VGl0bGU6ICdSZXN1bWVuIGRlIHByb3llY3RvcycsXG4gICAgZ29CYWNrOiAnVm9sdmVyIGF0csOhcycsXG4gICAgc2VsZWN0ZWRQcm9qZWN0OiAnUHJveWVjdG8gc2VsZWNjaW9uYWRvJyxcbiAgICBzZWxlY3RQcm9qZWN0OiAnU2VsZWNjaW9uYXIgcHJveWVjdG8nLFxuICAgIGNvbmZpZ3VyZVJlc3VtZTogJ0NvbmZpZ3VyYWNpw7NuIGF2YW56YWRhJyxcbiAgICBnZW5lcmF0aW5nUmVzdW1lOiAnR2VuZXJhbmRvIHJlc3VtZW4nLFxuICAgIGdlbmVyYXRlUmVzdW1lOiAnR2VuZXJhcicsXG4gICAgaGlkZUNvbmZpZzogJ09jdWx0YXIgY29uZmlndXJhY2nDs24nLFxuICB9LFxuXG4gIGNvbmZpZ3VyZVNldHRpbmdzOiB7XG4gICAgW1Byb2plY3RTdW1tYXJ5Q29uZmlnS2V5cy5HRU5FUkFMX1NUQVRVU106ICdGZWNoYXMgeSBkZWFkbGluZXMnLFxuICAgIFtQcm9qZWN0U3VtbWFyeUNvbmZpZ0tleXMuSU5DT01FX0NPU1RTXTogJ1JlbnRhYmlsaWRhZCcsXG4gICAgW1Byb2plY3RTdW1tYXJ5Q29uZmlnS2V5cy5USU1FX0hPVVJTXTogJ0VzdGltYWNpw7NuIGRlIGhvcmFzIHkgY29uc3VtbycsXG4gICAgW1Byb2plY3RTdW1tYXJ5Q29uZmlnS2V5cy5UQVNLU19QUk9HUkVTU106ICdUYXJlYXMgeSBhdmFuY2VzJyxcbiAgICBbUHJvamVjdFN1bW1hcnlDb25maWdLZXlzLlJFV09SS1NdOiAnUmV0cmFiYWpvcycsXG4gIH0sXG59XG5cbmNvbnN0IGhvbWVNZW51ID0ge1xuICBwcm9qZWN0U3VtbWFyeToge1xuICAgIHRpdGxlOiAnUmVzdW1lbiBkZWwgcHJveWVjdG8nLFxuICAgIGRlc2NyaXB0aW9uOiAnRWxhYm9yYSBpbmZvcm1lcyBjb24gQUkgYmFzYWRvIGVuIHR1IHByb3llY3RvJyxcbiAgfSxcbiAgZmFxOiB7XG4gICAgdGl0bGU6ICdQcmVndW50YXMgZnJlY3VlbnRlcycsXG4gICAgZW1wdHk6ICdObyBoYXkgcHJlZ3VudGFzIGZyZWN1ZW50ZXMnLFxuICAgIGVycm9yOiAnwqFVcHMhIFR1dmltb3MgdW4gcHJvYmxlbWEgYWwgY2FyZ2FyIGxhcyBwcmVndW50YXMgZnJlY3VlbnRlcy4gUG9yIGZhdm9yLCBpbnRlbnRhIGRlIG51ZXZvIGVuIHVub3MgbWludXRvcy4nLFxuICAgIGNhdGVnb3JpZXM6IHtcbiAgICAgIHByb2plY3RzOiAnUHJveWVjdG8nLFxuICAgICAgdGFza3M6ICdUYXJlYXMnLFxuICAgICAgaG91cnM6ICdIb3JhcycsXG4gICAgICB1bmRlZmluZWQ6ICdTaW4gY2F0ZWdvcsOtYScsXG4gICAgfSxcbiAgfSxcbiAgY3JlYXRlZEJ5OiAncG9yJyxcbiAgY3JlYXRlZEJ5VG9vbHRpcDogJ1VzdWFyaW8gY3JlYWRvciBkZWwgYWdlbnRlJyxcbiAgY3JlYXRlZEJ5VG9vbHRpcERlbGV0ZWQ6ICdVc3VhcmlvIGVsaW1pbmFkby4gU3Ugbm9tYnJlIHNlIG1hbnRpZW5lIHBhcmEgcmVmZXJlbmNpYS4nLFxuICBoZWxsbzoge1xuICAgIHRpdGxlOiAnwqFMaXN0byEgWWEgZXN0b3kgdXNhbmRvIGVsIHByb3llY3RvJyxcbiAgICB0aXRsZV8xOiAnQW50aWNpcGEgZGVzdsOtb3MuIEFuYWxpY2Vtb3MgZXN0ZSBwcm95ZWN0by4nLFxuICAgIHRpdGxlXzI6ICfCv1F1w6kgcXVpZXJlcyBxdWUgYW5hbGljZW1vcz8gwr9Ib3JhcywgZXN0aW1hY2lvbmVzLCByZXRyYWJham9zPywgwqF0dSBlbGlnZXMhJyxcbiAgICB0aXRsZV8zOiAnUmV2aXNlbW9zIGVsIGF2YW5jZSBkZSBlc3RlIHByb3llY3RvLicsXG4gICAgc3VidGl0bGU6ICdQYXJhIGVtcGV6YXIsIHRlIHB1ZWRvIGF5dWRhciBjb24gZXN0YXMgb3BjaW9uZXMuIE8gc2kgbm8sIMKhZXNjcsOtYmVtZSBkaXJlY3RhbWVudGUgdHUgY29uc3VsdGEhJyxcbiAgICB0aXRsZVBtOiAnwqFIb2xhLCB7e25hbWV9fSEgU295IHt7YWdlbnR9fSwgdHUgYXNpc3RlbnRlLicsXG4gICAgc3VidGl0bGVQbTpcbiAgICAgICdQYXJhIGRhcnRlIHJlc3B1ZXN0YXMgcHJlY2lzYXMsIHByaW1lcm8gbmVjZXNpdG8gc2FiZXIgc29icmUgcXXDqSBwcm95ZWN0byB2YW1vcyBhIGNvbnZlcnNhci4gwr9DdcOhbCBlbGlnZXM/JyxcbiAgfSxcbiAgbm9BZ2VudHM6IHtcbiAgICB0aXRsZTogJ1RvZGF2w61hIG5vIGhheSBhZ2VudGVzIGNyZWFkb3MgZW4gdHUgZW1wcmVzYScsXG4gICAgZGVzY3JpcHRpb25DcmVhdGU6XG4gICAgICAnRXN0YSBzZWNjacOzbiBzZSBoYWJpbGl0YXLDoSBjdWFuZG8gY29uZmlndXJlcyB0dSBwcmltZXIgYWdlbnRlLiBJbmljaWEgbGEgY29uZmlndXJhY2nDs24gZGVzZGUgZWwgYm90w7NuIGRlIGFiYWpvLicsXG4gICAgZGVzY3JpcHRpb246ICdDdWFuZG8gbGEgcGVyc29uYSBjb24gcGVybWlzb3MgcGFyYSBjcmVhcmxvcyBsb3MgY29uZmlndXJlLCB2YXMgYSBwb2RlciBhY2NlZGVyIGRlc2RlIGFjw6EuJyxcbiAgICBjcmVhdGVBZ2VudDogJ0NyZWFyIGFnZW50ZScsXG4gIH0sXG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgW1NFQ1RJT05TLnByb2plY3RTdW1tYXJ5XToge1xuICAgIC4uLmdlbmVyaWNTZWN0aW9uLFxuICAgIC4uLnByb2plY3RTdW1tYXJ5U2VjdGlvbixcbiAgfSxcbiAgW1NFQ1RJT05TLmNoYXRBSV06IHtcbiAgICAuLi5nZW5lcmljU2VjdGlvbixcbiAgICAuLi5wcm9qZWN0U3VtbWFyeVNlY3Rpb24sXG4gICAgaG9tZU1lbnUsXG5cbiAgICBidXR0b246ICdJQScsXG4gICAgdGl0bGU6ICfCoUhvbGEsIHt7bmFtZX19IScsXG4gICAgZGVzY3JpcHRpb246ICdTb3kgTUFJQSB0dSBhc2lzdGVudGUgeSBlc3RveSBhcXXDrSBwYXJhIGF5dWRhcnRlIGNvbiB0dXMgY29uc3VsdGFzLicsXG4gICAgbmV3Q2hhdDogJ051ZXZvIGNoYXQnLFxuICAgIGhpc3Rvcnk6IHtcbiAgICAgIHRvb2x0aXA6ICdIaXN0b3JpYWwnLFxuICAgICAgdGl0bGU6ICdIaXN0b3JpYWwgdmFjw61vJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnTm8gc2UgaGFuIGVuY29udHJhZG8gY29udmVyc2FjaW9uZXMnLFxuICAgICAgaXRlbToge1xuICAgICAgICBkYXRlOiAnw5psdGltYSBhY3R1YWxpemFjacOzbiB7e2RhdGV9fScsXG4gICAgICB9LFxuICAgICAgbWVudToge1xuICAgICAgICByZW5hbWU6ICdSZW5vbWJyYXInLFxuICAgICAgICBkZWxldGU6ICdFbGltaW5hcicsXG4gICAgICB9LFxuICAgICAgbG9hZGluZ01vcmU6ICdDYXJnYW5kbyBtw6FzIGNvbnZlcnNhY2lvbmVzJyxcbiAgICB9LFxuICAgIG9uYm9hcmRpbmc6IHtcbiAgICAgIG1haWE6ICdNQUlBJyxcbiAgICAgIGFnZW50Q3VzdG9tOiAnQWdlbnRlcyBjdXN0b20nLFxuICAgICAgaG93Q3JlYXRlQWdlbnQ6ICfCv0PDs21vIGNyZWFyIHVuIGFnZW50ZT8nLFxuICAgICAgdG9vbHRpcDogJ8K/Q8OzbW8gZnVuY2lvbmE/JyxcbiAgICAgIGhvd0l0V29ya3M6ICfCv0PDs21vIGZ1bmNpb25hPycsXG4gICAgfSxcbiAgICBxYToge1xuICAgICAgdGl0bGU6ICdQcmVndW50YXMgZnJlY3VlbnRlcycsXG4gICAgICBpdGVtczoge1xuICAgICAgICByZW50YWJpbGlkYWRfcHJveWVjdG86ICfCv0N1w6FsIGVzIGxhIHJlbnRhYmlsaWRhZCBkZSBlc3RlIHByb3llY3RvPycsXG4gICAgICAgIGF2YW5jZV9wcm95ZWN0bzogJ8K/Q3XDoWxlcyBzb24gbG9zIGF2YW5jZXMgZGUgZXN0ZSBwcm95ZWN0bz8nLFxuICAgICAgICB0YXJlYXNfcHJveWVjdG86ICfCv0N1w6FsZXMgc29uIGxhcyB0YXJlYXMgcHLDs3hpbWFzIGEgdmVuY2VyPycsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY2hhdDoge1xuICAgICAgZ2VuZXJhdGluZzogJ0FuYWxpemFuZG8gZWwgbWVuc2FqZScsXG4gICAgICBnZW5lcmF0aW5nQXR0YWNobWVudDogJ0FuYWxpemFuZG8gYWRqdW50bycsXG4gICAgICBnZW5lcmF0aW5nRGVlcFNlYXJjaDogJ0luaWNpYW5kbyBsYSBpbnZlc3RpZ2FjacOzbicsXG4gICAgICBnZW5lcmF0aW5nV2ViU2VhcmNoOiAnQnVzY2FuZG8gZW4gbGEgd2ViJyxcbiAgICAgIHdyaXRpbmc6ICdFc2NyaWJpZW5kbycsXG4gICAgICBsb2FkaW5nTW9yZTogJ0NhcmdhbmRvIG3DoXMgbWVuc2FqZXMnLFxuICAgICAgZm9vdGVyOiB7XG4gICAgICAgIHBsYWNlaG9sZGVyOiAnRXNjcmliZSB0dSBjb25zdWx0YSBhY8Oh4oCmJyxcbiAgICAgIH0sXG4gICAgICBlcnJvcjogJ0hhIG9jdXJyaWRvIHVuIGVycm9yIGFsIGdlbmVyYXIgdHUgcmVzcHVlc3RhLCBwb3IgZmF2b3IsIGludGVudGEgbnVldmFtZW50ZS4nLFxuICAgICAgZXJyb3JBY2Nlc3NEZW5pZWQ6XG4gICAgICAgICdObyB0aWVuZXMgYWNjZXNvIHBhcmEgaW50ZXJhY3R1YXIgY29uIGVzdGUgYWdlbnRlLiBFcyBwb3NpYmxlIHF1ZSBzdSBjb25maWd1cmFjacOzbiBkZSBhY2Nlc2liaWxpZGFkIGhheWEgY2FtYmlhZG8uIFBvciBmYXZvciwgY29udGFjdGEgYSBsYSBwZXJzb25hIGRlIHR1IG9yZ2FuaXphY2nDs24gcXVlIGFkbWluaXN0cmEgbG9zIGFnZW50ZXMgcGFyYSBvYnRlbmVyIG3DoXMgaW5mb3JtYWNpw7NuLicsXG4gICAgICBjaGFuZ2VQcm9qZWN0OiAnRGV0ZWN0byBxdWUgcXVpZXJlcyBjYW1iaWFyIGRlIFByb3llY3RvLlxcblxcbioqU2VsZWNjaW9uYSBlbCBwcm95ZWN0byBwYXJhIGNvbnRpbnVhcjoqKicsXG4gICAgICBzZWFyY2hXZWI6ICdCdXNjYXIgZW4gbGEgd2ViJyxcbiAgICAgIGRlZXBTZWFyY2g6ICdCw7pzcXVlZGEgYXZhbnphZGEgZW4gaW50ZXJuZXQgKGFjY2VzbyBhIG3DoXMgZnVlbnRlcyknLFxuICAgICAgYXR0YWNoRmlsZTogJ0FkanVudGFyIGFyY2hpdm8nLFxuICAgICAgc2VuZDogJ0VudmlhcicsXG4gICAgICBsaW1pdEZpbGVzOiAnU29sbyBwdWVkZXMgYWRqdW50YXIgaGFzdGEgNSBhcmNoaXZvcyBwb3IgbWVuc2FqZS4nLFxuICAgICAgc3RvcDogJ0NhbmNlbGFyIGLDunNxdWVkYScsXG4gICAgICBjYW5jZWxsZWQ6ICdTZSBoYSBjYW5jZWxhZG8gbGEgYsO6c3F1ZWRhLicsXG4gICAgICBhdHRhY2htZW50UHJldmlld01vZGFsOiB7XG4gICAgICAgIGxvYWRpbmc6ICdDYXJnYW5kby4uLicsXG4gICAgICAgIHVuc3VwcG9ydGVkRmlsZU1lc3NhZ2U6XG4gICAgICAgICAgJ0VzdGUgdGlwbyBkZSBhcmNoaXZvIG5vIHB1ZWRlIHNlciBwcmV2aXN1YWxpemFkby4gUG9yIGZhdm9yLCBpbnRlbnRhIGRlIG51ZXZvIGVuIHVub3MgbWludXRvcy4nLFxuICAgICAgICB0eXBlTGFiZWw6ICdUaXBvOicsXG4gICAgICAgIHVua25vd246ICdEZXNjb25vY2lkbycsXG4gICAgICAgIHNpemVMYWJlbDogJ1RhbWHDsW86JyxcbiAgICAgICAgZXhjZWw6IHtcbiAgICAgICAgICBzaGVldFNlbGVjdG9yTGFiZWw6ICdIb2phOicsXG4gICAgICAgICAgbG9hZEVycm9yOiAnTm8gc2UgcHVkbyBjYXJnYXIgZWwgY29udGVuaWRvIGRlbCBhcmNoaXZvIEV4Y2VsLicsXG4gICAgICAgICAgZmlsZVJlYWRFcnJvcjogJ0Vycm9yIGFsIGxlZXIgZWwgYXJjaGl2by4nLFxuICAgICAgICAgIHNoZWV0TG9hZEVycm9yOiAnRXJyb3IgYWwgY2FyZ2FyIGxhIGhvamEgc2VsZWNjaW9uYWRhLicsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVsZXRlUXVlc3Rpb25Nb2RhbDoge1xuICAgICAgdGl0bGU6ICfCv0Rlc2VhcyBlbGltaW5hciBlc3RhIGNvbnZlcnNhY2nDs24/JyxcbiAgICAgIGZpcnN0UGFydDogJ0VzdMOhcyBwb3IgZWxpbWluYXInLFxuICAgICAgc2Vjb25kUGFydDogJ0VzdGEgYWNjacOzbiBlcyBpcnJldmVyc2libGUuJyxcbiAgICAgIGNhbmNlbDogJ0NhbmNlbGFyJyxcbiAgICAgIGRlbGV0ZTogJ0VsaW1pbmFyJyxcbiAgICB9LFxuICAgIGVkaXRRdWVzdGlvbk1vZGFsOiB7XG4gICAgICBuZXdOYW1lOiAnTnVldm8gbm9tYnJlJyxcbiAgICAgIHRpdGxlOiAnUmVub21icmFyIGNvbnZlcnNhY2nDs24nLFxuICAgICAgcmVuYW1lOiAnUmVub21icmFyJyxcbiAgICAgIGNhbmNlbDogJ0NhbmNlbGFyJyxcbiAgICAgIG1heExlbmd0aDogJ0NvbXBsZXRhc3RlIGxvcyAxNDAgY2FyYWN0ZXJlcyBkZWwgbMOtbWl0ZS4nLFxuICAgIH0sXG4gICAgbW9kYWxGaWxlRXhjZWVkczoge1xuICAgICAgbGltaXRGaWxlc1RpdGxlOiAnSGFzIHN1cGVyYWRvIGVsIGzDrW1pdGUgZGUgYWRqdW50b3MuJyxcbiAgICAgIGxpbWl0U2l6ZVRpdGxlOiAnSGFzIHN1cGVyYWRvIGVsIGzDrW1pdGUgZGUgcGVzbyBwZXJtaXRpZG8uJyxcbiAgICAgIGxpbWl0RmlsZXNEZXNjcmlwdGlvbjpcbiAgICAgICAgJ1NvbG8gcHVlZGVzIGFkanVudGFyIGhhc3RhIDUgYXJjaGl2b3MgcG9yIG1lbnNhamUuIExvcyBzaWd1aWVudGVzIGFyY2hpdm9zIG5vIHNlIHB1ZGllcm9uIGFkanVudGFyOicsXG4gICAgICBsaW1pdFNpemVEZXNjcmlwdGlvbjpcbiAgICAgICAgJ1VubyBvIG3DoXMgc3VwZXJhbiBlbCB0YW1hw7FvIG3DoXhpbW8gcGVybWl0aWRvIHBvciB0aXBvLiBMb3Mgc2lndWllbnRlcyBhcmNoaXZvcyBubyBzZSBwdWRpZXJvbiBhZGp1bnRhcjonLFxuICAgICAgYWNjZXB0OiAnQWNlcHRhcicsXG4gICAgICBsaW1pdDogJ2zDrW1pdGUnLFxuICAgIH0sXG4gICAgc291cmNlc0luZm9ybWF0aW9uTW9kYWw6IHtcbiAgICAgIHRpdGxlOiAnRnVlbnRlczonLFxuICAgIH0sXG4gICAgYWdlbnRzOiB7XG4gICAgICB0aXRsZTogJ0FnZW50ZXMnLFxuICAgICAgbmV3QWdlbnQ6ICdOdWV2byBhZ2VudGUnLFxuICAgICAgY3JlYXRlQWdlbnQ6ICdDcmVhciBBZ2VudGUnLFxuICAgICAgZWRpdDogJ0VkaXRhcicsXG4gICAgICBtYWlhOiAnKEVzcGVjaWFsaXN0YSBkZSBwcm95ZWN0byknLFxuICAgICAgYWRkRmF2b3JpdGU6ICdBZ3JlZ2FyIGEgZmF2b3JpdG9zJyxcbiAgICAgIHJlbW92ZUZhdm9yaXRlOiAnUXVpdGFyIGRlIGZhdm9yaXRvcycsXG4gICAgICBmYXZvcml0ZVRvZ2dsZWRBZGRlZFN1Y2Nlc3M6ICdBZ2VudGUgYWdyZWdhZG8gYSBmYXZvcml0b3MnLFxuICAgICAgZmF2b3JpdGVUb2dnbGVkUmVtb3ZlZFN1Y2Nlc3M6ICdBZ2VudGUgcmVtb3ZpZG8gZGUgZmF2b3JpdG9zJyxcbiAgICAgIGZhdm9yaXRlVG9nZ2xlZEVycm9yOiAnTm8gc2UgcHVkbyBndWFyZGFyIHR1IGZhdm9yaXRvLiBJbnRlbnRhIG51ZXZhbWVudGUuJyxcbiAgICAgIGZhdm9yaXRlVG9nZ2xlZFJlbW92ZWRFcnJvcjogJ05vIHNlIHB1ZG8gcXVpdGFyIGVsIGZhdm9yaXRvLiBJbnRlbnRhIG51ZXZhbWVudGUuJyxcbiAgICAgIG1haWFJbnRyb2R1Y3Rpb246ICdCaWVudmVuaWRvIGEgTUFJQSB0dSBhc2lzdGVudGUsIHBhcmEgbWVqb3JhciB0dSBkw61hIGEgZMOtYS4nLFxuICAgIH0sXG4gICAgY29udmVyc2F0aW9uczoge1xuICAgICAgdGl0bGU6ICdNaXMgY29udmVyc2FjaW9uZXMnLFxuICAgICAgZXJyb3I6ICdPY3VycmnDsyB1biBlcnJvciBhbCBjYXJnYXIgZWwgaGlzdG9yaWFsIGRlIGNvbnZlcnNhY2lvbmVzJyxcbiAgICAgIGVtcHR5OiAnQXF1w60gc2UgbW9zdHJhcsOhbiB0b2RhcyB0dXMgY29udmVyc2FjaW9uZXMgY29uIGxvcyBhZ2VudGVzJyxcbiAgICAgIGVtcHR5TGFiZWw6ICdNZW5zYWplIGNvbiBhcmNoaXZvcycsXG4gICAgICBjb2xsYXBzZTogJ0NvbGFwc2FyJyxcbiAgICAgIGV4cGFuZDogJ0V4cGFuZGlyJyxcbiAgICAgIG5ld0NoYXQ6ICdOdWV2byBjaGF0JyxcbiAgICB9LFxuICAgIHNuYWNrYmFyOiB7XG4gICAgICBkZWxldGVDaGF0OiB7XG4gICAgICAgIHN1Y2Nlc3M6ICdUdSBjb252ZXJzYWNpw7NuIGZ1ZSBlbGltaW5hZGEgY29uIMOpeGl0by4nLFxuICAgICAgICBlcnJvcjogJ09jdXJyacOzIHVuIGVycm9yIGluZXNwZXJhZG8uIFBvciBmYXZvciB2dWVsdmUgYSBpbnRlbnRhcmxvLicsXG4gICAgICB9LFxuICAgICAgcmVuYW1lZENoYXQ6IHtcbiAgICAgICAgc3VjY2VzczogJ0NvbnZlcnNhY2nDs24gcmVub21icmFkYSBjb24gw6l4aXRvJyxcbiAgICAgICAgZXJyb3I6ICdPY3VycmnDsyB1biBlcnJvciBpbmVzcGVyYWRvLiBQb3IgZmF2b3IgdnVlbHZlIGEgaW50ZW50YXJsby4nLFxuICAgICAgfSxcbiAgICAgIGxvYWRNb3JlQWdlbnRzOiB7XG4gICAgICAgIGVycm9yOiAnT2N1cnJpw7MgdW4gZXJyb3IgaW5lc3BlcmFkby4gUG9yIGZhdm9yIHZ1ZWx2ZSBhIGludGVudGFybG8uJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBhcHByb3ZhbEJveDoge1xuICAgICAgYWN0aW9uczoge1xuICAgICAgICBjcmVhdGVfdGFzazogJ0NyZWFjacOzbiBkZSB0YXJlYScsXG4gICAgICAgIGNyZWF0ZV90YXNrc19iYXRjaDogJ0NyZWFjacOzbiBkZSB0YXJlYXMnLFxuICAgICAgICB1bmtub3duOiAnQWNjacOzbiBkZXNjb25vY2lkYScsXG4gICAgICB9LFxuICAgICAgdGl0bGU6ICdDb25maXJtYWNpw7NuIHJlcXVlcmlkYScsXG4gICAgICBkZXNjcmlwdGlvbjogJ1NlIHJlcXVpZXJlIHR1IGFwcm9iYWNpw7NuIHBhcmEgZWplY3V0YXIgbGEgc2lndWllbnRlIGFjY2nDs246JyxcbiAgICAgIGFwcHJvdmU6ICdBcHJvYmFyJyxcbiAgICAgIGRlbnk6ICdEZW5lZ2FyJyxcbiAgICAgIHN0YXR1czoge1xuICAgICAgICBhcHByb3ZlZDogJ1NvbGljaXR1ZCBBcHJvYmFkYScsXG4gICAgICAgIGRlbmllZDogJ1NvbGljaXR1ZCBEZW5lZ2FkYScsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY2hpcExsbToge1xuICAgICAgdG9vbHRpcDogJ0VzdGUgYWdlbnRlIHV0aWxpemEgZWwgbW9kZWxvOiB7e21vZGVsfX0nLFxuICAgIH0sXG4gICAgY2xpZW50U2VsZWN0b3I6IHtcbiAgICAgIHByb2plY3Q6ICdwcm95ZWN0bycsXG4gICAgICBwcm9qZWN0czogJ3Byb3llY3RvcycsXG4gICAgfSxcbiAgfSxcbiAgW1NFQ1RJT05TLmFibUFnZW50XToge1xuICAgIC4uLmdlbmVyaWNTZWN0aW9uLFxuICAgIGxlZ2VuZERlbGV0ZWRBZ2VudDogJ0VzdGUgYWdlbnRlIGhhIHNpZG8gZWxpbWluYWRvIGVsIGTDrWEnLFxuICAgIGxlZ2VuZFByb2plY3REZWxldGVkOiAnRWwgcHJveWVjdG8ge3tuYW1lfX0gaGEgc2lkbyBlbGltaW5hZG8uIE5vIGVzIHBvc2libGUgY29udGludWFyIGNvbiBsYSBjb252ZXJzYWNpw7NuJyxcbiAgICBsZWdlbmROb0FjY2VzczogJ1lhIG5vIHRpZW5lcyBhY2Nlc28gcGFyYSBpbnRlcmFjdHVhciBjb24gZWwgYWdlbnRlIHt7bmFtZX19JyxcbiAgICBsZWdlbmROb1Blcm1pc3Npb25zOiAnWWEgbm8gdGllbmVzIHBlcm1pc29zIHBhcmEgdmlzdWFsaXphciBuaSBpbnRlcmFjdHVhciBjb24gZWwgYWdlbnRlIHt7bmFtZX19JyxcbiAgICBhZ2VudHM6ICdBZ2VudGVzJyxcbiAgICBhZGRBZ2VudDogJ0FncmVnYXIgbnVldm8gYWdlbnRlJyxcbiAgICBuZXdBZ2VudDogJ051ZXZvIGFnZW50ZScsXG4gICAgZWRpdEFnZW50OiAnRWRpdGFyIGFnZW50ZScsXG4gICAgY3JlYXRlQWdlbnQ6ICdDcmVhciBBZ2VudGUnLFxuICAgIGNhbmNlbDogJ0NhbmNlbGFyJyxcbiAgICBhY2NlcHQ6ICdBY2VwdGFyJyxcbiAgICBkZWxldGVBZ2VudDogJ0VsaW1pbmFyIGFnZW50ZScsXG4gICAgY29udGludWU6ICdDb250aW51YXInLFxuICAgIGVkaXQ6ICdFZGl0YXInLFxuICAgIGZlZWRiYWNrOiAnRW52aWFyIEZlZWRiYWNrJyxcbiAgICBzZW5kRmVlZGJhY2s6ICdFbnZpYXIgZmVlZGJhY2snLFxuICAgIHNhdmVDaGFuZ2VzOiAnR3VhcmRhciBjYW1iaW9zJyxcbiAgICBjcmVhdGVBZ2VudExhYmVsQnV0dG9uOiAnQ3JlYXIgYWdlbnRlJyxcbiAgICBjb25maXJtQWdlbnRVcGRhdGVkV2l0aEZpbGVzRXJyb3I6ICdFbCBhZ2VudGUgc2UgZWRpdMOzIGV4aXRvc2FtZW50ZSwgcGVybyBoYXkgYXJjaGl2b3MgcXVlIG5vIHB1ZGllcm9uIHByb2Nlc2Fyc2UuJyxcbiAgICBjb25maXJtQWdlbnRDcmVhdGVkOiAnRWwgYWdlbnRlIHNlIGhhIGNyZWFkbyBjb24gw6l4aXRvJyxcbiAgICBjb25maXJtQWdlbnREZWxldGVkOiAnRWwgYWdlbnRlIHNlIGhhIGVsaW1pbmFkbyBjb24gw6l4aXRvJyxcbiAgICBjb25maXJtQWdlbnRXaXRoRmlsZXNFcnJvcjogJ0VsIGFnZW50ZSBzZSBjcmXDsyBleGl0b3NhbWVudGUsIHBlcm8gaGF5IGFyY2hpdm9zIHF1ZSBubyBwdWRpZXJvbiBwcm9jZXNhcnNlLicsXG4gICAgY29uZmlybUFnZW50VXBkYXRlZDogJ0VsIGFnZW50ZSBzZSBoYSBhY3R1YWxpemFkbyBjb24gw6l4aXRvJyxcbiAgICBjb25maXJtQ2xvc2VDcmVhdGVBZ2VudDogJ8K/RXN0w6FzIHNlZ3VybyBkZSBxdWUgcXVpZXJlcyBjZXJyYXI/IFNlIHBlcmRlcsOhbiBsb3MgY2FtYmlvcyByZWFsaXphZG9zLicsXG4gICAgY29uZmlybUNsb3NlRWRpdEFnZW50OiAnwr9Fc3TDoXMgc2VndXJvIGRlIHF1ZSBxdWllcmVzIGNlcnJhcj8gU2UgcGVyZGVyw6FuIGxvcyBjYW1iaW9zIHJlYWxpemFkb3MuJyxcbiAgICBjb25maXJtUmVsb2FkQnJvd3NlcjogJ8K/RXN0w6FzIHNlZ3VybyBkZSBxdWUgcXVpZXJlcyByZWNhcmdhciBsYSBww6FnaW5hPyBTZSBwZXJkZXLDoW4gbG9zIGNhbWJpb3MgcmVhbGl6YWRvcy4nLFxuICAgIGVycm9yQWNjZXNzRGVuaWVkOiAnTm8gdGllbmVzIHBlcm1pc29zIHBhcmEgYWNjZWRlciBhIGVzdGUgYWdlbnRlLiBDb250YWN0YSBjb24gc29wb3J0ZS4nLFxuICAgIGVycm9yQWdlbnRDcmVhdGVkOiAnT2N1cnJpw7MgdW4gZXJyb3IgaW5lc3BlcmFkby4gUG9yIGZhdm9yIHZ1ZWx2ZSBhIGludGVudGFybG8uJyxcbiAgICBhdHRhY2htZW50Q2FyZDoge1xuICAgICAgZG93bmxvYWQ6ICdEZXNjYXJnYXInLFxuICAgICAgZGVsZXRlOiAnRWxpbWluYXInLFxuICAgIH0sXG4gICAgZ2VuZXJhbFNlY3Rpb246IHtcbiAgICAgIHRpdGxlOiAnR2VuZXJhbCcsXG4gICAgICBnZW5lcmFsU2V0dGluZ3M6ICdDb25maWd1cmFjacOzbiBnZW5lcmFsJyxcbiAgICAgIHJlcXVpcmVkRmllbGRzTGFiZWw6ICcqb2JsaWdhdG9yaW9zJyxcbiAgICAgIGluZm9MYWJlbDogJ0FncmVnYSB0b2RhIGxhIGluZm9ybWFjacOzbiBwYXJhIHBlcnNvbmFsaXphciBlbCBjb21wb3J0YW1pZW50byBkZSB0dSBhZ2VudGUnLFxuICAgICAgYmFzaWNTZXR0aW5nczogJ0NvbmZpZ3VyYWNpw7NuIGLDoXNpY2EnLFxuICAgICAgc2VsZWN0RW1vamk6ICdTZWxlY2Npb25hciBlbW9qaScsXG4gICAgICBuYW1lOiAnwr9DdcOhbCBlcyBlbCBub21icmUgZGUgdHUgYWdlbnRlPycsXG4gICAgICBuYW1lUGxhY2Vob2xkZXI6ICdBc8OtZ25hbGUgdW4gbm9tYnJlIGEgdHUgYWdlbnRlJyxcbiAgICAgIGJlaGF2aW9yU2V0dGluZ3M6ICdDb25maWd1cmFjacOzbiBkZSBjb21wb3J0YW1pZW50bycsXG4gICAgICBpbml0aWFsUHJvbXB0OiAnwr9DdcOhbGVzIHNvbiBsYXMgaW5zdHJ1Y2Npb25lcz8nLFxuICAgICAgaW5pdGlhbFByb21wdFBsYWNlaG9sZGVyOlxuICAgICAgICAnRWplbXBsbzogRXJlcyB1biBzb2NpYWwgbWVkaWEgY29weXdyaXRlciBxdWUgcmVkYWN0YSB5IGFkYXB0YSBtZW5zYWplcyBwYXJhIGRpZmVyZW50ZXMgcmVkZXMsIGFzZWd1cmFuZG8gY29uc2lzdGVuY2lhIGVuIGVsIHRvbm8sIGxhIHBlcnNvbmFsaWRhZCB5IGxvcyB2YWxvcmVzIGRlIGxhIG1hcmNhLlwiJyxcbiAgICAgIG1vZGVsQWlMYWJlbDogJ01vZGVsbyBkZSBBSScsXG4gICAgICBpbnB1dFBsYWNlaG9sZGVyVGl0bGU6ICfCv1F1w6kgdmVyw6EgZWwgdXN1YXJpbyBlbiBlbCBjYW1wbyBkZSBjaGF0IGFudGVzIGRlIGVzY3JpYmlyPycsXG4gICAgICBpbnB1dFBsYWNlaG9sZGVyOiAnUHJlZ8O6bnRhbWUgbG8gcXVlIG5lY2VzaXRlc+KApicsXG4gICAgICBpbnRyb2R1Y3Rpb246ICfCv0PDs21vIHNlIHZhIGEgcHJlc2VudGFyIHR1IGFnZW50ZT8nLFxuICAgICAgaW50cm9kdWN0aW9uUGxhY2Vob2xkZXI6XG4gICAgICAgICdFamVtcGxvOiDCoUhvbGEhIPCfkYsuIFRlIHZveSBhIGF5dWRhciBhIGNyZWFyLCBhZGFwdGFyIHkgcmV2aXNhciBjb3B5cyBwYXJhIGRpc3RpbnRhcyBwbGF0YWZvcm1hcyBhc2VndXJhbmRvIHF1ZSBtYW50ZW5nYW4gbGEgdm96LCBlbCB0b25vIHkgbGEgcGVyc29uYWxpZGFkIGRlIHR1IG1hcmNhLiBQdWVkZXMgcGVkaXJtZSBxdWUgdGUgcHJvcG9uZ2EgaWRlYXMgcGFyYSB1bmEgY2FtcGHDsWEsIGFkYXB0ZSB1biB0ZXh0byBwYXJhIG90cm8gY2FuYWwgbyByZXZpc2UgbGEgY29oZXJlbmNpYSBkZWwgbWVuc2FqZScsXG4gICAgICBlcnJvcjoge1xuICAgICAgICBtYXhDYXJhY3Rlck5hbWU6ICdDb21wbGV0YXN0ZSBsb3MgMTUwIGNhcmFjdGVyZXMgZGVsIGzDrW1pdGUuJyxcbiAgICAgICAgbWF4Q2FyYWN0ZXJJbml0aWFsUHJvbXB0OiAnQ29tcGxldGFzdGUgbG9zIDUwMDAgY2FyYWN0ZXJlcyBkZWwgbMOtbWl0ZS4nLFxuICAgICAgICBtYXhJbnB1dFBsYWNlaG9sZGVyOiAnQ29tcGxldGFzdGUgbG9zIDEwMCBjYXJhY3RlcmVzIGRlbCBsw61taXRlLicsXG4gICAgICAgIG1heENhcmFjdGVySW50cm9kdWN0aW9uOiAnQ29tcGxldGFzdGUgbG9zIDQwMCBjYXJhY3RlcmVzIGRlbCBsw61taXRlLicsXG4gICAgICB9LFxuICAgICAgaG93VG9Xcml0ZVByb21wdDogJ0PDs21vIHJlZGFjdGFyIHVuIHByb21wdCcsXG4gICAgICB3aGF0SXNNb2RlbEFpVGl0bGU6ICfCv1F1w6kgbW9kZWxvIGRlIElBIHZhcyBhIHVzYXI/JyxcbiAgICAgIHdoYXRJc01vZGVsQWk6ICfCv1F1w6kgZXMgdW4gbW9kZWxvIGRlIEFJPycsXG4gICAgICBhZGRGYXZvcml0ZTogJ0FncmVnYXIgYSBmYXZvcml0b3MnLFxuICAgICAgcmVtb3ZlRmF2b3JpdGU6ICdRdWl0YXIgZGUgZmF2b3JpdG9zJyxcbiAgICAgIGNyZWF0ZWRCeTogJ1BvcicsXG4gICAgICBjcmVhdGVkQnlUb29sdGlwOiAnVXN1YXJpbyBjcmVhZG9yIGRlbCBhZ2VudGUnLFxuICAgICAgY3JlYXRlZEJ5VG9vbHRpcERlbGV0ZWQ6ICdVc3VhcmlvIGVsaW1pbmFkby4gU3Ugbm9tYnJlIHNlIG1hbnRpZW5lIHBhcmEgcmVmZXJlbmNpYS4nLFxuICAgIH0sXG4gICAga25vd2xlZGdlU2VjdGlvbjoge1xuICAgICAgdGl0bGU6ICdDb25vY2ltaWVudG8nLFxuICAgICAga25vd2xlZGdlVGFiOiAnQmFzZSBkZSBjb25vY2ltaWVudG9zJyxcbiAgICAgIGluZm9MYWJlbDogJ0NhcmdhIGxvcyBhcmNoaXZvcyBxdWUgdHUgYWdlbnRlIHVzYXLDoSBjb21vIGZ1ZW50ZSBwYXJhIHN1cyByZXNwdWVzdGFzLicsXG4gICAgICBzZWxlY3RGaWxlVGl0bGU6ICdTRUxFQ0NJT05BUiBBUkNISVZPUycsXG4gICAgICBhdHRhY2hGaWxlczogJ0FkanVudGFyIGFyY2hpdm9zJyxcbiAgICAgIGRyb3Bab25lVGV4dDoge1xuICAgICAgICAxOiAnQ2xpYyBhcXXDrSBwYXJhIGNhcmdhcicsXG4gICAgICAgIDI6ICdvIGFycmFzdHJhIGxvcyBhcmNoaXZvcycsXG4gICAgICB9LFxuICAgICAgaW5mb0ZpbGVUeXBlczogJy5tZCwgLnBkZiwgLmRvYywgLmRvY3gsIC50eHQsIC5jc3YsIC5wbmcsIC5qcGcsIC5qcGVnLCAueGxzLCAueGxzeCAgKG3DoXguIHRvdGFsIGRlIDVNQiknLFxuICAgICAgZXJyb3I6IHtcbiAgICAgICAgdGl0bGU6ICdBbGd1bm9zIGFyY2hpdm9zIG5vIHNlIHB1ZGllcm9uIGNhcmdhcicsXG4gICAgICAgIG1heEZpbGVzVGl0bGU6ICdIYXMgc3VwZXJhZG8gZWwgbMOtbWl0ZSBkZSB0YW1hw7FvIHRvdGFsJyxcbiAgICAgICAgbWF4RmlsZXNEZXNjcmlwdGlvbjpcbiAgICAgICAgICAnU29sbyBwdWVkZXMgYWRqdW50YXIgYXJjaGl2b3MgaGFzdGEgdW4gdG90YWwgZGUgNSBNQi4gTG9zIHNpZ3VpZW50ZXMgYXJjaGl2b3Mgbm8gc2UgcHVkaWVyb24gYWRqdW50YXI6JyxcbiAgICAgICAgbWF4U2l6ZVRpdGxlOiAnU3VwZXJhc3RlIGVsIGzDrW1pdGUgZGUgcGVzbyBwZXJtaXRpZG8nLFxuICAgICAgICBtYXhTaXplRGVzY3JpcHRpb246IHtcbiAgICAgICAgICAxOiAnU2UgYWxjYW56w7MgZWwgbMOtbWl0ZSBtw6F4aW1vIGRlIDUgTUIuJyxcbiAgICAgICAgICAyOiAnRXN0b3MgYXJjaGl2b3Mgbm8gc2UgY2FyZ2Fyb24gcG9ycXVlIHN1cGVyYSBlbCBlc3BhY2lvIGRpc3BvbmlibGU6JyxcbiAgICAgICAgfSxcbiAgICAgICAgaW52YWxpZEV4dGVuc2lvbkRlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgMTogJ1NvbG8gc2UgYWNlcHRhbiBhcmNoaXZvcyBjb24gbGFzIHNpZ3VpZW50ZXMgZXh0ZW5zaW9uZXM6IC5tZCwgLnBkZiwgLmRvYywgLmRvY3gsIC50eHQsIC5jc3YsIC5wbmcsIC5qcGcsIC5qcGVnLCAueGxzLCAueGxzeCcsXG4gICAgICAgICAgMjogJ0VzdG9zIGFyY2hpdm9zIG5vIHNlIGNhcmdhcm9uIHBvcnF1ZSBzdSBleHRlbnNpw7NuIG5vIGVzdMOhIHBlcm1pdGlkYTonLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG1vcmVJbmZvOiAnTWlyYSBjw7NtbyBmdW5jaW9uYSBhY8OhJyxcbiAgICB9LFxuICAgIGFjY2Vzc2liaWxpdHlTZWN0aW9uOiB7XG4gICAgICB0aXRsZVRhYjogJ0FjY2VzaWJpbGlkYWQnLFxuICAgICAgdGl0bGVTZWN0aW9uOiAnQWNjZXNpYmlsaWRhZCBkZWwgYWdlbnRlJyxcbiAgICAgIHN1YnRpdGxlU2VjdGlvbjogJ0VsaWdlIHF1acOpbiBwdWVkZSB2ZXIgeSB1c2FyIGVzdGUgYWdlbnRlIGVuIHR1IG9yZ2FuaXphY2nDs24uJyxcbiAgICAgIHdob0NhbkFjY2VzczogJ8K/UXVpw6luIHB1ZWRlIHVzYXIgZXN0ZSBhZ2VudGU/JyxcbiAgICAgIGFsbENvbXBhbnlUaXRsZTogJ1BhcmEgdG9kYSBsYSBjb21wYcOxw61hJyxcbiAgICAgIGFsbENvbXBhbnlEZXNjcmlwdGlvbjogJ1RvZG9zIGxvcyB1c3VhcmlvcyBkZSB0dSBvcmdhbml6YWNpw7NuIHBvZHLDoW4gdmVyIHkgdXNhciBlc3RlIGFnZW50ZS4nLFxuICAgICAgY2xpZW50VGl0bGU6ICdQYXJhIGNsaWVudGVzIGVzcGVjw61maWNvcycsXG4gICAgICBjbGllbnREZXNjcmlwdGlvbjpcbiAgICAgICAgJ0Fzb2NpYSBlc3RlIGFnZW50ZSBhIHVubyBvIG3DoXMgY2xpZW50ZXMuIFRvZG9zIGxvcyB1c3VhcmlvcyBwb2Ryw6FuIHZlciBjb24gcXXDqSBjbGllbnRlcyBlc3TDoSB2aW5jdWxhZG8uJyxcbiAgICAgIG93blRpdGxlOiAnU29sbyBwYXJhIG1pJyxcbiAgICAgIG93bkRlc2NyaXB0aW9uOiAnRWwgYWdlbnRlIHNlcsOhIHByaXZhZG8geSBzb2xvIHTDuiBwb2Ryw6FzIHZlcmxvIHkgdXNhcmxvLicsXG4gICAgICBjbGllbnRzU2VsZWN0ZWQ6ICdDbGllbnRlcyBzZWxlY2Npb25hZG9zOicsXG4gICAgICBzZWFyY2hFcnJvcjogJ8KhVXBzISBUdXZpbW9zIHVuIHByb2JsZW1hIGFsIGNhcmdhciBsb3MgY2xpZW50ZXMuIMK/UHVlZGVzIGludGVudGFybG8gZGUgbnVldm8gZW4gdW4gbW9tZW50bz8nLFxuICAgICAgc2VhcmNoRW1wdHk6ICfCoVVwcyEgTm8gZW5jb250cmFtb3MgY2xpZW50ZXMgY29uIGVzZSBub21icmUuIFBydWViYSByZWFsaXphbmRvIG90cmEgYsO6c3F1ZWRhJyxcbiAgICAgIHNlYXJjaEluaXRpYWw6ICdDb21pZW56YSBhIGVzY3JpYmlyIGVsIG5vbWJyZSBkZSB1biBjbGllbnRlIHBhcmEgYXNvY2lhcmxvJyxcbiAgICAgIHNlYXJjaFBsYWNlaG9sZGVyOiAnQnVzY2FyIGNsaWVudGUnLFxuICAgICAgY2xpZW50SW5hY3RpdmU6ICdFc3RlIGNsaWVudGUgZXN0w6EgaW5hY3Rpdm8uIFRlIHJlY29tZW5kYW1vcyBxdWl0YXJsbyBkZSBsYSBsaXN0YS4nLFxuICAgICAgY2xpZW50RGVsZXRlZFRvb2x0aXA6ICdFc3RlIGNsaWVudGUgZnVlIGVsaW1pbmFkby4gVGUgcmVjb21lbmRhbW9zIHF1aXRhcmxvIGRlIGxhIGxpc3RhLicsXG4gICAgICBjbGllbnREZWxldGVkOiAnQ2xpZW50ZSBlbGltaW5hZG8nLFxuICAgICAgY2xpZW50c0Vycm9yOiAnUmV2aXNhIGxvcyBjbGllbnRlcyBhc29jaWFkb3MnLFxuICAgIH0sXG4gICAgcHJvY2Vzc2luZ0tub3dsZWRnZToge1xuICAgICAgZGVzY3JpcHRpb25DcmVhdGU6XG4gICAgICAgICdFc3RhbW9zIGNyZWFuZG8gZWwgQWdlbnRlIHkgc3UgYmFzZSBkZSBjb25vY2ltaWVudG8uIEVzdG8gcHVlZGUgbGxldmFyIHVub3MgbW9tZW50b3MuIFBvciBmYXZvciBubyBjaWVycmUgZXN0YSB2ZW50YW5hIGhhc3RhIHF1ZSBlbCBwcm9jZXNvIHNlIGhheWEgZmluYWxpemFkby4nLFxuICAgICAgZGVzY3JpcHRpb25VcGRhdGU6XG4gICAgICAgICdFc3RhbW9zIGFjdHVhbGl6YW5kbyBlbCBBZ2VudGUgeSBzdSBiYXNlIGRlIGNvbm9jaW1pZW50by4gRXN0byBwdWVkZSBsbGV2YXIgdW5vcyBtb21lbnRvcy4gUG9yIGZhdm9yIG5vIGNpZXJyZSBlc3RhIHZlbnRhbmEgaGFzdGEgcXVlIGVsIHByb2Nlc28gc2UgaGF5YSBmaW5hbGl6YWRvLicsXG4gICAgICBmaWxlUm93OiAnQXJjaGl2bycsXG4gICAgICBzdGF0dXNSb3c6ICdFc3RhZG8nLFxuICAgICAgcGVuZGluZzogJ1BlbmRpZW50ZScsXG4gICAgICBwcm9jZXNzaW5nOiAnUHJvY2VzYW5kbycsXG4gICAgICBmYWlsZWQ6ICdGYWxsbycsXG4gICAgICBkb25lOiAnQ29tcGxldGFkbycsXG4gICAgICBsb2FkaW5nRmlsZXM6ICdDYXJnYW5kbyBhcmNoaXZvcy4uLicsXG4gICAgICBlcnJvcjoge30sXG4gICAgfSxcbiAgICBkZWxldGVBZ2VudE1vZGFsOiB7XG4gICAgICB0aXRsZTogJ8K/RGVzZWFzIGVsaW1pbmFyIGVzdGUgYWdlbnRlPycsXG4gICAgICBmaXJzdFBhcnQ6ICdFc3TDoXMgcG9yIGVsaW1pbmFyICcsXG4gICAgICBzZWNvbmRQYXJ0OiAnRXN0YSBhY2Npw7NuIG5vIHNlIHB1ZWRlIGRlc2hhY2VyLicsXG4gICAgICBjYW5jZWw6ICdDYW5jZWxhcicsXG4gICAgICBkZWxldGU6ICdFbGltaW5hcicsXG4gICAgfSxcbiAgfSxcbiAgW1NFQ1RJT05TLnByb2plY3RTZWxlY3Rvcl06IHtcbiAgICAuLi5nZW5lcmljU2VjdGlvbixcbiAgICBwcm9qZWN0U2VsZWN0b3I6IHtcbiAgICAgIHRpdGxlOiAnwr9FbiBxdcOpIHByb3llY3RvIHRlIHB1ZWRvIGFzaXN0aXI/JyxcbiAgICAgIGhlbGxvOiB7XG4gICAgICAgIHRpdGxlOiAnSG9sYSB7e25hbWV9fSDwn5GLJyxcbiAgICAgICAgc3VidGl0bGU6ICfCv0NvbiBxdcOpIHByb3llY3RvIHB1ZWRvIGF5dWRhcnRlPycsXG4gICAgICB9LFxuICAgICAgc3VidGl0bGU6ICdTZWxlY2Npb25hIGVsIHByb3llY3RvIHBhcmEgcXVlIE1BSUEgdGUgcmVzcG9uZGEgZW4gYmFzZSBhIHVuIGNvbnRleHRvLicsXG4gICAgICBsYWJlbFByb2plY3Q6ICdTZWxlY2Npb25hIHVuIHByb3llY3RvJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnQnVzY2FyIHVuIHByb3llY3RvIHBvciBub21icmUnLFxuICAgICAgY2hhbmdlUHJvamVjdDogJ0NhbWJpYXIgZGUgcHJveWVjdG8nLFxuICAgICAgcmVjZW50UHJvamVjdHM6ICdSZWNpZW50ZXMnLFxuICAgICAgc2VhcmNoaW5nUHJvamVjdHM6ICdCdXNjYW5kbyB0dXMgcHJveWVjdG9zLi4uJyxcbiAgICAgIGVycm9yTWVzc2FnZTogJ8KhVXBzISBUdXZpbW9zIHVuIHByb2JsZW1hIGFsIGNhcmdhciBsb3MgcHJveWVjdG9zLiBQb3IgZmF2b3IsIGludGVudGEgZGUgbnVldm8gZW4gdW5vcyBtaW51dG9zLicsXG4gICAgICBlbXB0eVJlY2VudFByb2plY3RzOlxuICAgICAgICAnTm8gdGllbmVzIHByb3llY3RvcyByZWNpZW50ZXMuIEVzY3JpYmUgZWwgbm9tYnJlIGRlIHVuIHByb3llY3RvIGVuIGVsIGJ1c2NhZG9yIHBhcmEgZW5jb250cmFybG8uJyxcbiAgICAgIGVtcHR5U3RhdGU6ICfCoVVwcyEgTm8gZW5jb250cmFtb3MgcHJveWVjdG9zIGNvbiBlc2Ugbm9tYnJlLiBQcm9iw6EgcmVhbGl6YW5kbyBvdHJhIGLDunNxdWVkYS4nLFxuICAgICAgd2l0aG91dENsaWVudDogJ1NpbiBjbGllbnRlJyxcbiAgICAgIHdpdGhvdXRUaXRsZTogJ1NpbiB0w610dWxvJyxcbiAgICB9LFxuICB9LFxuICBbU0VDVElPTlMuY2xpZW50U2VsZWN0b3JdOiB7XG4gICAgLi4uZ2VuZXJpY1NlY3Rpb24sXG4gICAgY2xpZW50U2VsZWN0b3I6IHtcbiAgICAgIHRpdGxlOiAnwr9FbiBxdcOpIGNsaWVudGUgdGUgcHVlZG8gYXNpc3Rpcj8nLFxuICAgICAgaGVsbG86IHtcbiAgICAgICAgdGl0bGU6ICdIb2xhIHt7bmFtZX19IPCfkYsnLFxuICAgICAgICBzdWJ0aXRsZTogJ8K/Q29uIHF1w6kgY2xpZW50ZSBwdWVkbyBheXVkYXJ0ZT8nLFxuICAgICAgfSxcbiAgICAgIHN1YnRpdGxlOiAnU2VsZWNjaW9uYSBlbCBjbGllbnRlIHBhcmEgcXVlIE1BSUEgdGUgcmVzcG9uZGEgZW4gYmFzZSBhIHVuIGNvbnRleHRvLicsXG4gICAgICBsYWJlbENsaWVudDogJ1NlbGVjY2lvbmEgdW4gY2xpZW50ZScsXG4gICAgICBwbGFjZWhvbGRlcjogJ0J1c2NhciBjbGllbnRlIHBvciBzdSBub21icmUnLFxuICAgICAgY2hhbmdlQ2xpZW50OiAnQ2FtYmlhciBkZSBjbGllbnRlJyxcbiAgICAgIHJlY2VudENsaWVudHM6ICdSZWNpZW50ZXMnLFxuICAgICAgc2VhcmNoaW5nQ2xpZW50czogJ0J1c2NhbmRvIHR1cyBjbGllbnRlcy4uLicsXG4gICAgICBlcnJvck1lc3NhZ2U6ICdUdXZpbW9zIHVuIHByb2JsZW1hIGFsIGNhcmdhciBsb3MgY2xpZW50ZXMuIFBvciBmYXZvciwgaW50ZW50YSBkZSBudWV2byBlbiB1bm9zIG1pbnV0b3MuJyxcbiAgICAgIGVtcHR5UmVjZW50Q2xpZW50czpcbiAgICAgICAgJ05vIHRpZW5lcyBjbGllbnRlcyByZWNpZW50ZXMuIEVzY3JpYmUgZWwgbm9tYnJlIGRlIHVuIGNsaWVudGUgZW4gZWwgYnVzY2Fkb3IgcGFyYSBlbmNvbnRyYXJsby4nLFxuICAgICAgZW1wdHlTdGF0ZTogJ1VwcyEgTm8gZW5jb250cmFtb3MgY2xpZW50ZXMgY29uIGVzZSBub21icmUuIFByb2LDoSByZWFsaXphbmRvIG90cmEgYsO6c3F1ZWRhLicsXG4gICAgICBwcm9qZWN0OiAncHJveWVjdG8nLFxuICAgICAgcHJvamVjdHM6ICdwcm95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
@@ -18,6 +18,7 @@ import { useTranslation } from 'react-i18next';
18
18
  import { useSnackBarManager } from '../../../hooks/useSnackBarManager/useSnackBarManager';
19
19
  import { fetchMaia } from '../client';
20
20
  import { useUser, CORUserRole } from '../../../context/cor-user';
21
+ import { mapCORLang } from '../../../lang/utils';
21
22
 
22
23
  /**
23
24
  * Ordena los agentes: agentes clone primero (si existen), luego favoritos alfabéticamente, luego no favoritos alfabéticamente
@@ -216,7 +217,7 @@ export var useGetAgents = function useGetAgents(_ref) {
216
217
  orderParam = section === 'client' ? '&order=client,project' : section === 'project' ? '&order=project,client' : '';
217
218
  _context.next = 5;
218
219
  return fetchMaia({
219
- path: "agents?agent_type=clone&lang=".concat(i18n.language).concat(orderParam),
220
+ path: "agents?agent_type=clone&lang=".concat(mapCORLang(i18n.language)).concat(orderParam),
220
221
  method: 'GET'
221
222
  });
222
223
  case 5:
@@ -321,12 +322,12 @@ export var useGetAgents = function useGetAgents(_ref) {
321
322
  queryParams = new URLSearchParams();
322
323
  if (section === 'project' || section === 'client') {
323
324
  queryParams.append('agent_type', 'clone');
324
- queryParams.append('lang', i18n.language);
325
+ queryParams.append('lang', mapCORLang(i18n.language));
325
326
  queryParams.append('order', section === 'client' ? 'client,project' : 'project,client');
326
327
  } else if (section === 'header' && !isMultiAgents) {
327
328
  // Header sin multiAgents: solo listar agentes clone (Maia)
328
329
  queryParams.append('agent_type', 'clone');
329
- queryParams.append('lang', i18n.language);
330
+ queryParams.append('lang', mapCORLang(i18n.language));
330
331
  queryParams.append('limit', '7');
331
332
  queryParams.append('offset', '0');
332
333
  }
@@ -462,7 +463,7 @@ export var useGetAgents = function useGetAgents(_ref) {
462
463
  // Si no es multiAgents, cargar más agentes clone (Maia)
463
464
  queryParams = new URLSearchParams();
464
465
  queryParams.append('agent_type', 'clone');
465
- queryParams.append('lang', i18n.language);
466
+ queryParams.append('lang', mapCORLang(i18n.language));
466
467
  queryParams.append('limit', '7');
467
468
  queryParams.append('offset', agents.next_offset.toString());
468
469
  path = "agents?".concat(queryParams.toString());
@@ -562,4 +563,4 @@ export var useGetAgents = function useGetAgents(_ref) {
562
563
  sortAgentsList: sortAgentsList
563
564
  };
564
565
  };
565
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlUmVmIiwidXNlVHJhbnNsYXRpb24iLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJmZXRjaE1haWEiLCJ1c2VVc2VyIiwiQ09SVXNlclJvbGUiLCJzb3J0QWdlbnRzIiwiYWdlbnRzIiwiY2xvbmVBZ2VudHMiLCJmaWx0ZXIiLCJhZyIsInR5cGUiLCJvdGhlckFnZW50cyIsImZhdm9yaXRlcyIsImlzX2Zhdm9yaXRlIiwic29ydCIsImEiLCJiIiwibmFtZSIsImxvY2FsZUNvbXBhcmUiLCJub25GYXZvcml0ZXMiLCJsZW5ndGgiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJ1c2VHZXRBZ2VudHMiLCJfcmVmIiwic2VsZWN0QWdlbnQiLCJzZWN0aW9uIiwiYWdlbnQiLCJoYW5kbGVHb0hvbWUiLCJ1c2VyIiwiX3VzZVN0YXRlIiwiZGF0YSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInNldEFnZW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwibG9hZGluZyIsInNldExvYWRpbmciLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImxvYWRpbmdNb3JlIiwic2V0TG9hZGluZ01vcmUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImVycm9yIiwic2V0RXJyb3IiLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsIl91c2VUcmFuc2xhdGlvbiIsInQiLCJpMThuIiwibGFzdFNlbGVjdGVkQWdlbnRSZWYiLCJpc1JlZnJlc2hpbmdSZWYiLCJsYXN0UmVxdWVzdFJlZiIsInVzZXJSb2xlc0Rpc2FibGVkIiwiQ09MTEFCT1JBVE9SIiwiRlJFRUxBTkNFUiIsIkNMSUVOVCIsImFkZEFnZW50IiwibmV3QWdlbnQiLCJwcmV2IiwiYWdlbnRFeGlzdHMiLCJzb21lIiwiZXhpc3RpbmdBZ2VudCIsImlkIiwibmV3RGF0YSIsInNvcnRlZERhdGEiLCJfb2JqZWN0U3ByZWFkIiwicmVtb3ZlQWdlbnQiLCJhZ2VudElkIiwidG9TdHJpbmciLCJ1cGRhdGVBZ2VudCIsInVwZGF0ZWRBZ2VudCIsInVwZGF0ZWREYXRhIiwibWFwIiwidXBkYXRlQWdlbnRGYXZvcml0ZSIsInNob3VsZFNvcnQiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJfcmVmMiIsIm1lc3NhZ2UiLCJhZ2VudEZpZWxkcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsIl9leGNsdWRlZCIsIm1lcmdlZEFnZW50IiwiZmluYWxEYXRhIiwiZmluZCIsIl9yZWYzIiwiX2V4Y2x1ZGVkMiIsIl9yZWY0IiwiX2V4Y2x1ZGVkMyIsInNvcnRBZ2VudHNMaXN0Iiwic2VsZWN0Rmlyc3RBZ2VudCIsImZpcnN0QWdlbnQiLCJmaW5kSW5kZXgiLCJhZ2VudERhdGEiLCJjdXJyZW50IiwiaGFuZGxlR2V0QWdlbnRzIiwiX3JlZjUiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImFnZW50VG9TZWxlY3QiLCJfYWdlbnRUb1NlbGVjdCRpZCIsInJlcXVlc3RLZXkiLCJpc011bHRpQWdlbnRzIiwiYWdlbnRQYXJzZWQiLCJoYXNNb3JlIiwibmV4dE9mZnNldCIsIl9tYWlhRGF0YSRkYXRhIiwib3JkZXJQYXJhbSIsIm1haWFSZXNwb25zZSIsIm1haWFEYXRhIiwiX21haWFFcnJvciRyZXNwb25zZSIsIl9tYWlhRXJyb3IkbWVzc2FnZSIsIl9tYWlhRXJyb3IkbWVzc2FnZTIiLCJpczQwM0Vycm9yIiwiY3VzdG9tQWdlbnRzIiwiY3VzdG9tSGFzTW9yZSIsImN1c3RvbU5leHRPZmZzZXQiLCJjdXN0b21SZXNwb25zZSIsImN1c3RvbURhdGEiLCJfY3VzdG9tRXJyb3IkcmVzcG9uc2UiLCJfY3VzdG9tRXJyb3IkbWVzc2FnZSIsIl9jdXN0b21FcnJvciRtZXNzYWdlMiIsIl9pczQwM0Vycm9yIiwicXVlcnlQYXJhbXMiLCJxdWVyeVN0cmluZyIsInBhdGgiLCJyZXNwb25zZSIsIl9yZXNwb25zZUVycm9yJHJlc3BvbiIsIl9yZXNwb25zZUVycm9yJG1lc3NhZyIsIl9yZXNwb25zZUVycm9yJG1lc3NhZzIiLCJfaXM0MDNFcnJvcjIiLCJfYWdlbnRQYXJzZWQiLCJfYWdlbnRQYXJzZWQyIiwiX2xhc3RTZWxlY3RlZEFnZW50UmVmIiwiX2xhc3RTZWxlY3RlZEFnZW50UmVmMiIsImF2YWlsYWJsZUFnZW50cyIsIl9hdmFpbGFibGVBZ2VudHMiLCJfbGFzdFNlbGVjdGVkQWdlbnRSZWYzIiwiX2F2YWlsYWJsZUFnZW50czIiLCJfYXZhaWxhYmxlQWdlbnRzMyIsImZpcnN0QXZhaWxhYmxlQWdlbnQiLCJfdCIsIl90MiIsIl90MyIsIl90NCIsIndyYXAiLCJfY29udGV4dCIsIm5leHQiLCJhYnJ1cHQiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MiLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiaW5jbHVkZXMiLCJyb2xlX2lkIiwibGFuZ3VhZ2UiLCJtZXRob2QiLCJzZW50IiwianNvbiIsInN0YXR1cyIsImhhc19tb3JlIiwibmV4dF9vZmZzZXQiLCJVUkxTZWFyY2hQYXJhbXMiLCJhcHBlbmQiLCJhZ2VudFRvUmVxdWVzdCIsImFnZW50SXRlbSIsIkVycm9yIiwic2V0VGltZW91dCIsImZpbmlzaCIsInN0b3AiLCJfeCIsImFwcGx5IiwibG9hZE1vcmVBZ2VudHMiLCJfY2FsbGVlMiIsImNhbkxvYWRNb3JlIiwiX3Q1IiwiX2NvbnRleHQyIiwiZXhpc3RpbmdDbG9uZUFnZW50cyIsImV4aXN0aW5nSWRzIiwiU2V0IiwibmV3QWdlbnRzIiwiaGFzIiwiaGFzTm9BZ2VudHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9BZ2VudHMvZ2V0QWdlbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB1c2VTbmFja0Jhck1hbmFnZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VTbmFja0Jhck1hbmFnZXIvdXNlU25hY2tCYXJNYW5hZ2VyJ1xuaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vY2xpZW50J1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IHVzZVVzZXIsIENPUlVzZXJSb2xlIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcblxuLyoqXG4gKiBPcmRlbmEgbG9zIGFnZW50ZXM6IGFnZW50ZXMgY2xvbmUgcHJpbWVybyAoc2kgZXhpc3RlbiksIGx1ZWdvIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlLCBsdWVnbyBubyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZVxuICovXG5jb25zdCBzb3J0QWdlbnRzID0gKGFnZW50czogQWdlbnRbXSk6IEFnZW50W10gPT4ge1xuICAvLyBTZXBhcmFyIGFnZW50ZXMgY2xvbmUgZGVsIHJlc3RvXG4gIGNvbnN0IGNsb25lQWdlbnRzID0gYWdlbnRzLmZpbHRlcihhZyA9PiBhZy50eXBlID09PSAnY2xvbmUnKVxuICBjb25zdCBvdGhlckFnZW50cyA9IGFnZW50cy5maWx0ZXIoYWcgPT4gYWcudHlwZSAhPT0gJ2Nsb25lJylcblxuICAvLyBTZXBhcmFyIGZhdm9yaXRvcyB5IG5vIGZhdm9yaXRvc1xuICBjb25zdCBmYXZvcml0ZXMgPSBvdGhlckFnZW50cy5maWx0ZXIoYWcgPT4gYWcuaXNfZmF2b3JpdGUpLnNvcnQoKGEsIGIpID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpXG4gIGNvbnN0IG5vbkZhdm9yaXRlcyA9IG90aGVyQWdlbnRzLmZpbHRlcihhZyA9PiAhYWcuaXNfZmF2b3JpdGUpLnNvcnQoKGEsIGIpID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpXG5cbiAgLy8gQ29tYmluYXI6IGNsb25lcyBwcmltZXJvLCBsdWVnbyBmYXZvcml0b3MsIGx1ZWdvIG5vIGZhdm9yaXRvc1xuICByZXR1cm4gY2xvbmVBZ2VudHMubGVuZ3RoID8gWy4uLmNsb25lQWdlbnRzLCAuLi5mYXZvcml0ZXMsIC4uLm5vbkZhdm9yaXRlc10gOiBbLi4uZmF2b3JpdGVzLCAuLi5ub25GYXZvcml0ZXNdXG59XG5cbnR5cGUgVXNlR2V0QWdlbnRzUHJvcHMgPSB7XG4gIHNlbGVjdEFnZW50OiAoYWdlbnQ6IEFnZW50KSA9PiB2b2lkXG4gIHNlY3Rpb246ICdwcm9qZWN0JyB8ICdoZWFkZXInIHwgJ2NsaWVudCdcbiAgYWdlbnQ6IEFnZW50IHwgbnVsbFxuICBoYW5kbGVHb0hvbWU6ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IHVzZUdldEFnZW50cyA9ICh7IHNlbGVjdEFnZW50LCBzZWN0aW9uLCBhZ2VudCwgaGFuZGxlR29Ib21lIH06IFVzZUdldEFnZW50c1Byb3BzKSA9PiB7XG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgW2FnZW50cywgc2V0QWdlbnRzXSA9IHVzZVN0YXRlPHsgZGF0YTogQWdlbnRbXTsgaGFzX21vcmU/OiBib29sZWFuOyBuZXh0X29mZnNldD86IG51bWJlciB8IG51bGwgfT4oeyBkYXRhOiBbXSB9KVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2xvYWRpbmdNb3JlLCBzZXRMb2FkaW5nTW9yZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCB7IGhhbmRsZVNuYWNrYmFyRXJyb3IgfSA9IHVzZVNuYWNrQmFyTWFuYWdlcigpXG4gIGNvbnN0IHsgdCwgaTE4biB9ID0gdXNlVHJhbnNsYXRpb24oJ2NoYXRfYWlfc2VjdGlvbicpXG4gIGNvbnN0IGxhc3RTZWxlY3RlZEFnZW50UmVmID0gdXNlUmVmPEFnZW50IHwgbnVsbD4obnVsbClcbiAgY29uc3QgaXNSZWZyZXNoaW5nUmVmID0gdXNlUmVmKGZhbHNlKVxuICBjb25zdCBsYXN0UmVxdWVzdFJlZiA9IHVzZVJlZjxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IHVzZXJSb2xlc0Rpc2FibGVkID0gW0NPUlVzZXJSb2xlLkNPTExBQk9SQVRPUiwgQ09SVXNlclJvbGUuRlJFRUxBTkNFUiwgQ09SVXNlclJvbGUuQ0xJRU5UXVxuXG4gIGNvbnN0IGFkZEFnZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKG5ld0FnZW50OiBBZ2VudCkgPT4ge1xuICAgICAgc2V0QWdlbnRzKHByZXYgPT4ge1xuICAgICAgICAvLyBWZXJpZmljYXIgc2kgZWwgYWdlbnRlIHlhIGV4aXN0ZSBwYXJhIGV2aXRhciBkdXBsaWNhZG9zXG4gICAgICAgIGNvbnN0IGFnZW50RXhpc3RzID0gcHJldi5kYXRhLnNvbWUoZXhpc3RpbmdBZ2VudCA9PiBleGlzdGluZ0FnZW50LmlkID09PSBuZXdBZ2VudC5pZClcbiAgICAgICAgaWYgKGFnZW50RXhpc3RzKSB7XG4gICAgICAgICAgcmV0dXJuIHByZXZcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdEYXRhID0gWy4uLnByZXYuZGF0YSwgbmV3QWdlbnRdXG4gICAgICAgIGNvbnN0IHNvcnRlZERhdGEgPSBzb3J0QWdlbnRzKG5ld0RhdGEpXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICBkYXRhOiBzb3J0ZWREYXRhLFxuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgaGFuZGxlR29Ib21lKClcbiAgICB9LFxuICAgIFtoYW5kbGVHb0hvbWVdXG4gIClcblxuICBjb25zdCByZW1vdmVBZ2VudCA9IHVzZUNhbGxiYWNrKChhZ2VudElkOiBudW1iZXIgfCBzdHJpbmcpID0+IHtcbiAgICBzZXRBZ2VudHMocHJldiA9PiAoe1xuICAgICAgLi4ucHJldixcbiAgICAgIGRhdGE6IHByZXYuZGF0YS5maWx0ZXIoYSA9PiBhLmlkICE9PSBhZ2VudElkLnRvU3RyaW5nKCkpLFxuICAgIH0pKVxuICB9LCBbXSlcblxuICBjb25zdCB1cGRhdGVBZ2VudCA9IHVzZUNhbGxiYWNrKCh1cGRhdGVkQWdlbnQ6IEFnZW50KSA9PiB7XG4gICAgc2V0QWdlbnRzKHByZXYgPT4ge1xuICAgICAgY29uc3QgdXBkYXRlZERhdGEgPSBwcmV2LmRhdGEubWFwKGV4aXN0aW5nQWdlbnQgPT5cbiAgICAgICAgZXhpc3RpbmdBZ2VudC5pZCA9PT0gdXBkYXRlZEFnZW50LmlkID8gdXBkYXRlZEFnZW50IDogZXhpc3RpbmdBZ2VudFxuICAgICAgKVxuICAgICAgY29uc3Qgc29ydGVkRGF0YSA9IHNvcnRBZ2VudHModXBkYXRlZERhdGEpXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5wcmV2LFxuICAgICAgICBkYXRhOiBzb3J0ZWREYXRhLFxuICAgICAgfVxuICAgIH0pXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHVwZGF0ZUFnZW50RmF2b3JpdGUgPSB1c2VDYWxsYmFjayhcbiAgICAodXBkYXRlZEFnZW50OiBBZ2VudCwgc2hvdWxkU29ydDogYm9vbGVhbiA9IGZhbHNlKSA9PiB7XG4gICAgICBzZXRBZ2VudHMocHJldiA9PiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWREYXRhID0gcHJldi5kYXRhLm1hcChleGlzdGluZ0FnZW50ID0+IHtcbiAgICAgICAgICBpZiAoZXhpc3RpbmdBZ2VudC5pZCA9PT0gdXBkYXRlZEFnZW50LmlkKSB7XG4gICAgICAgICAgICBjb25zdCB7IG1lc3NhZ2UsIC4uLmFnZW50RmllbGRzIH0gPSB1cGRhdGVkQWdlbnQgYXMgYW55XG4gICAgICAgICAgICBjb25zdCBtZXJnZWRBZ2VudCA9IHsgLi4uZXhpc3RpbmdBZ2VudCwgLi4uYWdlbnRGaWVsZHMgfVxuICAgICAgICAgICAgcmV0dXJuIG1lcmdlZEFnZW50XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBleGlzdGluZ0FnZW50XG4gICAgICAgIH0pXG5cbiAgICAgICAgLy8gU29sbyBvcmRlbmFyIHNpIHNob3VsZFNvcnQgZXMgdHJ1ZVxuICAgICAgICBjb25zdCBmaW5hbERhdGEgPSBzaG91bGRTb3J0ID8gc29ydEFnZW50cyh1cGRhdGVkRGF0YSkgOiB1cGRhdGVkRGF0YVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICBkYXRhOiBmaW5hbERhdGEsXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIC8vIEFjdHVhbGl6YXIgZWwgYWdlbnRlIHNlbGVjY2lvbmFkbyBzaSBlcyBlbCBxdWUgc2UgZXN0w6EgYWN0dWFsaXphbmRvXG4gICAgICBpZiAoYWdlbnQ/LmlkID09PSB1cGRhdGVkQWdlbnQuaWQpIHtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdBZ2VudCA9IGFnZW50cy5kYXRhLmZpbmQoYSA9PiBhLmlkID09PSB1cGRhdGVkQWdlbnQuaWQpXG4gICAgICAgIGlmIChleGlzdGluZ0FnZW50KSB7XG4gICAgICAgICAgY29uc3QgeyBtZXNzYWdlLCAuLi5hZ2VudEZpZWxkcyB9ID0gdXBkYXRlZEFnZW50IGFzIGFueVxuICAgICAgICAgIGNvbnN0IG1lcmdlZEFnZW50ID0geyAuLi5leGlzdGluZ0FnZW50LCAuLi5hZ2VudEZpZWxkcyB9XG4gICAgICAgICAgc2VsZWN0QWdlbnQobWVyZ2VkQWdlbnQpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgeyBtZXNzYWdlLCAuLi5hZ2VudEZpZWxkcyB9ID0gdXBkYXRlZEFnZW50IGFzIGFueVxuICAgICAgICAgIHNlbGVjdEFnZW50KGFnZW50RmllbGRzIGFzIEFnZW50KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBbYWdlbnQsIHNlbGVjdEFnZW50LCBhZ2VudHMuZGF0YV1cbiAgKVxuXG4gIGNvbnN0IHNvcnRBZ2VudHNMaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEFnZW50cyhwcmV2ID0+IHtcbiAgICAgIGNvbnN0IHNvcnRlZERhdGEgPSBzb3J0QWdlbnRzKHByZXYuZGF0YSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnByZXYsXG4gICAgICAgIGRhdGE6IHNvcnRlZERhdGEsXG4gICAgICB9XG4gICAgfSlcbiAgfSwgW10pXG5cbiAgY29uc3Qgc2VsZWN0Rmlyc3RBZ2VudCA9IHVzZUNhbGxiYWNrKFxuICAgIChhZ2VudElkPzogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoYWdlbnRzLmRhdGEubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0QWdlbnQgPSBhZ2VudHMuZGF0YS5maW5kSW5kZXgoYWdlbnREYXRhID0+IGFnZW50RGF0YS5pZCA9PT0gYWdlbnRJZClcbiAgICAgICAgbGFzdFNlbGVjdGVkQWdlbnRSZWYuY3VycmVudCA9IGFnZW50cy5kYXRhW2ZpcnN0QWdlbnQgPT09IDAgPyAxIDogMF1cbiAgICAgICAgc2VsZWN0QWdlbnQoYWdlbnRzLmRhdGFbZmlyc3RBZ2VudCA9PT0gMCA/IDEgOiAwXSlcbiAgICAgIH1cbiAgICB9LFxuICAgIFthZ2VudHMuZGF0YSwgc2VsZWN0QWdlbnRdXG4gIClcblxuICBjb25zdCBoYW5kbGVHZXRBZ2VudHMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoYWdlbnRUb1NlbGVjdD86IEFnZW50KSA9PiB7XG4gICAgICBpZiAoaXNSZWZyZXNoaW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RLZXkgPSBhZ2VudFRvU2VsZWN0Py5pZD8udG9TdHJpbmcoKSB8fCAnZGVmYXVsdCdcbiAgICAgIGlmIChsYXN0UmVxdWVzdFJlZi5jdXJyZW50ID09PSByZXF1ZXN0S2V5ICYmICFsb2FkaW5nKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBpc1JlZnJlc2hpbmdSZWYuY3VycmVudCA9IHRydWVcbiAgICAgIGxhc3RSZXF1ZXN0UmVmLmN1cnJlbnQgPSByZXF1ZXN0S2V5XG4gICAgICBzZXRMb2FkaW5nKHRydWUpXG4gICAgICBzZXRFcnJvcihudWxsKVxuXG4gICAgICBjb25zdCBpc011bHRpQWdlbnRzID0gISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTICYmICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcblxuICAgICAgdHJ5IHtcbiAgICAgICAgbGV0IGFnZW50UGFyc2VkOiBBZ2VudFtdID0gW11cbiAgICAgICAgbGV0IGhhc01vcmUgPSBmYWxzZVxuICAgICAgICBsZXQgbmV4dE9mZnNldDogbnVtYmVyIHwgbnVsbCA9IG51bGxcblxuICAgICAgICAvLyBTaSB0aWVuZSBmZWF0dXJlIGFjY2VzcyBtdWx0aSBhZ2VudHMsIGhhY2VyIGRvcyBxdWVyaWVzIChNYWlhICsgY3VzdG9tKSBlbiBjdWFscXVpZXIgc2VjY2nDs25cbiAgICAgICAgaWYgKGlzTXVsdGlBZ2VudHMpIHtcbiAgICAgICAgICAvLyBRdWVyeSAxOiBBZ2VudGVzIGNsb25lIChNYWlhKSAtIFNvbG8gcGFyYSByb2xlcyBwZXJtaXRpZG9zLiBQdWVkZW4gdmVuaXIgbcO6bHRpcGxlcyBhZ2VudGVzIHRpcG8gY2xvbmVcbiAgICAgICAgICBsZXQgY2xvbmVBZ2VudHM6IEFnZW50W10gPSBbXVxuICAgICAgICAgIGlmICghdXNlclJvbGVzRGlzYWJsZWQuaW5jbHVkZXModXNlci5yb2xlX2lkKSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgY29uc3Qgb3JkZXJQYXJhbSA9XG4gICAgICAgICAgICAgICAgc2VjdGlvbiA9PT0gJ2NsaWVudCcgPyAnJm9yZGVyPWNsaWVudCxwcm9qZWN0JyA6IHNlY3Rpb24gPT09ICdwcm9qZWN0JyA/ICcmb3JkZXI9cHJvamVjdCxjbGllbnQnIDogJydcbiAgICAgICAgICAgICAgY29uc3QgbWFpYVJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICAgICAgICAgICAgICBwYXRoOiBgYWdlbnRzP2FnZW50X3R5cGU9Y2xvbmUmbGFuZz0ke2kxOG4ubGFuZ3VhZ2V9JHtvcmRlclBhcmFtfWAsXG4gICAgICAgICAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgY29uc3QgbWFpYURhdGEgPSBhd2FpdCBtYWlhUmVzcG9uc2UuanNvbigpXG4gICAgICAgICAgICAgIGNsb25lQWdlbnRzID0gbWFpYURhdGEuZGF0YT8uZmlsdGVyKChhZzogQWdlbnQpID0+IGFnLnR5cGUgPT09ICdjbG9uZScpIHx8IFtdXG4gICAgICAgICAgICB9IGNhdGNoIChtYWlhRXJyb3I6IGFueSkge1xuICAgICAgICAgICAgICAvLyBWZXJpZmljYXIgc2kgZWwgZXJyb3IgZXMgNDAzXG4gICAgICAgICAgICAgIC8vIGZldGNoQ09SIHB1ZWRlIGxhbnphciBkaWZlcmVudGVzIHRpcG9zIGRlIGVycm9yZXM6XG4gICAgICAgICAgICAgIC8vIDEuIEVycm9yIGNvbiBlcnJvckRhdGEuZGV0YWlsIHNpIGluY2x1eWUgJ0FjY2VzcyBkZW5pZWQnXG4gICAgICAgICAgICAgIC8vIDIuIEVycm9yIGdlbsOpcmljbyAnRmFpbGVkIGZldGNoaW5nIGRhdGEnIHNpIGVzIDQwMyBwZXJvIG5vIGluY2x1eWUgJ0FjY2VzcyBkZW5pZWQnXG4gICAgICAgICAgICAgIC8vIDMuIE5lY2VzaXRhbW9zIHZlcmlmaWNhciBlbCBzdGF0dXMgY29kZSBzaSBlc3TDoSBkaXNwb25pYmxlXG4gICAgICAgICAgICAgIGNvbnN0IGlzNDAzRXJyb3IgPVxuICAgICAgICAgICAgICAgIG1haWFFcnJvcj8ucmVzcG9uc2U/LnN0YXR1cyA9PT0gNDAzIHx8XG4gICAgICAgICAgICAgICAgbWFpYUVycm9yPy5zdGF0dXMgPT09IDQwMyB8fFxuICAgICAgICAgICAgICAgIG1haWFFcnJvcj8ubWVzc2FnZT8uaW5jbHVkZXMoXCJZb3UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHZpZXcgYWdlbnRzXCIpIHx8XG4gICAgICAgICAgICAgICAgbWFpYUVycm9yPy5tZXNzYWdlPy5pbmNsdWRlcygnRmFpbGVkIGZldGNoaW5nIGRhdGEnKSAvLyBmZXRjaENPUiBsYW56YSBlc3RvIHBhcmEgNDAzIHNpbiAnQWNjZXNzIGRlbmllZCdcblxuICAgICAgICAgICAgICBpZiAoaXM0MDNFcnJvcikge1xuICAgICAgICAgICAgICAgIC8vIFNpIGVzIDQwMywgY29udGludWFyIHNpbiBsb3MgY2xvbmVBZ2VudHNcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBTaSBlcyBvdHJvIGVycm9yLCBsYW56YXJsb1xuICAgICAgICAgICAgICAgIHRocm93IG1haWFFcnJvclxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gUXVlcnkgMjogQWdlbnRlcyBjdXN0b20gY29uIHBhZ2luYWNpw7NuXG4gICAgICAgICAgbGV0IGN1c3RvbUFnZW50czogQWdlbnRbXSA9IFtdXG4gICAgICAgICAgbGV0IGN1c3RvbUhhc01vcmUgPSBmYWxzZVxuICAgICAgICAgIGxldCBjdXN0b21OZXh0T2Zmc2V0OiBudW1iZXIgfCBudWxsID0gbnVsbFxuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbVJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICAgICAgICAgICAgcGF0aDogJ2FnZW50cz9hZ2VudF90eXBlPWN1c3RvbSZsaW1pdD03Jm9mZnNldD0wJyxcbiAgICAgICAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBjb25zdCBjdXN0b21EYXRhID0gYXdhaXQgY3VzdG9tUmVzcG9uc2UuanNvbigpXG4gICAgICAgICAgICBjdXN0b21BZ2VudHMgPSBjdXN0b21EYXRhLmRhdGEgfHwgW11cbiAgICAgICAgICAgIGN1c3RvbUhhc01vcmUgPSBjdXN0b21EYXRhLmhhc19tb3JlIHx8IGZhbHNlXG4gICAgICAgICAgICBjdXN0b21OZXh0T2Zmc2V0ID0gY3VzdG9tRGF0YS5uZXh0X29mZnNldCB8fCBudWxsXG4gICAgICAgICAgfSBjYXRjaCAoY3VzdG9tRXJyb3I6IGFueSkge1xuICAgICAgICAgICAgLy8gVmVyaWZpY2FyIHNpIGVsIGVycm9yIGVzIDQwM1xuICAgICAgICAgICAgLy8gZmV0Y2hDT1IgcHVlZGUgbGFuemFyIGRpZmVyZW50ZXMgdGlwb3MgZGUgZXJyb3JlczpcbiAgICAgICAgICAgIC8vIDEuIEVycm9yIGNvbiBlcnJvckRhdGEuZGV0YWlsIHNpIGluY2x1eWUgJ0FjY2VzcyBkZW5pZWQnXG4gICAgICAgICAgICAvLyAyLiBFcnJvciBnZW7DqXJpY28gJ0ZhaWxlZCBmZXRjaGluZyBkYXRhJyBzaSBlcyA0MDMgcGVybyBubyBpbmNsdXllICdBY2Nlc3MgZGVuaWVkJ1xuICAgICAgICAgICAgLy8gMy4gTmVjZXNpdGFtb3MgdmVyaWZpY2FyIGVsIHN0YXR1cyBjb2RlIHNpIGVzdMOhIGRpc3BvbmlibGVcbiAgICAgICAgICAgIGNvbnN0IGlzNDAzRXJyb3IgPVxuICAgICAgICAgICAgICBjdXN0b21FcnJvcj8ucmVzcG9uc2U/LnN0YXR1cyA9PT0gNDAzIHx8XG4gICAgICAgICAgICAgIGN1c3RvbUVycm9yPy5zdGF0dXMgPT09IDQwMyB8fFxuICAgICAgICAgICAgICBjdXN0b21FcnJvcj8ubWVzc2FnZT8uaW5jbHVkZXMoXCJZb3UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHZpZXcgYWdlbnRzXCIpIHx8XG4gICAgICAgICAgICAgIGN1c3RvbUVycm9yPy5tZXNzYWdlPy5pbmNsdWRlcygnRmFpbGVkIGZldGNoaW5nIGRhdGEnKSAvLyBmZXRjaENPUiBsYW56YSBlc3RvIHBhcmEgNDAzIHNpbiAnQWNjZXNzIGRlbmllZCdcblxuICAgICAgICAgICAgaWYgKGlzNDAzRXJyb3IpIHtcbiAgICAgICAgICAgICAgLy8gU2kgZXMgNDAzLCBjb250aW51YXIgc2luIGxvcyBjdXN0b21BZ2VudHMgKGN1c3RvbUFnZW50cyBxdWVkYSBjb21vIGFycmF5IHZhY8OtbylcbiAgICAgICAgICAgICAgLy8gRXN0byBwdWVkZSBvY3VycmlyIGVuIGRvcyBlc2NlbmFyaW9zOlxuICAgICAgICAgICAgICAvLyAxLiBVc3VhcmlvIE5PIGVzIGRlIHVzZXJSb2xlc0Rpc2FibGVkOiB0ZW5kcsOhIHNvbG8gbG9zIGNsb25lQWdlbnRzIChzaSBsYSBxdWVyeSBjbG9uZSBmdWUgZXhpdG9zYSlcbiAgICAgICAgICAgICAgLy8gMi4gVXN1YXJpbyBTw40gZXMgZGUgdXNlclJvbGVzRGlzYWJsZWQ6IGVsIGxpc3RhZG8gcXVlZGFyw6EgdmFjw61vIChwb3JxdWUgbm8gaGF5IGNsb25lQWdlbnRzKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gU2kgZXMgb3RybyBlcnJvciwgbGFuemFybG9cbiAgICAgICAgICAgICAgdGhyb3cgY3VzdG9tRXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBDb21iaW5hcjogYWdlbnRlcyBjbG9uZSBwcmltZXJvLCBsdWVnbyBsb3MgY3VzdG9tIChzaSBleGlzdGVuKVxuICAgICAgICAgIC8vIFNpIGVsIHVzdWFyaW8gdGllbmUgdW4gcm9sIGRlc2hhYmlsaXRhZG8sIG5vIGluY2x1aXIgY2xvbmVBZ2VudHNcbiAgICAgICAgICBpZiAodXNlclJvbGVzRGlzYWJsZWQuaW5jbHVkZXModXNlci5yb2xlX2lkKSkge1xuICAgICAgICAgICAgLy8gVXN1YXJpbyBkZSByb2xlcyBkaXNhYmxlZDogc29sbyBjdXN0b21BZ2VudHNcbiAgICAgICAgICAgIC8vIFNpIGN1c3RvbUFnZW50cyBlc3TDoSB2YWPDrW8gKHBvciA0MDMpLCBhZ2VudFBhcnNlZCBzZXLDoSBbXSB5IHNlIG1vc3RyYXLDoSBlbXB0eVN0YXRlXG4gICAgICAgICAgICBhZ2VudFBhcnNlZCA9IGN1c3RvbUFnZW50c1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBVc3VhcmlvIG5vcm1hbDogY2xvbmVBZ2VudHMgKyBjdXN0b21BZ2VudHNcbiAgICAgICAgICAgIC8vIFNpIGN1c3RvbUFnZW50cyBlc3TDoSB2YWPDrW8gKHBvciA0MDMpIHBlcm8gaGF5IGNsb25lQWdlbnRzLCBhZ2VudFBhcnNlZCB0ZW5kcsOhIGxvcyBjbG9uZXNcbiAgICAgICAgICAgIC8vIFNpIG5vIGhheSBjbG9uZUFnZW50cyBuaSBjdXN0b21BZ2VudHMsIGFnZW50UGFyc2VkIHNlcsOhIFtdIHkgc2UgbW9zdHJhcsOhIGVtcHR5U3RhdGVcbiAgICAgICAgICAgIGFnZW50UGFyc2VkID0gY2xvbmVBZ2VudHMubGVuZ3RoID8gWy4uLmNsb25lQWdlbnRzLCAuLi5jdXN0b21BZ2VudHNdIDogY3VzdG9tQWdlbnRzXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIE9yZGVuYXI6IE1haWEgcHJpbWVybywgbHVlZ28gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGUsIGx1ZWdvIG5vIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlXG4gICAgICAgICAgYWdlbnRQYXJzZWQgPSBzb3J0QWdlbnRzKGFnZW50UGFyc2VkKVxuICAgICAgICAgIGhhc01vcmUgPSBjdXN0b21IYXNNb3JlXG4gICAgICAgICAgbmV4dE9mZnNldCA9IGN1c3RvbU5leHRPZmZzZXRcblxuICAgICAgICAgIHNldEFnZW50cyh7XG4gICAgICAgICAgICBkYXRhOiBhZ2VudFBhcnNlZCxcbiAgICAgICAgICAgIGhhc19tb3JlOiBoYXNNb3JlLFxuICAgICAgICAgICAgbmV4dF9vZmZzZXQ6IG5leHRPZmZzZXQsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIC8vIFNpIG5vIGhheSBhZ2VudGVzIGRlc3B1w6lzIGRlIHByb2Nlc2FyIGxhcyBxdWVyaWVzLCBsaW1waWFyIGVsIGVycm9yXG4gICAgICAgICAgLy8gcGFyYSBxdWUgaGFzTm9BZ2VudHMgcHVlZGEgc2VyIHRydWUgeSBzZSBtdWVzdHJlIGVsIGVtcHR5U3RhdGVcbiAgICAgICAgICBpZiAoYWdlbnRQYXJzZWQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBMw7NnaWNhIHBhcmEgcHJvamVjdCBvIGhlYWRlciBzaW4gbXVsdGlBZ2VudHNcbiAgICAgICAgICBjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuICAgICAgICAgIGlmIChzZWN0aW9uID09PSAncHJvamVjdCcgfHwgc2VjdGlvbiA9PT0gJ2NsaWVudCcpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnYWdlbnRfdHlwZScsICdjbG9uZScpXG4gICAgICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ2xhbmcnLCBpMThuLmxhbmd1YWdlKVxuICAgICAgICAgICAgcXVlcnlQYXJhbXMuYXBwZW5kKCdvcmRlcicsIHNlY3Rpb24gPT09ICdjbGllbnQnID8gJ2NsaWVudCxwcm9qZWN0JyA6ICdwcm9qZWN0LGNsaWVudCcpXG4gICAgICAgICAgfSBlbHNlIGlmIChzZWN0aW9uID09PSAnaGVhZGVyJyAmJiAhaXNNdWx0aUFnZW50cykge1xuICAgICAgICAgICAgLy8gSGVhZGVyIHNpbiBtdWx0aUFnZW50czogc29sbyBsaXN0YXIgYWdlbnRlcyBjbG9uZSAoTWFpYSlcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnYWdlbnRfdHlwZScsICdjbG9uZScpXG4gICAgICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ2xhbmcnLCBpMThuLmxhbmd1YWdlKVxuICAgICAgICAgICAgcXVlcnlQYXJhbXMuYXBwZW5kKCdsaW1pdCcsICc3JylcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnb2Zmc2V0JywgJzAnKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gcXVlcnlQYXJhbXMudG9TdHJpbmcoKVxuICAgICAgICAgIGNvbnN0IHBhdGggPSBgYWdlbnRzJHtxdWVyeVN0cmluZyA/IGA/JHtxdWVyeVN0cmluZ31gIDogJyd9YFxuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcbiAgICAgICAgICAgIC8vIGRhdGEuZGF0YSB5YSBjb250aWVuZSB0b2RvcyBsb3MgYWdlbnRlcyBjbG9uZSBkZSBsYSBxdWVyeSBhZ2VudF90eXBlPWNsb25lXG4gICAgICAgICAgICBhZ2VudFBhcnNlZCA9IGRhdGEuZGF0YSB8fCBbXVxuICAgICAgICAgICAgLy8gT3JkZW5hcjogTWFpYSBwcmltZXJvLCBsdWVnbyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZSwgbHVlZ28gbm8gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGVcbiAgICAgICAgICAgIGFnZW50UGFyc2VkID0gc29ydEFnZW50cyhhZ2VudFBhcnNlZClcbiAgICAgICAgICAgIGhhc01vcmUgPSBkYXRhLmhhc19tb3JlXG4gICAgICAgICAgICBuZXh0T2Zmc2V0ID0gZGF0YS5uZXh0X29mZnNldFxuXG4gICAgICAgICAgICBzZXRBZ2VudHMoe1xuICAgICAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgICAgICBkYXRhOiBhZ2VudFBhcnNlZCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBjYXRjaCAocmVzcG9uc2VFcnJvcjogYW55KSB7XG4gICAgICAgICAgICAvLyBWZXJpZmljYXIgc2kgZWwgZXJyb3IgZXMgNDAzXG4gICAgICAgICAgICAvLyBmZXRjaENPUiBwdWVkZSBsYW56YXIgZGlmZXJlbnRlcyB0aXBvcyBkZSBlcnJvcmVzOlxuICAgICAgICAgICAgLy8gMS4gRXJyb3IgY29uIGVycm9yRGF0YS5kZXRhaWwgc2kgaW5jbHV5ZSAnQWNjZXNzIGRlbmllZCdcbiAgICAgICAgICAgIC8vIDIuIEVycm9yIGdlbsOpcmljbyAnRmFpbGVkIGZldGNoaW5nIGRhdGEnIHNpIGVzIDQwMyBwZXJvIG5vIGluY2x1eWUgJ0FjY2VzcyBkZW5pZWQnXG4gICAgICAgICAgICAvLyAzLiBOZWNlc2l0YW1vcyB2ZXJpZmljYXIgZWwgc3RhdHVzIGNvZGUgc2kgZXN0w6EgZGlzcG9uaWJsZVxuICAgICAgICAgICAgY29uc3QgaXM0MDNFcnJvciA9XG4gICAgICAgICAgICAgIHJlc3BvbnNlRXJyb3I/LnJlc3BvbnNlPy5zdGF0dXMgPT09IDQwMyB8fFxuICAgICAgICAgICAgICByZXNwb25zZUVycm9yPy5zdGF0dXMgPT09IDQwMyB8fFxuICAgICAgICAgICAgICByZXNwb25zZUVycm9yPy5tZXNzYWdlPy5pbmNsdWRlcyhcIllvdSBkb24ndCBoYXZlIHBlcm1pc3Npb24gdG8gdmlldyBhZ2VudHNcIikgfHxcbiAgICAgICAgICAgICAgcmVzcG9uc2VFcnJvcj8ubWVzc2FnZT8uaW5jbHVkZXMoJ0ZhaWxlZCBmZXRjaGluZyBkYXRhJykgLy8gZmV0Y2hDT1IgbGFuemEgZXN0byBwYXJhIDQwMyBzaW4gJ0FjY2VzcyBkZW5pZWQnXG5cbiAgICAgICAgICAgIGlmIChpczQwM0Vycm9yKSB7XG4gICAgICAgICAgICAgIC8vIFNpIGVzIDQwMywgZXN0YWJsZWNlciBhZ2VudGVzIHZhY8Otb3MgeSBjb250aW51YXJcbiAgICAgICAgICAgICAgc2V0QWdlbnRzKHtcbiAgICAgICAgICAgICAgICBkYXRhOiBbXSxcbiAgICAgICAgICAgICAgICBoYXNfbW9yZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgbmV4dF9vZmZzZXQ6IG51bGwsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC8vIExpbXBpYXIgZWwgZXJyb3IgcGFyYSBxdWUgaGFzTm9BZ2VudHMgcHVlZGEgc2VyIHRydWUgeSBzZSBtdWVzdHJlIGVsIGVtcHR5U3RhdGVcbiAgICAgICAgICAgICAgc2V0RXJyb3IobnVsbClcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIFNpIGVzIG90cm8gZXJyb3IsIGxhbnphcmxvXG4gICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlRXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMw7NnaWNhIGRlIHNlbGVjdCBhZ2VudCAtIFNvbG8gc2VsZWNjaW9uYXIgc2kgaGF5IGFnZW50ZXMgZGlzcG9uaWJsZXNcbiAgICAgICAgaWYgKGFnZW50UGFyc2VkLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBpZiAoYWdlbnRUb1NlbGVjdCAmJiBhZ2VudFBhcnNlZC5maW5kKChhZ2VudFRvUmVxdWVzdDogQWdlbnQpID0+IGFnZW50VG9SZXF1ZXN0LmlkID09PSBhZ2VudFRvU2VsZWN0LmlkKSkge1xuICAgICAgICAgICAgaWYgKGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQ/LmlkICE9PSBhZ2VudFRvU2VsZWN0LmlkKSB7XG4gICAgICAgICAgICAgIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQgPSBhZ2VudFRvU2VsZWN0XG4gICAgICAgICAgICAgIHNlbGVjdEFnZW50KGFnZW50VG9TZWxlY3QpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmIChhZ2VudFBhcnNlZD8uWzBdICYmICghYWdlbnQgfHwgIWFnZW50UGFyc2VkLmZpbmQoKGE6IEFnZW50KSA9PiBhLmlkID09PSBhZ2VudC5pZCkpKSB7XG4gICAgICAgICAgICBjb25zdCBhdmFpbGFibGVBZ2VudHMgPVxuICAgICAgICAgICAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTICYmICF1c2VyUm9sZXNEaXNhYmxlZC5pbmNsdWRlcyh1c2VyLnJvbGVfaWQpXG4gICAgICAgICAgICAgICAgPyBhZ2VudFBhcnNlZFxuICAgICAgICAgICAgICAgIDogYWdlbnRQYXJzZWQuZmlsdGVyKChhZ2VudEl0ZW06IEFnZW50KSA9PiBhZ2VudEl0ZW0udHlwZSAhPT0gJ2Nsb25lJylcblxuICAgICAgICAgICAgY29uc3QgW2ZpcnN0QWdlbnRdID0gYXZhaWxhYmxlQWdlbnRzXG4gICAgICAgICAgICBpZiAoZmlyc3RBZ2VudCAmJiBsYXN0U2VsZWN0ZWRBZ2VudFJlZi5jdXJyZW50Py5pZCAhPT0gZmlyc3RBZ2VudC5pZCkge1xuICAgICAgICAgICAgICBsYXN0U2VsZWN0ZWRBZ2VudFJlZi5jdXJyZW50ID0gZmlyc3RBZ2VudFxuICAgICAgICAgICAgICBzZWxlY3RBZ2VudChmaXJzdEFnZW50KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAoYWdlbnRUb1NlbGVjdCAmJiBhZ2VudFBhcnNlZD8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBhdmFpbGFibGVBZ2VudHMgPVxuICAgICAgICAgICAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTICYmICF1c2VyUm9sZXNEaXNhYmxlZC5pbmNsdWRlcyh1c2VyLnJvbGVfaWQpXG4gICAgICAgICAgICAgICAgPyBhZ2VudFBhcnNlZFxuICAgICAgICAgICAgICAgIDogYWdlbnRQYXJzZWQuZmlsdGVyKChhZ2VudEl0ZW06IEFnZW50KSA9PiBhZ2VudEl0ZW0udHlwZSAhPT0gJ2Nsb25lJylcblxuICAgICAgICAgICAgY29uc3QgW2ZpcnN0QXZhaWxhYmxlQWdlbnRdID0gYXZhaWxhYmxlQWdlbnRzXG4gICAgICAgICAgICBpZiAoZmlyc3RBdmFpbGFibGVBZ2VudCAmJiBsYXN0U2VsZWN0ZWRBZ2VudFJlZi5jdXJyZW50Py5pZCAhPT0gZmlyc3RBdmFpbGFibGVBZ2VudC5pZCkge1xuICAgICAgICAgICAgICBsYXN0U2VsZWN0ZWRBZ2VudFJlZi5jdXJyZW50ID0gZmlyc3RBdmFpbGFibGVBZ2VudFxuICAgICAgICAgICAgICBzZWxlY3RBZ2VudChmaXJzdEF2YWlsYWJsZUFnZW50KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdBbiB1bmtub3duIGVycm9yIG9jY3VycmVkJylcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGlzUmVmcmVzaGluZ1JlZi5jdXJyZW50ID0gZmFsc2VcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgaWYgKCFpc1JlZnJlc2hpbmdSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgbGFzdFJlcXVlc3RSZWYuY3VycmVudCA9IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZWxlY3RBZ2VudCwgc2VjdGlvbiwgYWdlbnQsIGxvYWRpbmddXG4gIClcblxuICBjb25zdCBsb2FkTW9yZUFnZW50cyA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBpc011bHRpQWdlbnRzID0gISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTICYmICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgICAvLyBDYXJnYXIgbcOhczogZW4gaGVhZGVyIHNpZW1wcmU7IGVuIHByb2plY3Qgc29sbyBzaSBpc011bHRpQWdlbnRzIChwb3JxdWUgc29sbyBlbnRvbmNlcyBoYXkgcGFnaW5hY2nDs24gZGUgY3VzdG9tKVxuICAgIGNvbnN0IGNhbkxvYWRNb3JlID0gc2VjdGlvbiA9PT0gJ2hlYWRlcicgfHwgaXNNdWx0aUFnZW50c1xuICAgIGlmICghY2FuTG9hZE1vcmUgfHwgIWFnZW50cy5oYXNfbW9yZSB8fCAhYWdlbnRzLm5leHRfb2Zmc2V0IHx8IGxvYWRpbmdNb3JlKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBzZXRMb2FkaW5nTW9yZSh0cnVlKVxuICAgIHNldEVycm9yKG51bGwpXG5cbiAgICB0cnkge1xuICAgICAgbGV0IHBhdGg6IHN0cmluZ1xuXG4gICAgICAvLyBTaSBlcyBtdWx0aUFnZW50cywgc29sbyBjYXJnYXIgYWdlbnRzIGN1c3RvbSAoTWFpYSB5YSBlc3TDoSBjYXJnYWRvKVxuICAgICAgaWYgKGlzTXVsdGlBZ2VudHMpIHtcbiAgICAgICAgcGF0aCA9IGBhZ2VudHM/YWdlbnRfdHlwZT1jdXN0b20mbGltaXQ9NyZvZmZzZXQ9JHthZ2VudHMubmV4dF9vZmZzZXR9YFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2kgbm8gZXMgbXVsdGlBZ2VudHMsIGNhcmdhciBtw6FzIGFnZW50ZXMgY2xvbmUgKE1haWEpXG4gICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpXG4gICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnYWdlbnRfdHlwZScsICdjbG9uZScpXG4gICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnbGFuZycsIGkxOG4ubGFuZ3VhZ2UpXG4gICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnbGltaXQnLCAnNycpXG4gICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnb2Zmc2V0JywgYWdlbnRzLm5leHRfb2Zmc2V0LnRvU3RyaW5nKCkpXG4gICAgICAgIHBhdGggPSBgYWdlbnRzPyR7cXVlcnlQYXJhbXMudG9TdHJpbmcoKX1gXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICAgICAgcGF0aCxcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcblxuICAgICAgLy8gQWN1bXVsYXIgYWdlbnRlcywgZXhjbHV5ZW5kbyBkdXBsaWNhZG9zXG4gICAgICBzZXRBZ2VudHMocHJldiA9PiB7XG4gICAgICAgIGlmIChpc011bHRpQWdlbnRzKSB7XG4gICAgICAgICAgLy8gTMOzZ2ljYSBwYXJhIG11bHRpQWdlbnRzOiBzZXBhcmFyIGNsb25lIHkgY3VzdG9tXG4gICAgICAgICAgLy8gTWFudGVuZXIgdG9kb3MgbG9zIGFnZW50ZXMgY2xvbmUgZXhpc3RlbnRlcyBhbCBpbmljaW9cbiAgICAgICAgICBjb25zdCBleGlzdGluZ0Nsb25lQWdlbnRzID0gcHJldi5kYXRhLmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlID09PSAnY2xvbmUnKVxuXG4gICAgICAgICAgLy8gT2J0ZW5lciBJRHMgZXhpc3RlbnRlcyAoZXhjbHV5ZW5kbyBjbG9uZXMpXG4gICAgICAgICAgY29uc3QgZXhpc3RpbmdJZHMgPSBuZXcgU2V0KHByZXYuZGF0YS5maWx0ZXIoKGFnOiBBZ2VudCkgPT4gYWcudHlwZSAhPT0gJ2Nsb25lJykubWFwKChhZzogQWdlbnQpID0+IGFnLmlkKSlcblxuICAgICAgICAgIC8vIEZpbHRyYXIgbnVldm9zIGFnZW50cyBxdWUgbm8gZXN0w6luIHlhIGVuIGxhIGxpc3RhICh5IHF1ZSBubyBzZWFuIGNsb25lKVxuICAgICAgICAgIGNvbnN0IG5ld0FnZW50cyA9IGRhdGEuZGF0YS5maWx0ZXIoKGFnOiBBZ2VudCkgPT4gYWcudHlwZSAhPT0gJ2Nsb25lJyAmJiAhZXhpc3RpbmdJZHMuaGFzKGFnLmlkKSlcblxuICAgICAgICAgIC8vIENvbnN0cnVpciBlbCBudWV2byBhcnJheTogY2xvbmVzIHByaW1lcm8sIGx1ZWdvIGxvcyBhZ2VudHMgZXhpc3RlbnRlcyBxdWUgbm8gc2VhbiBjbG9uZSwgbHVlZ28gbG9zIG51ZXZvc1xuICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBleGlzdGluZ0Nsb25lQWdlbnRzLmxlbmd0aFxuICAgICAgICAgICAgPyBbLi4uZXhpc3RpbmdDbG9uZUFnZW50cywgLi4ucHJldi5kYXRhLmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlICE9PSAnY2xvbmUnKSwgLi4ubmV3QWdlbnRzXVxuICAgICAgICAgICAgOiBbLi4ucHJldi5kYXRhLmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlICE9PSAnY2xvbmUnKSwgLi4ubmV3QWdlbnRzXVxuXG4gICAgICAgICAgLy8gT3JkZW5hcjogTWFpYSBwcmltZXJvLCBsdWVnbyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZSwgbHVlZ28gbm8gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGVcbiAgICAgICAgICBjb25zdCBzb3J0ZWREYXRhID0gc29ydEFnZW50cyhuZXdEYXRhKVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRhdGE6IHNvcnRlZERhdGEsXG4gICAgICAgICAgICBoYXNfbW9yZTogZGF0YS5oYXNfbW9yZSxcbiAgICAgICAgICAgIG5leHRfb2Zmc2V0OiBkYXRhLm5leHRfb2Zmc2V0LFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBMw7NnaWNhIHBhcmEgIWlzTXVsdGlBZ2VudHM6IHRvZG9zIGxvcyBhZ2VudGVzIHNvbiBjbG9uZSwgc2ltcGxlbWVudGUgYWdyZWdhciBldml0YW5kbyBkdXBsaWNhZG9zXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nSWRzID0gbmV3IFNldChwcmV2LmRhdGEubWFwKChhZzogQWdlbnQpID0+IGFnLmlkKSlcbiAgICAgICAgY29uc3QgbmV3QWdlbnRzID0gKGRhdGEuZGF0YSB8fCBbXSkuZmlsdGVyKChhZzogQWdlbnQpID0+ICFleGlzdGluZ0lkcy5oYXMoYWcuaWQpKVxuICAgICAgICBjb25zdCBuZXdEYXRhID0gWy4uLnByZXYuZGF0YSwgLi4ubmV3QWdlbnRzXVxuXG4gICAgICAgIC8vIE9yZGVuYXI6IE1haWEgcHJpbWVybywgbHVlZ28gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGUsIGx1ZWdvIG5vIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlXG4gICAgICAgIGNvbnN0IHNvcnRlZERhdGEgPSBzb3J0QWdlbnRzKG5ld0RhdGEpXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkYXRhOiBzb3J0ZWREYXRhLFxuICAgICAgICAgIGhhc19tb3JlOiBkYXRhLmhhc19tb3JlLFxuICAgICAgICAgIG5leHRfb2Zmc2V0OiBkYXRhLm5leHRfb2Zmc2V0LFxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICBzZXRMb2FkaW5nTW9yZShmYWxzZSlcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnc25hY2tiYXIubG9hZE1vcmVBZ2VudHMuZXJyb3InKSlcbiAgICAgIHNldExvYWRpbmdNb3JlKGZhbHNlKVxuICAgIH1cbiAgfSwgW3NlY3Rpb24sIGFnZW50cy5oYXNfbW9yZSwgYWdlbnRzLm5leHRfb2Zmc2V0LCBsb2FkaW5nTW9yZSwgaTE4bi5sYW5ndWFnZV0pXG5cbiAgY29uc3QgaGFzTm9BZ2VudHMgPSAhbG9hZGluZyAmJiAhbG9hZGluZ01vcmUgJiYgIWVycm9yICYmIGFnZW50cy5kYXRhLmxlbmd0aCA9PT0gMFxuXG4gIHJldHVybiB7XG4gICAgYWdlbnRzLFxuICAgIGxvYWRpbmcsXG4gICAgbG9hZGluZ01vcmUsXG4gICAgZXJyb3IsXG4gICAgaGFzTm9BZ2VudHMsXG4gICAgaGFuZGxlR2V0QWdlbnRzLFxuICAgIGxvYWRNb3JlQWdlbnRzLFxuICAgIGFkZEFnZW50LFxuICAgIHJlbW92ZUFnZW50LFxuICAgIHVwZGF0ZUFnZW50LFxuICAgIHVwZGF0ZUFnZW50RmF2b3JpdGUsXG4gICAgc2VsZWN0Rmlyc3RBZ2VudCxcbiAgICBzb3J0QWdlbnRzTGlzdCxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQ3JELFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLGtCQUFrQixRQUFRLHNEQUFzRDtBQUN6RixTQUFTQyxTQUFTLFFBQVEsV0FBVztBQUVyQyxTQUFTQyxPQUFPLEVBQUVDLFdBQVcsUUFBUSwyQkFBMkI7O0FBRWhFO0FBQ0E7QUFDQTtBQUNBLElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFJQyxNQUFlLEVBQWM7RUFDL0M7RUFDQSxJQUFNQyxXQUFXLEdBQUdELE1BQU0sQ0FBQ0UsTUFBTSxDQUFDLFVBQUFDLEVBQUU7SUFBQSxPQUFJQSxFQUFFLENBQUNDLElBQUksS0FBSyxPQUFPO0VBQUEsRUFBQztFQUM1RCxJQUFNQyxXQUFXLEdBQUdMLE1BQU0sQ0FBQ0UsTUFBTSxDQUFDLFVBQUFDLEVBQUU7SUFBQSxPQUFJQSxFQUFFLENBQUNDLElBQUksS0FBSyxPQUFPO0VBQUEsRUFBQzs7RUFFNUQ7RUFDQSxJQUFNRSxTQUFTLEdBQUdELFdBQVcsQ0FBQ0gsTUFBTSxDQUFDLFVBQUFDLEVBQUU7SUFBQSxPQUFJQSxFQUFFLENBQUNJLFdBQVc7RUFBQSxFQUFDLENBQUNDLElBQUksQ0FBQyxVQUFDQyxDQUFDLEVBQUVDLENBQUM7SUFBQSxPQUFLRCxDQUFDLENBQUNFLElBQUksQ0FBQ0MsYUFBYSxDQUFDRixDQUFDLENBQUNDLElBQUksQ0FBQztFQUFBLEVBQUM7RUFDdkcsSUFBTUUsWUFB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
566
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlUmVmIiwidXNlVHJhbnNsYXRpb24iLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJmZXRjaE1haWEiLCJ1c2VVc2VyIiwiQ09SVXNlclJvbGUiLCJtYXBDT1JMYW5nIiwic29ydEFnZW50cyIsImFnZW50cyIsImNsb25lQWdlbnRzIiwiZmlsdGVyIiwiYWciLCJ0eXBlIiwib3RoZXJBZ2VudHMiLCJmYXZvcml0ZXMiLCJpc19mYXZvcml0ZSIsInNvcnQiLCJhIiwiYiIsIm5hbWUiLCJsb2NhbGVDb21wYXJlIiwibm9uRmF2b3JpdGVzIiwibGVuZ3RoIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwidXNlR2V0QWdlbnRzIiwiX3JlZiIsInNlbGVjdEFnZW50Iiwic2VjdGlvbiIsImFnZW50IiwiaGFuZGxlR29Ib21lIiwidXNlciIsIl91c2VTdGF0ZSIsImRhdGEiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZXRBZ2VudHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJsb2FkaW5nTW9yZSIsInNldExvYWRpbmdNb3JlIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVNuYWNrQmFyTWFuYWdlciIsImhhbmRsZVNuYWNrYmFyRXJyb3IiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiaTE4biIsImxhc3RTZWxlY3RlZEFnZW50UmVmIiwiaXNSZWZyZXNoaW5nUmVmIiwibGFzdFJlcXVlc3RSZWYiLCJ1c2VyUm9sZXNEaXNhYmxlZCIsIkNPTExBQk9SQVRPUiIsIkZSRUVMQU5DRVIiLCJDTElFTlQiLCJhZGRBZ2VudCIsIm5ld0FnZW50IiwicHJldiIsImFnZW50RXhpc3RzIiwic29tZSIsImV4aXN0aW5nQWdlbnQiLCJpZCIsIm5ld0RhdGEiLCJzb3J0ZWREYXRhIiwiX29iamVjdFNwcmVhZCIsInJlbW92ZUFnZW50IiwiYWdlbnRJZCIsInRvU3RyaW5nIiwidXBkYXRlQWdlbnQiLCJ1cGRhdGVkQWdlbnQiLCJ1cGRhdGVkRGF0YSIsIm1hcCIsInVwZGF0ZUFnZW50RmF2b3JpdGUiLCJzaG91bGRTb3J0IiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiX3JlZjIiLCJtZXNzYWdlIiwiYWdlbnRGaWVsZHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJtZXJnZWRBZ2VudCIsImZpbmFsRGF0YSIsImZpbmQiLCJfcmVmMyIsIl9leGNsdWRlZDIiLCJfcmVmNCIsIl9leGNsdWRlZDMiLCJzb3J0QWdlbnRzTGlzdCIsInNlbGVjdEZpcnN0QWdlbnQiLCJmaXJzdEFnZW50IiwiZmluZEluZGV4IiwiYWdlbnREYXRhIiwiY3VycmVudCIsImhhbmRsZUdldEFnZW50cyIsIl9yZWY1IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJhZ2VudFRvU2VsZWN0IiwiX2FnZW50VG9TZWxlY3QkaWQiLCJyZXF1ZXN0S2V5IiwiaXNNdWx0aUFnZW50cyIsImFnZW50UGFyc2VkIiwiaGFzTW9yZSIsIm5leHRPZmZzZXQiLCJfbWFpYURhdGEkZGF0YSIsIm9yZGVyUGFyYW0iLCJtYWlhUmVzcG9uc2UiLCJtYWlhRGF0YSIsIl9tYWlhRXJyb3IkcmVzcG9uc2UiLCJfbWFpYUVycm9yJG1lc3NhZ2UiLCJfbWFpYUVycm9yJG1lc3NhZ2UyIiwiaXM0MDNFcnJvciIsImN1c3RvbUFnZW50cyIsImN1c3RvbUhhc01vcmUiLCJjdXN0b21OZXh0T2Zmc2V0IiwiY3VzdG9tUmVzcG9uc2UiLCJjdXN0b21EYXRhIiwiX2N1c3RvbUVycm9yJHJlc3BvbnNlIiwiX2N1c3RvbUVycm9yJG1lc3NhZ2UiLCJfY3VzdG9tRXJyb3IkbWVzc2FnZTIiLCJfaXM0MDNFcnJvciIsInF1ZXJ5UGFyYW1zIiwicXVlcnlTdHJpbmciLCJwYXRoIiwicmVzcG9uc2UiLCJfcmVzcG9uc2VFcnJvciRyZXNwb24iLCJfcmVzcG9uc2VFcnJvciRtZXNzYWciLCJfcmVzcG9uc2VFcnJvciRtZXNzYWcyIiwiX2lzNDAzRXJyb3IyIiwiX2FnZW50UGFyc2VkIiwiX2FnZW50UGFyc2VkMiIsIl9sYXN0U2VsZWN0ZWRBZ2VudFJlZiIsIl9sYXN0U2VsZWN0ZWRBZ2VudFJlZjIiLCJhdmFpbGFibGVBZ2VudHMiLCJfYXZhaWxhYmxlQWdlbnRzIiwiX2xhc3RTZWxlY3RlZEFnZW50UmVmMyIsIl9hdmFpbGFibGVBZ2VudHMyIiwiX2F2YWlsYWJsZUFnZW50czMiLCJmaXJzdEF2YWlsYWJsZUFnZW50IiwiX3QiLCJfdDIiLCJfdDMiLCJfdDQiLCJ3cmFwIiwiX2NvbnRleHQiLCJuZXh0IiwiYWJydXB0Iiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUyIsImluY2x1ZGVzIiwicm9sZV9pZCIsImxhbmd1YWdlIiwibWV0aG9kIiwic2VudCIsImpzb24iLCJzdGF0dXMiLCJoYXNfbW9yZSIsIm5leHRfb2Zmc2V0IiwiVVJMU2VhcmNoUGFyYW1zIiwiYXBwZW5kIiwiYWdlbnRUb1JlcXVlc3QiLCJhZ2VudEl0ZW0iLCJFcnJvciIsInNldFRpbWVvdXQiLCJmaW5pc2giLCJzdG9wIiwiX3giLCJhcHBseSIsImxvYWRNb3JlQWdlbnRzIiwiX2NhbGxlZTIiLCJjYW5Mb2FkTW9yZSIsIl90NSIsIl9jb250ZXh0MiIsImV4aXN0aW5nQ2xvbmVBZ2VudHMiLCJleGlzdGluZ0lkcyIsIlNldCIsIm5ld0FnZW50cyIsImhhcyIsImhhc05vQWdlbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvQWdlbnRzL2dldEFnZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLW5lc3RlZC10ZXJuYXJ5ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgdXNlU25hY2tCYXJNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcidcbmltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uL2NsaWVudCdcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyB1c2VVc2VyLCBDT1JVc2VyUm9sZSB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBtYXBDT1JMYW5nIH0gZnJvbSAnLi4vLi4vLi4vbGFuZy91dGlscydcblxuLyoqXG4gKiBPcmRlbmEgbG9zIGFnZW50ZXM6IGFnZW50ZXMgY2xvbmUgcHJpbWVybyAoc2kgZXhpc3RlbiksIGx1ZWdvIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlLCBsdWVnbyBubyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZVxuICovXG5jb25zdCBzb3J0QWdlbnRzID0gKGFnZW50czogQWdlbnRbXSk6IEFnZW50W10gPT4ge1xuICAvLyBTZXBhcmFyIGFnZW50ZXMgY2xvbmUgZGVsIHJlc3RvXG4gIGNvbnN0IGNsb25lQWdlbnRzID0gYWdlbnRzLmZpbHRlcihhZyA9PiBhZy50eXBlID09PSAnY2xvbmUnKVxuICBjb25zdCBvdGhlckFnZW50cyA9IGFnZW50cy5maWx0ZXIoYWcgPT4gYWcudHlwZSAhPT0gJ2Nsb25lJylcblxuICAvLyBTZXBhcmFyIGZhdm9yaXRvcyB5IG5vIGZhdm9yaXRvc1xuICBjb25zdCBmYXZvcml0ZXMgPSBvdGhlckFnZW50cy5maWx0ZXIoYWcgPT4gYWcuaXNfZmF2b3JpdGUpLnNvcnQoKGEsIGIpID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpXG4gIGNvbnN0IG5vbkZhdm9yaXRlcyA9IG90aGVyQWdlbnRzLmZpbHRlcihhZyA9PiAhYWcuaXNfZmF2b3JpdGUpLnNvcnQoKGEsIGIpID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpXG5cbiAgLy8gQ29tYmluYXI6IGNsb25lcyBwcmltZXJvLCBsdWVnbyBmYXZvcml0b3MsIGx1ZWdvIG5vIGZhdm9yaXRvc1xuICByZXR1cm4gY2xvbmVBZ2VudHMubGVuZ3RoID8gWy4uLmNsb25lQWdlbnRzLCAuLi5mYXZvcml0ZXMsIC4uLm5vbkZhdm9yaXRlc10gOiBbLi4uZmF2b3JpdGVzLCAuLi5ub25GYXZvcml0ZXNdXG59XG5cbnR5cGUgVXNlR2V0QWdlbnRzUHJvcHMgPSB7XG4gIHNlbGVjdEFnZW50OiAoYWdlbnQ6IEFnZW50KSA9PiB2b2lkXG4gIHNlY3Rpb246ICdwcm9qZWN0JyB8ICdoZWFkZXInIHwgJ2NsaWVudCdcbiAgYWdlbnQ6IEFnZW50IHwgbnVsbFxuICBoYW5kbGVHb0hvbWU6ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IHVzZUdldEFnZW50cyA9ICh7IHNlbGVjdEFnZW50LCBzZWN0aW9uLCBhZ2VudCwgaGFuZGxlR29Ib21lIH06IFVzZUdldEFnZW50c1Byb3BzKSA9PiB7XG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgW2FnZW50cywgc2V0QWdlbnRzXSA9IHVzZVN0YXRlPHsgZGF0YTogQWdlbnRbXTsgaGFzX21vcmU/OiBib29sZWFuOyBuZXh0X29mZnNldD86IG51bWJlciB8IG51bGwgfT4oeyBkYXRhOiBbXSB9KVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2xvYWRpbmdNb3JlLCBzZXRMb2FkaW5nTW9yZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCB7IGhhbmRsZVNuYWNrYmFyRXJyb3IgfSA9IHVzZVNuYWNrQmFyTWFuYWdlcigpXG4gIGNvbnN0IHsgdCwgaTE4biB9ID0gdXNlVHJhbnNsYXRpb24oJ2NoYXRfYWlfc2VjdGlvbicpXG4gIGNvbnN0IGxhc3RTZWxlY3RlZEFnZW50UmVmID0gdXNlUmVmPEFnZW50IHwgbnVsbD4obnVsbClcbiAgY29uc3QgaXNSZWZyZXNoaW5nUmVmID0gdXNlUmVmKGZhbHNlKVxuICBjb25zdCBsYXN0UmVxdWVzdFJlZiA9IHVzZVJlZjxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IHVzZXJSb2xlc0Rpc2FibGVkID0gW0NPUlVzZXJSb2xlLkNPTExBQk9SQVRPUiwgQ09SVXNlclJvbGUuRlJFRUxBTkNFUiwgQ09SVXNlclJvbGUuQ0xJRU5UXVxuXG4gIGNvbnN0IGFkZEFnZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKG5ld0FnZW50OiBBZ2VudCkgPT4ge1xuICAgICAgc2V0QWdlbnRzKHByZXYgPT4ge1xuICAgICAgICAvLyBWZXJpZmljYXIgc2kgZWwgYWdlbnRlIHlhIGV4aXN0ZSBwYXJhIGV2aXRhciBkdXBsaWNhZG9zXG4gICAgICAgIGNvbnN0IGFnZW50RXhpc3RzID0gcHJldi5kYXRhLnNvbWUoZXhpc3RpbmdBZ2VudCA9PiBleGlzdGluZ0FnZW50LmlkID09PSBuZXdBZ2VudC5pZClcbiAgICAgICAgaWYgKGFnZW50RXhpc3RzKSB7XG4gICAgICAgICAgcmV0dXJuIHByZXZcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdEYXRhID0gWy4uLnByZXYuZGF0YSwgbmV3QWdlbnRdXG4gICAgICAgIGNvbnN0IHNvcnRlZERhdGEgPSBzb3J0QWdlbnRzKG5ld0RhdGEpXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICBkYXRhOiBzb3J0ZWREYXRhLFxuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgaGFuZGxlR29Ib21lKClcbiAgICB9LFxuICAgIFtoYW5kbGVHb0hvbWVdXG4gIClcblxuICBjb25zdCByZW1vdmVBZ2VudCA9IHVzZUNhbGxiYWNrKChhZ2VudElkOiBudW1iZXIgfCBzdHJpbmcpID0+IHtcbiAgICBzZXRBZ2VudHMocHJldiA9PiAoe1xuICAgICAgLi4ucHJldixcbiAgICAgIGRhdGE6IHByZXYuZGF0YS5maWx0ZXIoYSA9PiBhLmlkICE9PSBhZ2VudElkLnRvU3RyaW5nKCkpLFxuICAgIH0pKVxuICB9LCBbXSlcblxuICBjb25zdCB1cGRhdGVBZ2VudCA9IHVzZUNhbGxiYWNrKCh1cGRhdGVkQWdlbnQ6IEFnZW50KSA9PiB7XG4gICAgc2V0QWdlbnRzKHByZXYgPT4ge1xuICAgICAgY29uc3QgdXBkYXRlZERhdGEgPSBwcmV2LmRhdGEubWFwKGV4aXN0aW5nQWdlbnQgPT5cbiAgICAgICAgZXhpc3RpbmdBZ2VudC5pZCA9PT0gdXBkYXRlZEFnZW50LmlkID8gdXBkYXRlZEFnZW50IDogZXhpc3RpbmdBZ2VudFxuICAgICAgKVxuICAgICAgY29uc3Qgc29ydGVkRGF0YSA9IHNvcnRBZ2VudHModXBkYXRlZERhdGEpXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5wcmV2LFxuICAgICAgICBkYXRhOiBzb3J0ZWREYXRhLFxuICAgICAgfVxuICAgIH0pXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHVwZGF0ZUFnZW50RmF2b3JpdGUgPSB1c2VDYWxsYmFjayhcbiAgICAodXBkYXRlZEFnZW50OiBBZ2VudCwgc2hvdWxkU29ydDogYm9vbGVhbiA9IGZhbHNlKSA9PiB7XG4gICAgICBzZXRBZ2VudHMocHJldiA9PiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZWREYXRhID0gcHJldi5kYXRhLm1hcChleGlzdGluZ0FnZW50ID0+IHtcbiAgICAgICAgICBpZiAoZXhpc3RpbmdBZ2VudC5pZCA9PT0gdXBkYXRlZEFnZW50LmlkKSB7XG4gICAgICAgICAgICBjb25zdCB7IG1lc3NhZ2UsIC4uLmFnZW50RmllbGRzIH0gPSB1cGRhdGVkQWdlbnQgYXMgYW55XG4gICAgICAgICAgICBjb25zdCBtZXJnZWRBZ2VudCA9IHsgLi4uZXhpc3RpbmdBZ2VudCwgLi4uYWdlbnRGaWVsZHMgfVxuICAgICAgICAgICAgcmV0dXJuIG1lcmdlZEFnZW50XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBleGlzdGluZ0FnZW50XG4gICAgICAgIH0pXG5cbiAgICAgICAgLy8gU29sbyBvcmRlbmFyIHNpIHNob3VsZFNvcnQgZXMgdHJ1ZVxuICAgICAgICBjb25zdCBmaW5hbERhdGEgPSBzaG91bGRTb3J0ID8gc29ydEFnZW50cyh1cGRhdGVkRGF0YSkgOiB1cGRhdGVkRGF0YVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICBkYXRhOiBmaW5hbERhdGEsXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIC8vIEFjdHVhbGl6YXIgZWwgYWdlbnRlIHNlbGVjY2lvbmFkbyBzaSBlcyBlbCBxdWUgc2UgZXN0w6EgYWN0dWFsaXphbmRvXG4gICAgICBpZiAoYWdlbnQ/LmlkID09PSB1cGRhdGVkQWdlbnQuaWQpIHtcbiAgICAgICAgY29uc3QgZXhpc3RpbmdBZ2VudCA9IGFnZW50cy5kYXRhLmZpbmQoYSA9PiBhLmlkID09PSB1cGRhdGVkQWdlbnQuaWQpXG4gICAgICAgIGlmIChleGlzdGluZ0FnZW50KSB7XG4gICAgICAgICAgY29uc3QgeyBtZXNzYWdlLCAuLi5hZ2VudEZpZWxkcyB9ID0gdXBkYXRlZEFnZW50IGFzIGFueVxuICAgICAgICAgIGNvbnN0IG1lcmdlZEFnZW50ID0geyAuLi5leGlzdGluZ0FnZW50LCAuLi5hZ2VudEZpZWxkcyB9XG4gICAgICAgICAgc2VsZWN0QWdlbnQobWVyZ2VkQWdlbnQpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgeyBtZXNzYWdlLCAuLi5hZ2VudEZpZWxkcyB9ID0gdXBkYXRlZEFnZW50IGFzIGFueVxuICAgICAgICAgIHNlbGVjdEFnZW50KGFnZW50RmllbGRzIGFzIEFnZW50KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBbYWdlbnQsIHNlbGVjdEFnZW50LCBhZ2VudHMuZGF0YV1cbiAgKVxuXG4gIGNvbnN0IHNvcnRBZ2VudHNMaXN0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEFnZW50cyhwcmV2ID0+IHtcbiAgICAgIGNvbnN0IHNvcnRlZERhdGEgPSBzb3J0QWdlbnRzKHByZXYuZGF0YSlcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnByZXYsXG4gICAgICAgIGRhdGE6IHNvcnRlZERhdGEsXG4gICAgICB9XG4gICAgfSlcbiAgfSwgW10pXG5cbiAgY29uc3Qgc2VsZWN0Rmlyc3RBZ2VudCA9IHVzZUNhbGxiYWNrKFxuICAgIChhZ2VudElkPzogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoYWdlbnRzLmRhdGEubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0QWdlbnQgPSBhZ2VudHMuZGF0YS5maW5kSW5kZXgoYWdlbnREYXRhID0+IGFnZW50RGF0YS5pZCA9PT0gYWdlbnRJZClcbiAgICAgICAgbGFzdFNlbGVjdGVkQWdlbnRSZWYuY3VycmVudCA9IGFnZW50cy5kYXRhW2ZpcnN0QWdlbnQgPT09IDAgPyAxIDogMF1cbiAgICAgICAgc2VsZWN0QWdlbnQoYWdlbnRzLmRhdGFbZmlyc3RBZ2VudCA9PT0gMCA/IDEgOiAwXSlcbiAgICAgIH1cbiAgICB9LFxuICAgIFthZ2VudHMuZGF0YSwgc2VsZWN0QWdlbnRdXG4gIClcblxuICBjb25zdCBoYW5kbGVHZXRBZ2VudHMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoYWdlbnRUb1NlbGVjdD86IEFnZW50KSA9PiB7XG4gICAgICBpZiAoaXNSZWZyZXNoaW5nUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RLZXkgPSBhZ2VudFRvU2VsZWN0Py5pZD8udG9TdHJpbmcoKSB8fCAnZGVmYXVsdCdcbiAgICAgIGlmIChsYXN0UmVxdWVzdFJlZi5jdXJyZW50ID09PSByZXF1ZXN0S2V5ICYmICFsb2FkaW5nKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBpc1JlZnJlc2hpbmdSZWYuY3VycmVudCA9IHRydWVcbiAgICAgIGxhc3RSZXF1ZXN0UmVmLmN1cnJlbnQgPSByZXF1ZXN0S2V5XG4gICAgICBzZXRMb2FkaW5nKHRydWUpXG4gICAgICBzZXRFcnJvcihudWxsKVxuXG4gICAgICBjb25zdCBpc011bHRpQWdlbnRzID0gISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTICYmICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcblxuICAgICAgdHJ5IHtcbiAgICAgICAgbGV0IGFnZW50UGFyc2VkOiBBZ2VudFtdID0gW11cbiAgICAgICAgbGV0IGhhc01vcmUgPSBmYWxzZVxuICAgICAgICBsZXQgbmV4dE9mZnNldDogbnVtYmVyIHwgbnVsbCA9IG51bGxcblxuICAgICAgICAvLyBTaSB0aWVuZSBmZWF0dXJlIGFjY2VzcyBtdWx0aSBhZ2VudHMsIGhhY2VyIGRvcyBxdWVyaWVzIChNYWlhICsgY3VzdG9tKSBlbiBjdWFscXVpZXIgc2VjY2nDs25cbiAgICAgICAgaWYgKGlzTXVsdGlBZ2VudHMpIHtcbiAgICAgICAgICAvLyBRdWVyeSAxOiBBZ2VudGVzIGNsb25lIChNYWlhKSAtIFNvbG8gcGFyYSByb2xlcyBwZXJtaXRpZG9zLiBQdWVkZW4gdmVuaXIgbcO6bHRpcGxlcyBhZ2VudGVzIHRpcG8gY2xvbmVcbiAgICAgICAgICBsZXQgY2xvbmVBZ2VudHM6IEFnZW50W10gPSBbXVxuICAgICAgICAgIGlmICghdXNlclJvbGVzRGlzYWJsZWQuaW5jbHVkZXModXNlci5yb2xlX2lkKSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgY29uc3Qgb3JkZXJQYXJhbSA9XG4gICAgICAgICAgICAgICAgc2VjdGlvbiA9PT0gJ2NsaWVudCcgPyAnJm9yZGVyPWNsaWVudCxwcm9qZWN0JyA6IHNlY3Rpb24gPT09ICdwcm9qZWN0JyA/ICcmb3JkZXI9cHJvamVjdCxjbGllbnQnIDogJydcbiAgICAgICAgICAgICAgY29uc3QgbWFpYVJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICAgICAgICAgICAgICBwYXRoOiBgYWdlbnRzP2FnZW50X3R5cGU9Y2xvbmUmbGFuZz0ke21hcENPUkxhbmcoaTE4bi5sYW5ndWFnZSl9JHtvcmRlclBhcmFtfWAsXG4gICAgICAgICAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgY29uc3QgbWFpYURhdGEgPSBhd2FpdCBtYWlhUmVzcG9uc2UuanNvbigpXG4gICAgICAgICAgICAgIGNsb25lQWdlbnRzID0gbWFpYURhdGEuZGF0YT8uZmlsdGVyKChhZzogQWdlbnQpID0+IGFnLnR5cGUgPT09ICdjbG9uZScpIHx8IFtdXG4gICAgICAgICAgICB9IGNhdGNoIChtYWlhRXJyb3I6IGFueSkge1xuICAgICAgICAgICAgICAvLyBWZXJpZmljYXIgc2kgZWwgZXJyb3IgZXMgNDAzXG4gICAgICAgICAgICAgIC8vIGZldGNoQ09SIHB1ZWRlIGxhbnphciBkaWZlcmVudGVzIHRpcG9zIGRlIGVycm9yZXM6XG4gICAgICAgICAgICAgIC8vIDEuIEVycm9yIGNvbiBlcnJvckRhdGEuZGV0YWlsIHNpIGluY2x1eWUgJ0FjY2VzcyBkZW5pZWQnXG4gICAgICAgICAgICAgIC8vIDIuIEVycm9yIGdlbsOpcmljbyAnRmFpbGVkIGZldGNoaW5nIGRhdGEnIHNpIGVzIDQwMyBwZXJvIG5vIGluY2x1eWUgJ0FjY2VzcyBkZW5pZWQnXG4gICAgICAgICAgICAgIC8vIDMuIE5lY2VzaXRhbW9zIHZlcmlmaWNhciBlbCBzdGF0dXMgY29kZSBzaSBlc3TDoSBkaXNwb25pYmxlXG4gICAgICAgICAgICAgIGNvbnN0IGlzNDAzRXJyb3IgPVxuICAgICAgICAgICAgICAgIG1haWFFcnJvcj8ucmVzcG9uc2U/LnN0YXR1cyA9PT0gNDAzIHx8XG4gICAgICAgICAgICAgICAgbWFpYUVycm9yPy5zdGF0dXMgPT09IDQwMyB8fFxuICAgICAgICAgICAgICAgIG1haWFFcnJvcj8ubWVzc2FnZT8uaW5jbHVkZXMoXCJZb3UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHZpZXcgYWdlbnRzXCIpIHx8XG4gICAgICAgICAgICAgICAgbWFpYUVycm9yPy5tZXNzYWdlPy5pbmNsdWRlcygnRmFpbGVkIGZldGNoaW5nIGRhdGEnKSAvLyBmZXRjaENPUiBsYW56YSBlc3RvIHBhcmEgNDAzIHNpbiAnQWNjZXNzIGRlbmllZCdcblxuICAgICAgICAgICAgICBpZiAoaXM0MDNFcnJvcikge1xuICAgICAgICAgICAgICAgIC8vIFNpIGVzIDQwMywgY29udGludWFyIHNpbiBsb3MgY2xvbmVBZ2VudHNcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBTaSBlcyBvdHJvIGVycm9yLCBsYW56YXJsb1xuICAgICAgICAgICAgICAgIHRocm93IG1haWFFcnJvclxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gUXVlcnkgMjogQWdlbnRlcyBjdXN0b20gY29uIHBhZ2luYWNpw7NuXG4gICAgICAgICAgbGV0IGN1c3RvbUFnZW50czogQWdlbnRbXSA9IFtdXG4gICAgICAgICAgbGV0IGN1c3RvbUhhc01vcmUgPSBmYWxzZVxuICAgICAgICAgIGxldCBjdXN0b21OZXh0T2Zmc2V0OiBudW1iZXIgfCBudWxsID0gbnVsbFxuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbVJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICAgICAgICAgICAgcGF0aDogJ2FnZW50cz9hZ2VudF90eXBlPWN1c3RvbSZsaW1pdD03Jm9mZnNldD0wJyxcbiAgICAgICAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBjb25zdCBjdXN0b21EYXRhID0gYXdhaXQgY3VzdG9tUmVzcG9uc2UuanNvbigpXG4gICAgICAgICAgICBjdXN0b21BZ2VudHMgPSBjdXN0b21EYXRhLmRhdGEgfHwgW11cbiAgICAgICAgICAgIGN1c3RvbUhhc01vcmUgPSBjdXN0b21EYXRhLmhhc19tb3JlIHx8IGZhbHNlXG4gICAgICAgICAgICBjdXN0b21OZXh0T2Zmc2V0ID0gY3VzdG9tRGF0YS5uZXh0X29mZnNldCB8fCBudWxsXG4gICAgICAgICAgfSBjYXRjaCAoY3VzdG9tRXJyb3I6IGFueSkge1xuICAgICAgICAgICAgLy8gVmVyaWZpY2FyIHNpIGVsIGVycm9yIGVzIDQwM1xuICAgICAgICAgICAgLy8gZmV0Y2hDT1IgcHVlZGUgbGFuemFyIGRpZmVyZW50ZXMgdGlwb3MgZGUgZXJyb3JlczpcbiAgICAgICAgICAgIC8vIDEuIEVycm9yIGNvbiBlcnJvckRhdGEuZGV0YWlsIHNpIGluY2x1eWUgJ0FjY2VzcyBkZW5pZWQnXG4gICAgICAgICAgICAvLyAyLiBFcnJvciBnZW7DqXJpY28gJ0ZhaWxlZCBmZXRjaGluZyBkYXRhJyBzaSBlcyA0MDMgcGVybyBubyBpbmNsdXllICdBY2Nlc3MgZGVuaWVkJ1xuICAgICAgICAgICAgLy8gMy4gTmVjZXNpdGFtb3MgdmVyaWZpY2FyIGVsIHN0YXR1cyBjb2RlIHNpIGVzdMOhIGRpc3BvbmlibGVcbiAgICAgICAgICAgIGNvbnN0IGlzNDAzRXJyb3IgPVxuICAgICAgICAgICAgICBjdXN0b21FcnJvcj8ucmVzcG9uc2U/LnN0YXR1cyA9PT0gNDAzIHx8XG4gICAgICAgICAgICAgIGN1c3RvbUVycm9yPy5zdGF0dXMgPT09IDQwMyB8fFxuICAgICAgICAgICAgICBjdXN0b21FcnJvcj8ubWVzc2FnZT8uaW5jbHVkZXMoXCJZb3UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHZpZXcgYWdlbnRzXCIpIHx8XG4gICAgICAgICAgICAgIGN1c3RvbUVycm9yPy5tZXNzYWdlPy5pbmNsdWRlcygnRmFpbGVkIGZldGNoaW5nIGRhdGEnKSAvLyBmZXRjaENPUiBsYW56YSBlc3RvIHBhcmEgNDAzIHNpbiAnQWNjZXNzIGRlbmllZCdcblxuICAgICAgICAgICAgaWYgKGlzNDAzRXJyb3IpIHtcbiAgICAgICAgICAgICAgLy8gU2kgZXMgNDAzLCBjb250aW51YXIgc2luIGxvcyBjdXN0b21BZ2VudHMgKGN1c3RvbUFnZW50cyBxdWVkYSBjb21vIGFycmF5IHZhY8OtbylcbiAgICAgICAgICAgICAgLy8gRXN0byBwdWVkZSBvY3VycmlyIGVuIGRvcyBlc2NlbmFyaW9zOlxuICAgICAgICAgICAgICAvLyAxLiBVc3VhcmlvIE5PIGVzIGRlIHVzZXJSb2xlc0Rpc2FibGVkOiB0ZW5kcsOhIHNvbG8gbG9zIGNsb25lQWdlbnRzIChzaSBsYSBxdWVyeSBjbG9uZSBmdWUgZXhpdG9zYSlcbiAgICAgICAgICAgICAgLy8gMi4gVXN1YXJpbyBTw40gZXMgZGUgdXNlclJvbGVzRGlzYWJsZWQ6IGVsIGxpc3RhZG8gcXVlZGFyw6EgdmFjw61vIChwb3JxdWUgbm8gaGF5IGNsb25lQWdlbnRzKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gU2kgZXMgb3RybyBlcnJvciwgbGFuemFybG9cbiAgICAgICAgICAgICAgdGhyb3cgY3VzdG9tRXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBDb21iaW5hcjogYWdlbnRlcyBjbG9uZSBwcmltZXJvLCBsdWVnbyBsb3MgY3VzdG9tIChzaSBleGlzdGVuKVxuICAgICAgICAgIC8vIFNpIGVsIHVzdWFyaW8gdGllbmUgdW4gcm9sIGRlc2hhYmlsaXRhZG8sIG5vIGluY2x1aXIgY2xvbmVBZ2VudHNcbiAgICAgICAgICBpZiAodXNlclJvbGVzRGlzYWJsZWQuaW5jbHVkZXModXNlci5yb2xlX2lkKSkge1xuICAgICAgICAgICAgLy8gVXN1YXJpbyBkZSByb2xlcyBkaXNhYmxlZDogc29sbyBjdXN0b21BZ2VudHNcbiAgICAgICAgICAgIC8vIFNpIGN1c3RvbUFnZW50cyBlc3TDoSB2YWPDrW8gKHBvciA0MDMpLCBhZ2VudFBhcnNlZCBzZXLDoSBbXSB5IHNlIG1vc3RyYXLDoSBlbXB0eVN0YXRlXG4gICAgICAgICAgICBhZ2VudFBhcnNlZCA9IGN1c3RvbUFnZW50c1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBVc3VhcmlvIG5vcm1hbDogY2xvbmVBZ2VudHMgKyBjdXN0b21BZ2VudHNcbiAgICAgICAgICAgIC8vIFNpIGN1c3RvbUFnZW50cyBlc3TDoSB2YWPDrW8gKHBvciA0MDMpIHBlcm8gaGF5IGNsb25lQWdlbnRzLCBhZ2VudFBhcnNlZCB0ZW5kcsOhIGxvcyBjbG9uZXNcbiAgICAgICAgICAgIC8vIFNpIG5vIGhheSBjbG9uZUFnZW50cyBuaSBjdXN0b21BZ2VudHMsIGFnZW50UGFyc2VkIHNlcsOhIFtdIHkgc2UgbW9zdHJhcsOhIGVtcHR5U3RhdGVcbiAgICAgICAgICAgIGFnZW50UGFyc2VkID0gY2xvbmVBZ2VudHMubGVuZ3RoID8gWy4uLmNsb25lQWdlbnRzLCAuLi5jdXN0b21BZ2VudHNdIDogY3VzdG9tQWdlbnRzXG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIE9yZGVuYXI6IE1haWEgcHJpbWVybywgbHVlZ28gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGUsIGx1ZWdvIG5vIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlXG4gICAgICAgICAgYWdlbnRQYXJzZWQgPSBzb3J0QWdlbnRzKGFnZW50UGFyc2VkKVxuICAgICAgICAgIGhhc01vcmUgPSBjdXN0b21IYXNNb3JlXG4gICAgICAgICAgbmV4dE9mZnNldCA9IGN1c3RvbU5leHRPZmZzZXRcblxuICAgICAgICAgIHNldEFnZW50cyh7XG4gICAgICAgICAgICBkYXRhOiBhZ2VudFBhcnNlZCxcbiAgICAgICAgICAgIGhhc19tb3JlOiBoYXNNb3JlLFxuICAgICAgICAgICAgbmV4dF9vZmZzZXQ6IG5leHRPZmZzZXQsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIC8vIFNpIG5vIGhheSBhZ2VudGVzIGRlc3B1w6lzIGRlIHByb2Nlc2FyIGxhcyBxdWVyaWVzLCBsaW1waWFyIGVsIGVycm9yXG4gICAgICAgICAgLy8gcGFyYSBxdWUgaGFzTm9BZ2VudHMgcHVlZGEgc2VyIHRydWUgeSBzZSBtdWVzdHJlIGVsIGVtcHR5U3RhdGVcbiAgICAgICAgICBpZiAoYWdlbnRQYXJzZWQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBMw7NnaWNhIHBhcmEgcHJvamVjdCBvIGhlYWRlciBzaW4gbXVsdGlBZ2VudHNcbiAgICAgICAgICBjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuICAgICAgICAgIGlmIChzZWN0aW9uID09PSAncHJvamVjdCcgfHwgc2VjdGlvbiA9PT0gJ2NsaWVudCcpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnYWdlbnRfdHlwZScsICdjbG9uZScpXG4gICAgICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ2xhbmcnLCBtYXBDT1JMYW5nKGkxOG4ubGFuZ3VhZ2UpKVxuICAgICAgICAgICAgcXVlcnlQYXJhbXMuYXBwZW5kKCdvcmRlcicsIHNlY3Rpb24gPT09ICdjbGllbnQnID8gJ2NsaWVudCxwcm9qZWN0JyA6ICdwcm9qZWN0LGNsaWVudCcpXG4gICAgICAgICAgfSBlbHNlIGlmIChzZWN0aW9uID09PSAnaGVhZGVyJyAmJiAhaXNNdWx0aUFnZW50cykge1xuICAgICAgICAgICAgLy8gSGVhZGVyIHNpbiBtdWx0aUFnZW50czogc29sbyBsaXN0YXIgYWdlbnRlcyBjbG9uZSAoTWFpYSlcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnYWdlbnRfdHlwZScsICdjbG9uZScpXG4gICAgICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ2xhbmcnLCBtYXBDT1JMYW5nKGkxOG4ubGFuZ3VhZ2UpKVxuICAgICAgICAgICAgcXVlcnlQYXJhbXMuYXBwZW5kKCdsaW1pdCcsICc3JylcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnb2Zmc2V0JywgJzAnKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gcXVlcnlQYXJhbXMudG9TdHJpbmcoKVxuICAgICAgICAgIGNvbnN0IHBhdGggPSBgYWdlbnRzJHtxdWVyeVN0cmluZyA/IGA/JHtxdWVyeVN0cmluZ31gIDogJyd9YFxuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcbiAgICAgICAgICAgIC8vIGRhdGEuZGF0YSB5YSBjb250aWVuZSB0b2RvcyBsb3MgYWdlbnRlcyBjbG9uZSBkZSBsYSBxdWVyeSBhZ2VudF90eXBlPWNsb25lXG4gICAgICAgICAgICBhZ2VudFBhcnNlZCA9IGRhdGEuZGF0YSB8fCBbXVxuICAgICAgICAgICAgLy8gT3JkZW5hcjogTWFpYSBwcmltZXJvLCBsdWVnbyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZSwgbHVlZ28gbm8gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGVcbiAgICAgICAgICAgIGFnZW50UGFyc2VkID0gc29ydEFnZW50cyhhZ2VudFBhcnNlZClcbiAgICAgICAgICAgIGhhc01vcmUgPSBkYXRhLmhhc19tb3JlXG4gICAgICAgICAgICBuZXh0T2Zmc2V0ID0gZGF0YS5uZXh0X29mZnNldFxuXG4gICAgICAgICAgICBzZXRBZ2VudHMoe1xuICAgICAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgICAgICBkYXRhOiBhZ2VudFBhcnNlZCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSBjYXRjaCAocmVzcG9uc2VFcnJvcjogYW55KSB7XG4gICAgICAgICAgICAvLyBWZXJpZmljYXIgc2kgZWwgZXJyb3IgZXMgNDAzXG4gICAgICAgICAgICAvLyBmZXRjaENPUiBwdWVkZSBsYW56YXIgZGlmZXJlbnRlcyB0aXBvcyBkZSBlcnJvcmVzOlxuICAgICAgICAgICAgLy8gMS4gRXJyb3IgY29uIGVycm9yRGF0YS5kZXRhaWwgc2kgaW5jbHV5ZSAnQWNjZXNzIGRlbmllZCdcbiAgICAgICAgICAgIC8vIDIuIEVycm9yIGdlbsOpcmljbyAnRmFpbGVkIGZldGNoaW5nIGRhdGEnIHNpIGVzIDQwMyBwZXJvIG5vIGluY2x1eWUgJ0FjY2VzcyBkZW5pZWQnXG4gICAgICAgICAgICAvLyAzLiBOZWNlc2l0YW1vcyB2ZXJpZmljYXIgZWwgc3RhdHVzIGNvZGUgc2kgZXN0w6EgZGlzcG9uaWJsZVxuICAgICAgICAgICAgY29uc3QgaXM0MDNFcnJvciA9XG4gICAgICAgICAgICAgIHJlc3BvbnNlRXJyb3I/LnJlc3BvbnNlPy5zdGF0dXMgPT09IDQwMyB8fFxuICAgICAgICAgICAgICByZXNwb25zZUVycm9yPy5zdGF0dXMgPT09IDQwMyB8fFxuICAgICAgICAgICAgICByZXNwb25zZUVycm9yPy5tZXNzYWdlPy5pbmNsdWRlcyhcIllvdSBkb24ndCBoYXZlIHBlcm1pc3Npb24gdG8gdmlldyBhZ2VudHNcIikgfHxcbiAgICAgICAgICAgICAgcmVzcG9uc2VFcnJvcj8ubWVzc2FnZT8uaW5jbHVkZXMoJ0ZhaWxlZCBmZXRjaGluZyBkYXRhJykgLy8gZmV0Y2hDT1IgbGFuemEgZXN0byBwYXJhIDQwMyBzaW4gJ0FjY2VzcyBkZW5pZWQnXG5cbiAgICAgICAgICAgIGlmIChpczQwM0Vycm9yKSB7XG4gICAgICAgICAgICAgIC8vIFNpIGVzIDQwMywgZXN0YWJsZWNlciBhZ2VudGVzIHZhY8Otb3MgeSBjb250aW51YXJcbiAgICAgICAgICAgICAgc2V0QWdlbnRzKHtcbiAgICAgICAgICAgICAgICBkYXRhOiBbXSxcbiAgICAgICAgICAgICAgICBoYXNfbW9yZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgbmV4dF9vZmZzZXQ6IG51bGwsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIC8vIExpbXBpYXIgZWwgZXJyb3IgcGFyYSBxdWUgaGFzTm9BZ2VudHMgcHVlZGEgc2VyIHRydWUgeSBzZSBtdWVzdHJlIGVsIGVtcHR5U3RhdGVcbiAgICAgICAgICAgICAgc2V0RXJyb3IobnVsbClcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIFNpIGVzIG90cm8gZXJyb3IsIGxhbnphcmxvXG4gICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlRXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMw7NnaWNhIGRlIHNlbGVjdCBhZ2VudCAtIFNvbG8gc2VsZWNjaW9uYXIgc2kgaGF5IGFnZW50ZXMgZGlzcG9uaWJsZXNcbiAgICAgICAgaWYgKGFnZW50UGFyc2VkLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBpZiAoYWdlbnRUb1NlbGVjdCAmJiBhZ2VudFBhcnNlZC5maW5kKChhZ2VudFRvUmVxdWVzdDogQWdlbnQpID0+IGFnZW50VG9SZXF1ZXN0LmlkID09PSBhZ2VudFRvU2VsZWN0LmlkKSkge1xuICAgICAgICAgICAgaWYgKGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQ/LmlkICE9PSBhZ2VudFRvU2VsZWN0LmlkKSB7XG4gICAgICAgICAgICAgIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQgPSBhZ2VudFRvU2VsZWN0XG4gICAgICAgICAgICAgIHNlbGVjdEFnZW50KGFnZW50VG9TZWxlY3QpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmIChhZ2VudFBhcnNlZD8uWzBdICYmICghYWdlbnQgfHwgIWFnZW50UGFyc2VkLmZpbmQoKGE6IEFnZW50KSA9PiBhLmlkID09PSBhZ2VudC5pZCkpKSB7XG4gICAgICAgICAgICBjb25zdCBhdmFpbGFibGVBZ2VudHMgPVxuICAgICAgICAgICAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTICYmICF1c2VyUm9sZXNEaXNhYmxlZC5pbmNsdWRlcyh1c2VyLnJvbGVfaWQpXG4gICAgICAgICAgICAgICAgPyBhZ2VudFBhcnNlZFxuICAgICAgICAgICAgICAgIDogYWdlbnRQYXJzZWQuZmlsdGVyKChhZ2VudEl0ZW06IEFnZW50KSA9PiBhZ2VudEl0ZW0udHlwZSAhPT0gJ2Nsb25lJylcblxuICAgICAgICAgICAgY29uc3QgW2ZpcnN0QWdlbnRdID0gYXZhaWxhYmxlQWdlbnRzXG4gICAgICAgICAgICBpZiAoZmlyc3RBZ2VudCAmJiBsYXN0U2VsZWN0ZWRBZ2VudFJlZi5jdXJyZW50Py5pZCAhPT0gZmlyc3RBZ2VudC5pZCkge1xuICAgICAgICAgICAgICBsYXN0U2VsZWN0ZWRBZ2VudFJlZi5jdXJyZW50ID0gZmlyc3RBZ2VudFxuICAgICAgICAgICAgICBzZWxlY3RBZ2VudChmaXJzdEFnZW50KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAoYWdlbnRUb1NlbGVjdCAmJiBhZ2VudFBhcnNlZD8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBhdmFpbGFibGVBZ2VudHMgPVxuICAgICAgICAgICAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTICYmICF1c2VyUm9sZXNEaXNhYmxlZC5pbmNsdWRlcyh1c2VyLnJvbGVfaWQpXG4gICAgICAgICAgICAgICAgPyBhZ2VudFBhcnNlZFxuICAgICAgICAgICAgICAgIDogYWdlbnRQYXJzZWQuZmlsdGVyKChhZ2VudEl0ZW06IEFnZW50KSA9PiBhZ2VudEl0ZW0udHlwZSAhPT0gJ2Nsb25lJylcblxuICAgICAgICAgICAgY29uc3QgW2ZpcnN0QXZhaWxhYmxlQWdlbnRdID0gYXZhaWxhYmxlQWdlbnRzXG4gICAgICAgICAgICBpZiAoZmlyc3RBdmFpbGFibGVBZ2VudCAmJiBsYXN0U2VsZWN0ZWRBZ2VudFJlZi5jdXJyZW50Py5pZCAhPT0gZmlyc3RBdmFpbGFibGVBZ2VudC5pZCkge1xuICAgICAgICAgICAgICBsYXN0U2VsZWN0ZWRBZ2VudFJlZi5jdXJyZW50ID0gZmlyc3RBdmFpbGFibGVBZ2VudFxuICAgICAgICAgICAgICBzZWxlY3RBZ2VudChmaXJzdEF2YWlsYWJsZUFnZW50KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdBbiB1bmtub3duIGVycm9yIG9jY3VycmVkJylcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGlzUmVmcmVzaGluZ1JlZi5jdXJyZW50ID0gZmFsc2VcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgaWYgKCFpc1JlZnJlc2hpbmdSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgbGFzdFJlcXVlc3RSZWYuY3VycmVudCA9IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZWxlY3RBZ2VudCwgc2VjdGlvbiwgYWdlbnQsIGxvYWRpbmddXG4gIClcblxuICBjb25zdCBsb2FkTW9yZUFnZW50cyA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBpc011bHRpQWdlbnRzID0gISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTICYmICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgICAvLyBDYXJnYXIgbcOhczogZW4gaGVhZGVyIHNpZW1wcmU7IGVuIHByb2plY3Qgc29sbyBzaSBpc011bHRpQWdlbnRzIChwb3JxdWUgc29sbyBlbnRvbmNlcyBoYXkgcGFnaW5hY2nDs24gZGUgY3VzdG9tKVxuICAgIGNvbnN0IGNhbkxvYWRNb3JlID0gc2VjdGlvbiA9PT0gJ2hlYWRlcicgfHwgaXNNdWx0aUFnZW50c1xuICAgIGlmICghY2FuTG9hZE1vcmUgfHwgIWFnZW50cy5oYXNfbW9yZSB8fCAhYWdlbnRzLm5leHRfb2Zmc2V0IHx8IGxvYWRpbmdNb3JlKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBzZXRMb2FkaW5nTW9yZSh0cnVlKVxuICAgIHNldEVycm9yKG51bGwpXG5cbiAgICB0cnkge1xuICAgICAgbGV0IHBhdGg6IHN0cmluZ1xuXG4gICAgICAvLyBTaSBlcyBtdWx0aUFnZW50cywgc29sbyBjYXJnYXIgYWdlbnRzIGN1c3RvbSAoTWFpYSB5YSBlc3TDoSBjYXJnYWRvKVxuICAgICAgaWYgKGlzTXVsdGlBZ2VudHMpIHtcbiAgICAgICAgcGF0aCA9IGBhZ2VudHM/YWdlbnRfdHlwZT1jdXN0b20mbGltaXQ9NyZvZmZzZXQ9JHthZ2VudHMubmV4dF9vZmZzZXR9YFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2kgbm8gZXMgbXVsdGlBZ2VudHMsIGNhcmdhciBtw6FzIGFnZW50ZXMgY2xvbmUgKE1haWEpXG4gICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpXG4gICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnYWdlbnRfdHlwZScsICdjbG9uZScpXG4gICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnbGFuZycsIG1hcENPUkxhbmcoaTE4bi5sYW5ndWFnZSkpXG4gICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnbGltaXQnLCAnNycpXG4gICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnb2Zmc2V0JywgYWdlbnRzLm5leHRfb2Zmc2V0LnRvU3RyaW5nKCkpXG4gICAgICAgIHBhdGggPSBgYWdlbnRzPyR7cXVlcnlQYXJhbXMudG9TdHJpbmcoKX1gXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICAgICAgcGF0aCxcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcblxuICAgICAgLy8gQWN1bXVsYXIgYWdlbnRlcywgZXhjbHV5ZW5kbyBkdXBsaWNhZG9zXG4gICAgICBzZXRBZ2VudHMocHJldiA9PiB7XG4gICAgICAgIGlmIChpc011bHRpQWdlbnRzKSB7XG4gICAgICAgICAgLy8gTMOzZ2ljYSBwYXJhIG11bHRpQWdlbnRzOiBzZXBhcmFyIGNsb25lIHkgY3VzdG9tXG4gICAgICAgICAgLy8gTWFudGVuZXIgdG9kb3MgbG9zIGFnZW50ZXMgY2xvbmUgZXhpc3RlbnRlcyBhbCBpbmljaW9cbiAgICAgICAgICBjb25zdCBleGlzdGluZ0Nsb25lQWdlbnRzID0gcHJldi5kYXRhLmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlID09PSAnY2xvbmUnKVxuXG4gICAgICAgICAgLy8gT2J0ZW5lciBJRHMgZXhpc3RlbnRlcyAoZXhjbHV5ZW5kbyBjbG9uZXMpXG4gICAgICAgICAgY29uc3QgZXhpc3RpbmdJZHMgPSBuZXcgU2V0KHByZXYuZGF0YS5maWx0ZXIoKGFnOiBBZ2VudCkgPT4gYWcudHlwZSAhPT0gJ2Nsb25lJykubWFwKChhZzogQWdlbnQpID0+IGFnLmlkKSlcblxuICAgICAgICAgIC8vIEZpbHRyYXIgbnVldm9zIGFnZW50cyBxdWUgbm8gZXN0w6luIHlhIGVuIGxhIGxpc3RhICh5IHF1ZSBubyBzZWFuIGNsb25lKVxuICAgICAgICAgIGNvbnN0IG5ld0FnZW50cyA9IGRhdGEuZGF0YS5maWx0ZXIoKGFnOiBBZ2VudCkgPT4gYWcudHlwZSAhPT0gJ2Nsb25lJyAmJiAhZXhpc3RpbmdJZHMuaGFzKGFnLmlkKSlcblxuICAgICAgICAgIC8vIENvbnN0cnVpciBlbCBudWV2byBhcnJheTogY2xvbmVzIHByaW1lcm8sIGx1ZWdvIGxvcyBhZ2VudHMgZXhpc3RlbnRlcyBxdWUgbm8gc2VhbiBjbG9uZSwgbHVlZ28gbG9zIG51ZXZvc1xuICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBleGlzdGluZ0Nsb25lQWdlbnRzLmxlbmd0aFxuICAgICAgICAgICAgPyBbLi4uZXhpc3RpbmdDbG9uZUFnZW50cywgLi4ucHJldi5kYXRhLmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlICE9PSAnY2xvbmUnKSwgLi4ubmV3QWdlbnRzXVxuICAgICAgICAgICAgOiBbLi4ucHJldi5kYXRhLmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlICE9PSAnY2xvbmUnKSwgLi4ubmV3QWdlbnRzXVxuXG4gICAgICAgICAgLy8gT3JkZW5hcjogTWFpYSBwcmltZXJvLCBsdWVnbyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZSwgbHVlZ28gbm8gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGVcbiAgICAgICAgICBjb25zdCBzb3J0ZWREYXRhID0gc29ydEFnZW50cyhuZXdEYXRhKVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRhdGE6IHNvcnRlZERhdGEsXG4gICAgICAgICAgICBoYXNfbW9yZTogZGF0YS5oYXNfbW9yZSxcbiAgICAgICAgICAgIG5leHRfb2Zmc2V0OiBkYXRhLm5leHRfb2Zmc2V0LFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBMw7NnaWNhIHBhcmEgIWlzTXVsdGlBZ2VudHM6IHRvZG9zIGxvcyBhZ2VudGVzIHNvbiBjbG9uZSwgc2ltcGxlbWVudGUgYWdyZWdhciBldml0YW5kbyBkdXBsaWNhZG9zXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nSWRzID0gbmV3IFNldChwcmV2LmRhdGEubWFwKChhZzogQWdlbnQpID0+IGFnLmlkKSlcbiAgICAgICAgY29uc3QgbmV3QWdlbnRzID0gKGRhdGEuZGF0YSB8fCBbXSkuZmlsdGVyKChhZzogQWdlbnQpID0+ICFleGlzdGluZ0lkcy5oYXMoYWcuaWQpKVxuICAgICAgICBjb25zdCBuZXdEYXRhID0gWy4uLnByZXYuZGF0YSwgLi4ubmV3QWdlbnRzXVxuXG4gICAgICAgIC8vIE9yZGVuYXI6IE1haWEgcHJpbWVybywgbHVlZ28gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGUsIGx1ZWdvIG5vIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlXG4gICAgICAgIGNvbnN0IHNvcnRlZERhdGEgPSBzb3J0QWdlbnRzKG5ld0RhdGEpXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkYXRhOiBzb3J0ZWREYXRhLFxuICAgICAgICAgIGhhc19tb3JlOiBkYXRhLmhhc19tb3JlLFxuICAgICAgICAgIG5leHRfb2Zmc2V0OiBkYXRhLm5leHRfb2Zmc2V0LFxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICBzZXRMb2FkaW5nTW9yZShmYWxzZSlcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnc25hY2tiYXIubG9hZE1vcmVBZ2VudHMuZXJyb3InKSlcbiAgICAgIHNldExvYWRpbmdNb3JlKGZhbHNlKVxuICAgIH1cbiAgfSwgW3NlY3Rpb24sIGFnZW50cy5oYXNfbW9yZSwgYWdlbnRzLm5leHRfb2Zmc2V0LCBsb2FkaW5nTW9yZSwgaTE4bi5sYW5ndWFnZV0pXG5cbiAgY29uc3QgaGFzTm9BZ2VudHMgPSAhbG9hZGluZyAmJiAhbG9hZGluZ01vcmUgJiYgIWVycm9yICYmIGFnZW50cy5kYXRhLmxlbmd0aCA9PT0gMFxuXG4gIHJldHVybiB7XG4gICAgYWdlbnRzLFxuICAgIGxvYWRpbmcsXG4gICAgbG9hZGluZ01vcmUsXG4gICAgZXJyb3IsXG4gICAgaGFzTm9BZ2VudHMsXG4gICAgaGFuZGxlR2V0QWdlbnRzLFxuICAgIGxvYWRNb3JlQWdlbnRzLFxuICAgIGFkZEFnZW50LFxuICAgIHJlbW92ZUFnZW50LFxuICAgIHVwZGF0ZUFnZW50LFxuICAgIHVwZGF0ZUFnZW50RmF2b3JpdGUsXG4gICAgc2VsZWN0Rmlyc3RBZ2VudCxcbiAgICBzb3J0QWdlbnRzTGlzdCxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQ3JELFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLGtCQUFrQixRQUFRLHNEQUFzRDtBQUN6RixTQUFTQyxTQUFTLFFBQVEsV0FBVztBQUVyQyxTQUFTQyxPQUFPLEVBQUVDLFdBQVcsUUFBUSwyQkFBMkI7QUFDaEUsU0FBU0MsVUFBVSxRQUFRLHFCQUFxQjs7QUFFaEQ7QUFDQTtBQUNBO0FBQ0EsSUFBTUMsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUlDLE1BQWUsRUFBYztFQUMvQztFQUNBLElBQU1DLFdBQVcsR0FBR0QsTUFBTSxDQUFDRSxNQUFNLENBQUMsVUFBQUMsRUFBRTtJQUFBLE9BQUlBLEVBQUUsQ0FBQ0MsSUFBSSxLQUFLLE9BQU87RUFBQSxFQUFDO0VBQzVELElBQU1DLFdBQVcsR0FBR0wsTUFBTSxDQUFDRSxNQUFNLENBQUMsVUFBQUMsRUFBRTtJQUFBLE9BQUlBLEVBQUUsQ0FBQ0MsSUFBSSxLQUFLLE9BQU87RUFBQSxFQUFDOztFQUU1RDtFQUNBLElBQU1FLFNBQVMsR0FBR0QsV0FBVyxDQUFDSCxNQUFNLENBQUMsVUFBQUMsRUFBRTtJQUFBLE9BQUlBLEVBQUUsQ0FBQ0ksV0FBVztFQUFBLEVBQUMsQ0FBQ0MsSUFBSSxDQUFDLFVBQUNDLENBQUMsRUFBRUMsQ0FBQztJQUFBLE9BQUtELENBQUMsQ0FBQ0UsSUFBSSxDQUFDQyxhQUFhLENBQUNGLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO0VBQUEsRUFBQztFQUN2RyxJQUFNRSxZQUFZLEdBQUdSLFdBQVcsQ0FBQ0gsTUFBTSxDQUFDLFVBQUFDLEVBQUU7SUFBQSxPQUFJLENBQUNBLEVBQUUsQ0FBQ0ksV0FBVztFQUFBLEVBQUMsQ0FBQ0MsSUFBSSxDQUFDLFVBQUNDLENBQUMsRUFBRUMsQ0FBQztJQUFBLE9BQUtELENBQUMsQ0FBQ0UsSUFBSSxDQUFDQyxhQUFhLENBQUNGLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO0VBQUEsRUFBQzs7RUFFM0c7RUFDQSxPQUFPVixXQUFXLENBQUNhLE1BQU0sTUFBQUMsTUFBQSxDQUFBQyxrQkFBQSxDQUFPZixXQUFXLEdBQUFlLGtCQUFBLENBQUtWLFNBQVMsR0FBQVUsa0JBQUEsQ0FBS0gsWUFBWSxRQUFBRSxNQUFBLENBQUFDLGtCQUFBLENBQVFWLFNBQVMsR0FBQVUsa0JBQUEsQ0FBS0gsWUFBWSxFQUFDO0FBQy9HLENBQUM7QUFTRCxPQUFPLElBQU1JLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFBQyxJQUFBLEVBQXlFO0VBQUEsSUFBbkVDLFdBQVcsR0FBQUQsSUFBQSxDQUFYQyxXQUFXO0lBQUVDLE9BQU8sR0FBQUYsSUFBQSxDQUFQRSxPQUFPO0lBQUVDLEtBQUssR0FBQUgsSUFBQSxDQUFMRyxLQUFLO0lBQUVDLFlBQVksR0FBQUosSUFBQSxDQUFaSSxZQUFZO0VBQ3RFLElBQU1DLElBQUksR0FBRzNCLE9BQU8sQ0FBQyxDQUFDO0VBQ3RCLElBQUE0QixTQUFBLEdBQTRCbEMsUUFBUSxDQUFxRTtNQUFFbUMsSUFBSSxFQUFFO0lBQUcsQ0FBQyxDQUFDO0lBQUFDLFVBQUEsR0FBQUMsY0FBQSxDQUFBSCxTQUFBO0lBQS9HeEIsTUFBTSxHQUFBMEIsVUFBQTtJQUFFRSxTQUFTLEdBQUFGLFVBQUE7RUFDeEIsSUFBQUcsVUFBQSxHQUE4QnZDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQXdDLFVBQUEsR0FBQUgsY0FBQSxDQUFBRSxVQUFBO0lBQXRDRSxPQUFPLEdBQUFELFVBQUE7SUFBRUUsVUFBVSxHQUFBRixVQUFBO0VBQzFCLElBQUFHLFVBQUEsR0FBc0MzQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUE0QyxVQUFBLEdBQUFQLGNBQUEsQ0FBQU0sVUFBQTtJQUE5Q0UsV0FBVyxHQUFBRCxVQUFBO0lBQUVFLGNBQWMsR0FBQUYsVUFBQTtFQUNsQyxJQUFBRyxVQUFBLEdBQTBCL0MsUUFBUSxDQUFnQixJQUFJLENBQUM7SUFBQWdELFVBQUEsR0FBQVgsY0FBQSxDQUFBVSxVQUFBO0lBQWhERSxLQUFLLEdBQUFELFVBQUE7SUFBRUUsUUFBUSxHQUFBRixVQUFBO0VBQ3RCLElBQUFHLG1CQUFBLEdBQWdDL0Msa0JBQWtCLENBQUMsQ0FBQztJQUE1Q2dELG1CQUFtQixHQUFBRCxtQkFBQSxDQUFuQkMsbUJBQW1CO0VBQzNCLElBQUFDLGVBQUEsR0FBb0JsRCxjQUFjLENBQUMsaUJBQWlCLENBQUM7SUFBN0NtRCxDQUFDLEdBQUFELGVBQUEsQ0FBREMsQ0FBQztJQUFFQyxJQUFJLEdBQUFGLGVBQUEsQ0FBSkUsSUFBSTtFQUNmLElBQU1DLG9CQUFvQixHQUFHdEQsTUFBTSxDQUFlLElBQUksQ0FBQztFQUN2RCxJQUFNdUQsZUFBZSxHQUFHdkQsTUFBTSxDQUFDLEtBQUssQ0FBQztFQUNyQyxJQUFNd0QsY0FBYyxHQUFHeEQsTUFBTSxDQUFnQixJQUFJLENBQUM7RUFFbEQsSUFBTXlELGlCQUFpQixHQUFHLENBQUNwRCxXQUFXLENBQUNxRCxZQUFZLEVBQUVyRCxXQUFXLENBQUNzRCxVQUFVLEVBQUV0RCxXQUFXLENBQUN1RCxNQUFNLENBQUM7RUFFaEcsSUFBTUMsUUFBUSxHQUFHOUQsV0FBVyxDQUMxQixVQUFDK0QsUUFBZSxFQUFLO0lBQ25CMUIsU0FBUyxDQUFDLFVBQUEyQixJQUFJLEVBQUk7TUFDaEI7TUFDQSxJQUFNQyxXQUFXLEdBQUdELElBQUksQ0FBQzlCLElBQUksQ0FBQ2dDLElBQUksQ0FBQyxVQUFBQyxhQUFhO1FBQUEsT0FBSUEsYUFBYSxDQUFDQyxFQUFFLEtBQUtMLFFBQVEsQ0FBQ0ssRUFBRTtNQUFBLEVBQUM7TUFDckYsSUFBSUgsV0FBVyxFQUFFO1FBQ2YsT0FBT0QsSUFBSTtNQUNiO01BQ0EsSUFBTUssT0FBTyxNQUFBN0MsTUFBQSxDQUFBQyxrQkFBQSxDQUFPdUMsSUFBSSxDQUFDOUIsSUFBSSxJQUFFNkIsUUFBUSxFQUFDO01BQ3hDLElBQU1PLFVBQVUsR0FBRzlELFVBQVUsQ0FBQzZELE9BQU8sQ0FBQztNQUN0QyxPQUFBRSxhQUFBLENBQUFBLGFBQUEsS0FDS1AsSUFBSTtRQUNQOUIsSUFBSSxFQUFFb0M7TUFBVTtJQUVwQixDQUFDLENBQUM7SUFDRnZDLFlBQVksQ0FBQyxDQUFDO0VBQ2hCLENBQUMsRUFDRCxDQUFDQSxZQUFZLENBQ2YsQ0FBQztFQUVELElBQU15QyxXQUFXLEdBQUd4RSxXQUFXLENBQUMsVUFBQ3lFLE9BQXdCLEVBQUs7SUFDNURwQyxTQUFTLENBQUMsVUFBQTJCLElBQUk7TUFBQSxPQUFBTyxhQUFBLENBQUFBLGFBQUEsS0FDVFAsSUFBSTtRQUNQOUIsSUFBSSxFQUFFOEIsSUFBSSxDQUFDOUIsSUFBSSxDQUFDdkIsTUFBTSxDQUFDLFVBQUFPLENBQUM7VUFBQSxPQUFJQSxDQUFDLENBQUNrRCxFQUFFLEtBQUtLLE9BQU8sQ0FBQ0MsUUFBUSxDQUFDLENBQUM7UUFBQTtNQUFDO0lBQUEsQ0FDeEQsQ0FBQztFQUNMLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNQyxXQUFXLEdBQUczRSxXQUFXLENBQUMsVUFBQzRFLFlBQW1CLEVBQUs7SUFDdkR2QyxTQUFTLENBQUMsVUFBQTJCLElBQUksRUFBSTtNQUNoQixJQUFNYSxXQUFXLEdBQUdiLElBQUksQ0FBQzlCLElBQUksQ0FBQzRDLEdBQUcsQ0FBQyxVQUFBWCxhQUFhO1FBQUEsT0FDN0NBLGFBQWEsQ0FBQ0MsRUFBRSxLQUFLUSxZQUFZLENBQUNSLEVBQUUsR0FBR1EsWUFBWSxHQUFHVCxhQUFhO01BQUEsQ0FDckUsQ0FBQztNQUNELElBQU1HLFVBQVUsR0FBRzlELFVBQVUsQ0FBQ3FFLFdBQVcsQ0FBQztNQUMxQyxPQUFBTixhQUFBLENBQUFBLGFBQUEsS0FDS1AsSUFBSTtRQUNQOUIsSUFBSSxFQUFFb0M7TUFBVTtJQUVwQixDQUFDLENBQUM7RUFDSixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sSUFBTVMsbUJBQW1CLEdBQUcvRSxXQUFXLENBQ3JDLFVBQUM0RSxZQUFtQixFQUFrQztJQUFBLElBQWhDSSxVQUFtQixHQUFBQyxTQUFBLENBQUExRCxNQUFBLFFBQUEwRCxTQUFBLFFBQUFDLFNBQUEsR0FBQUQsU0FBQSxNQUFHLEtBQUs7SUFDL0M1QyxTQUFTLENBQUMsVUFBQTJCLElBQUksRUFBSTtNQUNoQixJQUFNYSxXQUFXLEdBQUdiLElBQUksQ0FBQzlCLElBQUksQ0FBQzRDLEdBQUcsQ0FBQyxVQUFBWCxhQUFhLEVBQUk7UUFDakQsSUFBSUEsYUFBYSxDQUFDQyxFQUFFLEtBQUtRLFlBQVksQ0FBQ1IsRUFBRSxFQUFFO1VBQ3hDLElBQUFlLEtBQUEsR0FBb0NQLFlBQVk7WUFBeENRLE9BQU8sR0FBQUQsS0FBQSxDQUFQQyxPQUFPO1lBQUtDLFdBQVcsR0FBQUMsd0JBQUEsQ0FBQUgsS0FBQSxFQUFBSSxTQUFBO1VBQy9CLElBQU1DLFdBQVcsR0FBQWpCLGFBQUEsQ0FBQUEsYUFBQSxLQUFRSixhQUFhLEdBQUtrQixXQUFXLENBQUU7VUFDeEQsT0FBT0csV0FBVztRQUNwQjtRQUNBLE9BQU9yQixhQUFhO01BQ3RCLENBQUMsQ0FBQzs7TUFFRjtNQUNBLElBQU1zQixTQUFTLEdBQUdULFVBQVUsR0FBR3hFLFVBQVUsQ0FBQ3FFLFdBQVcsQ0FBQyxHQUFHQSxXQUFXO01BRXBFLE9BQUFOLGFBQUEsQ0FBQUEsYUFBQSxLQUNLUCxJQUFJO1FBQ1A5QixJQUFJLEVBQUV1RDtNQUFTO0lBRW5CLENBQUMsQ0FBQzs7SUFFRjtJQUNBLElBQUksQ0FBQTNELEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFc0MsRUFBRSxNQUFLUSxZQUFZLENBQUNSLEVBQUUsRUFBRTtNQUNqQyxJQUFNRCxhQUFhLEdBQUcxRCxNQUFNLENBQUN5QixJQUFJLENBQUN3RCxJQUFJLENBQUMsVUFBQXhFLENBQUM7UUFBQSxPQUFJQSxDQUFDLENBQUNrRCxFQUFFLEtBQUtRLFlBQVksQ0FBQ1IsRUFBRTtNQUFBLEVBQUM7TUFDckUsSUFBSUQsYUFBYSxFQUFFO1FBQ2pCLElBQUF3QixLQUFBLEdBQW9DZixZQUFZO1VBQXhDUSxPQUFPLEdBQUFPLEtBQUEsQ0FBUFAsT0FBTztVQUFLQyxXQUFXLEdBQUFDLHdCQUFBLENBQUFLLEtBQUEsRUFBQUMsVUFBQTtRQUMvQixJQUFNSixXQUFXLEdBQUFqQixhQUFBLENBQUFBLGFBQUEsS0FBUUosYUFBYSxHQUFLa0IsV0FBVyxDQUFFO1FBQ3hEekQsV0FBVyxDQUFDNEQsV0FBVyxDQUFDO01BQzFCLENBQUMsTUFBTTtRQUNMLElBQUFLLEtBQUEsR0FBb0NqQixZQUFZO1VBQXhDUSxRQUFPLEdBQUFTLEtBQUEsQ0FBUFQsT0FBTztVQUFLQyxZQUFXLEdBQUFDLHdCQUFBLENBQUFPLEtBQUEsRUFBQUMsVUFBQTtRQUMvQmxFLFdBQVcsQ0FBQ3lELFlBQW9CLENBQUM7TUFDbkM7SUFDRjtFQUNGLENBQUMsRUFDRCxDQUFDdkQsS0FBSyxFQUFFRixXQUFXLEVBQUVuQixNQUFNLENBQUN5QixJQUFJLENBQ2xDLENBQUM7RUFFRCxJQUFNNkQsY0FBYyxHQUFHL0YsV0FBVyxDQUFDLFlBQU07SUFDdkNxQyxTQUFTLENBQUMsVUFBQTJCLElBQUksRUFBSTtNQUNoQixJQUFNTSxVQUFVLEdBQUc5RCxVQUFVLENBQUN3RCxJQUFJLENBQUM5QixJQUFJLENBQUM7TUFDeEMsT0FBQXFDLGFBQUEsQ0FBQUEsYUFBQSxLQUNLUCxJQUFJO1FBQ1A5QixJQUFJLEVBQUVvQztNQUFVO0lBRXBCLENBQUMsQ0FBQztFQUNKLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNMEIsZ0JBQWdCLEdBQUdoRyxXQUFXLENBQ2xDLFVBQUN5RSxPQUFnQixFQUFLO0lBQ3BCLElBQUloRSxNQUFNLENBQUN5QixJQUFJLENBQUNYLE1BQU0sRUFBRTtNQUN0QixJQUFNMEUsVUFBVSxHQUFHeEYsTUFBTSxDQUFDeUIsSUFBSSxDQUFDZ0UsU0FBUyxDQUFDLFVBQUFDLFNBQVM7UUFBQSxPQUFJQSxTQUFTLENBQUMvQixFQUFFLEtBQUtLLE9BQU87TUFBQSxFQUFDO01BQy9FbEIsb0JBQW9CLENBQUM2QyxPQUFPLEdBQUczRixNQUFNLENBQUN5QixJQUFJLENBQUMrRCxVQUFVLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7TUFDcEVyRSxXQUFXLENBQUNuQixNQUFNLENBQUN5QixJQUFJLENBQUMrRCxVQUFVLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRDtFQUNGLENBQUMsRUFDRCxDQUFDeEYsTUFBTSxDQUFDeUIsSUFBSSxFQUFFTixXQUFXLENBQzNCLENBQUM7RUFFRCxJQUFNeUUsZUFBZSxHQUFHckcsV0FBVztJQUFBLElBQUFzRyxLQUFBLEdBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FDakMsU0FBQUMsUUFBT0MsYUFBcUI7TUFBQSxJQUFBQyxpQkFBQTtNQUFBLElBQUFDLFVBQUEsRUFBQUMsYUFBQSxFQUFBQyxXQUFBLEVBQUFDLE9BQUEsRUFBQUMsVUFBQSxFQUFBdkcsV0FBQSxFQUFBd0csY0FBQSxFQUFBQyxVQUFBLEVBQUFDLFlBQUEsRUFBQUMsUUFBQSxFQUFBQyxtQkFBQSxFQUFBQyxrQkFBQSxFQUFBQyxtQkFBQSxFQUFBQyxVQUFBLEVBQUFDLFlBQUEsRUFBQUMsYUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxjQUFBLEVBQUFDLFVBQUEsRUFBQUMscUJBQUEsRUFBQUMsb0JBQUEsRUFBQUMscUJBQUEsRUFBQUMsV0FBQSxFQUFBQyxXQUFBLEVBQUFDLFdBQUEsRUFBQUMsSUFBQSxFQUFBQyxRQUFBLEVBQUFwRyxJQUFBLEVBQUFxRyxxQkFBQSxFQUFBQyxxQkFBQSxFQUFBQyxzQkFBQSxFQUFBQyxZQUFBLEVBQUFDLFlBQUEsRUFBQUMsYUFBQSxFQUFBQyxxQkFBQSxFQUFBQyxzQkFBQSxFQUFBQyxlQUFBLEVBQUFDLGdCQUFBLEVBQUEvQyxVQUFBLEVBQUFnRCxzQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxtQkFBQSxFQUFBQyxFQUFBLEVBQUFDLEdBQUEsRUFBQUMsR0FBQSxFQUFBQyxHQUFBO01BQUEsT0FBQWhELG1CQUFBLENBQUFpRCxJQUFBLFdBQUFDLFFBQUE7UUFBQSxrQkFBQUEsUUFBQSxDQUFBMUYsSUFBQSxHQUFBMEYsUUFBQSxDQUFBQyxJQUFBO1VBQUE7WUFBQSxLQUN0Qm5HLGVBQWUsQ0FBQzRDLE9BQU87Y0FBQXNELFFBQUEsQ0FBQUMsSUFBQTtjQUFBO1lBQUE7WUFBQSxPQUFBRCxRQUFBLENBQUFFLE1BQUE7VUFBQTtZQUlyQi9DLFVBQVUsR0FBRyxDQUFBRixhQUFhLGFBQWJBLGFBQWEsZ0JBQUFDLGlCQUFBLEdBQWJELGFBQWEsQ0FBRXZDLEVBQUUsY0FBQXdDLGlCQUFBLHVCQUFqQkEsaUJBQUEsQ0FBbUJsQyxRQUFRLENBQUMsQ0FBQyxLQUFJLFNBQVM7WUFBQSxNQUN6RGpCLGNBQWMsQ0FBQzJDLE9BQU8sS0FBS1MsVUFBVSxJQUFJLENBQUNyRSxPQUFPO2NBQUFrSCxRQUFBLENBQUFDLElBQUE7Y0FBQTtZQUFBO1lBQUEsT0FBQUQsUUFBQSxDQUFBRSxNQUFBO1VBQUE7WUFJckRwRyxlQUFlLENBQUM0QyxPQUFPLEdBQUcsSUFBSTtZQUM5QjNDLGNBQWMsQ0FBQzJDLE9BQU8sR0FBR1MsVUFBVTtZQUNuQ3BFLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDaEJRLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFFUjZELGFBQWEsR0FBRyxDQUFDLENBQUMrQyxNQUFNLENBQUNDLDJCQUEyQixJQUFJLENBQUMsQ0FBQ0QsTUFBTSxDQUFDRSx3Q0FBd0M7WUFBQUwsUUFBQSxDQUFBMUYsSUFBQTtZQUd6RytDLFdBQW9CLEdBQUcsRUFBRTtZQUN6QkMsT0FBTyxHQUFHLEtBQUs7WUFDZkMsVUFBeUIsR0FBRyxJQUFJLEVBRXBDO1lBQUEsS0FDSUgsYUFBYTtjQUFBNEMsUUFBQSxDQUFBQyxJQUFBO2NBQUE7WUFBQTtZQUNmO1lBQ0lqSixXQUFvQixHQUFHLEVBQUU7WUFBQSxJQUN4QmdELGlCQUFpQixDQUFDc0csUUFBUSxDQUFDaEksSUFBSSxDQUFDaUksT0FBTyxDQUFDO2NBQUFQLFFBQUEsQ0FBQUMsSUFBQTtjQUFBO1lBQUE7WUFBQUQsUUFBQSxDQUFBMUYsSUFBQTtZQUVuQ21ELFVBQVUsR0FDZHRGLE9BQU8sS0FBSyxRQUFRLEdBQUcsdUJBQXVCLEdBQUdBLE9BQU8sS0FBSyxTQUFTLEdBQUcsdUJBQXVCLEdBQUcsRUFBRTtZQUFBNkgsUUFBQSxDQUFBQyxJQUFBO1lBQUEsT0FDNUV2SixTQUFTLENBQUM7Y0FDbkNpSSxJQUFJLGtDQUFBN0csTUFBQSxDQUFrQ2pCLFVBQVUsQ0FBQytDLElBQUksQ0FBQzRHLFFBQVEsQ0FBQyxFQUFBMUksTUFBQSxDQUFHMkYsVUFBVSxDQUFFO2NBQzlFZ0QsTUFBTSxFQUFFO1lBQ1YsQ0FBQyxDQUFDO1VBQUE7WUFISS9DLFlBQVksR0FBQXNDLFFBQUEsQ0FBQVUsSUFBQTtZQUFBVixRQUFBLENBQUFDLElBQUE7WUFBQSxPQUlLdkMsWUFBWSxDQUFDaUQsSUFBSSxDQUFDLENBQUM7VUFBQTtZQUFwQ2hELFFBQVEsR0FBQXFDLFFBQUEsQ0FBQVUsSUFBQTtZQUNkMUosV0FBVyxHQUFHLEVBQUF3RyxjQUFBLEdBQUFHLFFBQVEsQ0FBQ25GLElBQUksY0FBQWdGLGNBQUEsdUJBQWJBLGNBQUEsQ0FBZXZHLE1BQU0sQ0FBQyxVQUFDQyxFQUFTO2NBQUEsT0FBS0EsRUFBRSxDQUFDQyxJQUFJLEtBQUssT0FBTztZQUFBLEVBQUMsS0FBSSxFQUFFO1lBQUE2SSxRQUFBLENBQUFDLElBQUE7WUFBQTtVQUFBO1lBQUFELFFBQUEsQ0FBQTFGLElBQUE7WUFBQXFGLEVBQUEsR0FBQUssUUFBQTtZQUU3RTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ01qQyxVQUFVLEdBQ2QsQ0FBQTRCLEVBQUEsYUFBQUEsRUFBQSxnQkFBQS9CLG1CQUFBLEdBQUErQixFQUFBLENBQVdmLFFBQVEsY0FBQWhCLG1CQUFBLHVCQUFuQkEsbUJBQUEsQ0FBcUJnRCxNQUFNLE1BQUssR0FBRyxJQUNuQyxDQUFBakIsRUFBQSxhQUFBQSxFQUFBLHVCQUFBQSxFQUFBLENBQVdpQixNQUFNLE1BQUssR0FBRyxLQUFBakIsRUFBQSxhQUFBQSxFQUFBLGdCQUFBOUIsa0JBQUEsR0FDekI4QixFQUFBLENBQVdqRSxPQUFPLGNBQUFtQyxrQkFBQSx1QkFBbEJBLGtCQUFBLENBQW9CeUMsUUFBUSxDQUFDLDBDQUEwQyxDQUFDLE1BQUFYLEVBQUEsYUFBQUEsRUFBQSxnQkFBQTdCLG1CQUFBLEdBQ3hFNkIsRUFBQSxDQUFXakUsT0FBTyxjQUFBb0MsbUJBQUEsdUJBQWxCQSxtQkFBQSxDQUFvQndDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFDO1lBQUEsS0FFbkR2QyxVQUFVO2NBQUFpQyxRQUFBLENBQUFDLElBQUE7Y0FBQTtZQUFBO1lBQUFELFFBQUEsQ0FBQUMsSUFBQTtZQUFBO1VBQUE7WUFBQSxNQUFBTixFQUFBO1VBQUE7WUFTbEI7WUFDSTNCLFlBQXFCLEdBQUcsRUFBRTtZQUMxQkMsYUFBYSxHQUFHLEtBQUs7WUFDckJDLGdCQUErQixHQUFHLElBQUk7WUFBQThCLFFBQUEsQ0FBQTFGLElBQUE7WUFBQTBGLFFBQUEsQ0FBQUMsSUFBQTtZQUFBLE9BR1h2SixTQUFTLENBQUM7Y0FDckNpSSxJQUFJLEVBQUUsMkNBQTJDO2NBQ2pEOEIsTUFBTSxFQUFFO1lBQ1YsQ0FBQyxDQUFDO1VBQUE7WUFISXRDLGNBQWMsR0FBQTZCLFFBQUEsQ0FBQVUsSUFBQTtZQUFBVixRQUFBLENBQUFDLElBQUE7WUFBQSxPQUlLOUIsY0FBYyxDQUFDd0MsSUFBSSxDQUFDLENBQUM7VUFBQTtZQUF4Q3ZDLFVBQVUsR0FBQTRCLFFBQUEsQ0FBQVUsSUFBQTtZQUNoQjFDLFlBQVksR0FBR0ksVUFBVSxDQUFDNUYsSUFBSSxJQUFJLEVBQUU7WUFDcEN5RixhQUFhLEdBQUdHLFVBQVUsQ0FBQ3lDLFFBQVEsSUFBSSxLQUFLO1lBQzVDM0MsZ0JBQWdCLEdBQUdFLFVBQVUsQ0FBQzBDLFdBQVcsSUFBSSxJQUFJO1lBQUFkLFFBQUEsQ0FBQUMsSUFBQTtZQUFBO1VBQUE7WUFBQUQsUUFBQSxDQUFBMUYsSUFBQTtZQUFBc0YsR0FBQSxHQUFBSSxRQUFBO1lBRWpEO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDTWpDLFdBQVUsR0FDZCxDQUFBNkIsR0FBQSxhQUFBQSxHQUFBLGdCQUFBdkIscUJBQUEsR0FBQXVCLEdBQUEsQ0FBYWhCLFFBQVEsY0FBQVAscUJBQUEsdUJBQXJCQSxxQkFBQSxDQUF1QnVDLE1BQU0sTUFBSyxHQUFHLElBQ3JDLENBQUFoQixHQUFBLGFBQUFBLEdBQUEsdUJBQUFBLEdBQUEsQ0FBYWdCLE1BQU0sTUFBSyxHQUFHLEtBQUFoQixHQUFBLGFBQUFBLEdBQUEsZ0JBQUF0QixvQkFBQSxHQUMzQnNCLEdBQUEsQ0FBYWxFLE9BQU8sY0FBQTRDLG9CQUFBLHVCQUFwQkEsb0JBQUEsQ0FBc0JnQyxRQUFRLENBQUMsMENBQTBDLENBQUMsTUFBQVYsR0FBQSxhQUFBQSxHQUFBLGdCQUFBckIscUJBQUEsR0FDMUVxQixHQUFBLENBQWFsRSxPQUFPLGNBQUE2QyxxQkFBQSx1QkFBcEJBLHFCQUFBLENBQXNCK0IsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEdBQUM7WUFBQSxLQUVyRHZDLFdBQVU7Y0FBQWlDLFFBQUEsQ0FBQUMsSUFBQTtjQUFBO1lBQUE7WUFBQUQsUUFBQSxDQUFBQyxJQUFBO1lBQUE7VUFBQTtZQUFBLE1BQUFMLEdBQUE7VUFBQTtZQVdoQjtZQUNBO1lBQ0EsSUFBSTVGLGlCQUFpQixDQUFDc0csUUFBUSxDQUFDaEksSUFBSSxDQUFDaUksT0FBTyxDQUFDLEVBQUU7Y0FDNUM7Y0FDQTtjQUNBbEQsV0FBVyxHQUFHVyxZQUFZO1lBQzVCLENBQUMsTUFBTTtjQUNMO2NBQ0E7Y0FDQTtjQUNBWCxXQUFXLEdBQUdyRyxXQUFXLENBQUNhLE1BQU0sTUFBQUMsTUFBQSxDQUFBQyxrQkFBQSxDQUFPZixXQUFXLEdBQUFlLGtCQUFBLENBQUtpRyxZQUFZLEtBQUlBLFlBQVk7WUFDckY7WUFDQTtZQUNBWCxXQUFXLEdBQUd2RyxVQUFVLENBQUN1RyxXQUFXLENBQUM7WUFDckNDLE9BQU8sR0FBR1csYUFBYTtZQUN2QlYsVUFBVSxHQUFHVyxnQkFBZ0I7WUFFN0J2RixTQUFTLENBQUM7Y0FDUkgsSUFBSSxFQUFFNkUsV0FBVztjQUNqQndELFFBQVEsRUFBRXZELE9BQU87Y0FDakJ3RCxXQUFXLEVBQUV2RDtZQUNmLENBQUMsQ0FBQzs7WUFFRjtZQUNBO1lBQ0EsSUFBSUYsV0FBVyxDQUFDeEYsTUFBTSxLQUFLLENBQUMsRUFBRTtjQUM1QjBCLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDaEI7WUFBQ3lHLFFBQUEsQ0FBQUMsSUFBQTtZQUFBO1VBQUE7WUFFRDtZQUNNeEIsV0FBVyxHQUFHLElBQUlzQyxlQUFlLENBQUMsQ0FBQztZQUN6QyxJQUFJNUksT0FBTyxLQUFLLFNBQVMsSUFBSUEsT0FBTyxLQUFLLFFBQVEsRUFBRTtjQUNqRHNHLFdBQVcsQ0FBQ3VDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDO2NBQ3pDdkMsV0FBVyxDQUFDdUMsTUFBTSxDQUFDLE1BQU0sRUFBRW5LLFVBQVUsQ0FBQytDLElBQUksQ0FBQzRHLFFBQVEsQ0FBQyxDQUFDO2NBQ3JEL0IsV0FBVyxDQUFDdUMsTUFBTSxDQUFDLE9BQU8sRUFBRTdJLE9BQU8sS0FBSyxRQUFRLEdBQUcsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7WUFDekYsQ0FBQyxNQUFNLElBQUlBLE9BQU8sS0FBSyxRQUFRLElBQUksQ0FBQ2lGLGFBQWEsRUFBRTtjQUNqRDtjQUNBcUIsV0FBVyxDQUFDdUMsTUFBTSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUM7Y0FDekN2QyxXQUFXLENBQUN1QyxNQUFNLENBQUMsTUFBTSxFQUFFbkssVUFBVSxDQUFDK0MsSUFBSSxDQUFDNEcsUUFBUSxDQUFDLENBQUM7Y0FDckQvQixXQUFXLENBQUN1QyxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQztjQUNoQ3ZDLFdBQVcsQ0FBQ3VDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDO1lBQ25DO1lBRU10QyxXQUFXLEdBQUdELFdBQVcsQ0FBQ3pELFFBQVEsQ0FBQyxDQUFDO1lBQ3BDMkQsSUFBSSxZQUFBN0csTUFBQSxDQUFZNEcsV0FBVyxPQUFBNUcsTUFBQSxDQUFPNEcsV0FBVyxJQUFLLEVBQUU7WUFBQXNCLFFBQUEsQ0FBQTFGLElBQUE7WUFBQTBGLFFBQUEsQ0FBQUMsSUFBQTtZQUFBLE9BR2pDdkosU0FBUyxDQUFDO2NBQy9CaUksSUFBSSxFQUFKQSxJQUFJO2NBQ0o4QixNQUFNLEVBQUU7WUFDVixDQUFDLENBQUM7VUFBQTtZQUhJN0IsUUFBUSxHQUFBb0IsUUFBQSxDQUFBVSxJQUFBO1lBQUFWLFFBQUEsQ0FBQUMsSUFBQTtZQUFBLE9BS0tyQixRQUFRLENBQUMrQixJQUFJLENBQUMsQ0FBQztVQUFBO1lBQTVCbkksSUFBSSxHQUFBd0gsUUFBQSxDQUFBVSxJQUFBO1lBQ1Y7WUFDQXJELFdBQVcsR0FBRzdFLElBQUksQ0FBQ0EsSUFBSSxJQUFJLEVBQUU7WUFDN0I7WUFDQTZFLFdBQVcsR0FBR3ZHLFVBQVUsQ0FBQ3VHLFdBQVcsQ0FBQztZQUNyQ0MsT0FBTyxHQUFHOUUsSUFBSSxDQUFDcUksUUFBUTtZQUN2QnRELFVBQVUsR0FBRy9FLElBQUksQ0FBQ3NJLFdBQVc7WUFFN0JuSSxTQUFTLENBQUFrQyxhQUFBLENBQUFBLGFBQUEsS0FDSnJDLElBQUk7Y0FDUEEsSUFBSSxFQUFFNkU7WUFBVyxFQUNsQixDQUFDO1lBQUEyQyxRQUFBLENBQUFDLElBQUE7WUFBQTtVQUFBO1lBQUFELFFBQUEsQ0FBQTFGLElBQUE7WUFBQXVGLEdBQUEsR0FBQUcsUUFBQTtZQUVGO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDTWpDLFlBQVUsR0FDZCxDQUFBOEIsR0FBQSxhQUFBQSxHQUFBLGdCQUFBaEIscUJBQUEsR0FBQWdCLEdBQUEsQ0FBZWpCLFFBQVEsY0FBQUMscUJBQUEsdUJBQXZCQSxxQkFBQSxDQUF5QitCLE1BQU0sTUFBSyxHQUFHLElBQ3ZDLENBQUFmLEdBQUEsYUFBQUEsR0FBQSx1QkFBQUEsR0FBQSxDQUFlZSxNQUFNLE1BQUssR0FBRyxLQUFBZixHQUFBLGFBQUFBLEdBQUEsZ0JBQUFmLHFCQUFBLEdBQzdCZSxHQUFBLENBQWVuRSxPQUFPLGNBQUFvRCxxQkFBQSx1QkFBdEJBLHFCQUFBLENBQXdCd0IsUUFBUSxDQUFDLDBDQUEwQyxDQUFDLE1BQUFULEdBQUEsYUFBQUEsR0FBQSxnQkFBQWQsc0JBQUEsR0FDNUVjLEdBQUEsQ0FBZW5FLE9BQU8sY0FBQXFELHNCQUFBLHVCQUF0QkEsc0JBQUEsQ0FBd0J1QixRQUFRLENBQUMsc0JBQXNCLENBQUMsR0FBQztZQUFBLEtBRXZEdkMsWUFBVTtjQUFBaUMsUUFBQSxDQUFBQyxJQUFBO2NBQUE7WUFBQTtZQUNaO1lBQ0F0SCxTQUFTLENBQUM7Y0FDUkgsSUFBSSxFQUFFLEVBQUU7Y0FDUnFJLFFBQVEsRUFBRSxLQUFLO2NBQ2ZDLFdBQVcsRUFBRTtZQUNmLENBQUMsQ0FBQztZQUNGO1lBQ0F2SCxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQUF5RyxRQUFBLENBQUFDLElBQUE7WUFBQTtVQUFBO1lBQUEsTUFBQUosR0FBQTtVQUFBO1lBUXBCO1lBQ0EsSUFBSXhDLFdBQVcsQ0FBQ3hGLE1BQU0sR0FBRyxDQUFDLEVBQUU7Y0FDMUIsSUFBSW9GLGFBQWEsSUFBSUksV0FBVyxDQUFDckIsSUFBSSxDQUFDLFVBQUNpRixjQUFxQjtnQkFBQSxPQUFLQSxjQUFjLENBQUN2RyxFQUFFLEtBQUt1QyxhQUFhLENBQUN2QyxFQUFFO2NBQUEsRUFBQyxFQUFFO2dCQUN4RyxJQUFJLEVBQUF5RSxxQkFBQSxHQUFBdEYsb0JBQW9CLENBQUM2QyxPQUFPLGNBQUF5QyxxQkFBQSx1QkFBNUJBLHFCQUFBLENBQThCekUsRUFBRSxNQUFLdUMsYUFBYSxDQUFDdkMsRUFBRSxFQUFFO2tCQUN6RGIsb0JBQW9CLENBQUM2QyxPQUFPLEdBQUdPLGFBQWE7a0JBQzVDL0UsV0FBVyxDQUFDK0UsYUFBYSxDQUFDO2dCQUM1QjtjQUNGLENBQUMsTUFBTSxJQUFJLENBQUFnQyxZQUFBLEdBQUE1QixXQUFXLGNBQUE0QixZQUFBLGVBQVhBLFlBQUEsQ0FBYyxDQUFDLENBQUMsS0FBSyxDQUFDN0csS0FBSyxJQUFJLENBQUNpRixXQUFXLENBQUNyQixJQUFJLENBQUMsVUFBQ3hFLENBQVE7Z0JBQUEsT0FBS0EsQ0FBQyxDQUFDa0QsRUFBRSxLQUFLdEMsS0FBSyxDQUFDc0MsRUFBRTtjQUFBLEVBQUMsQ0FBQyxFQUFFO2dCQUN2RjJFLGVBQWUsR0FDbkJjLE1BQU0sQ0FBQ0MsMkJBQTJCLElBQUksQ0FBQ3BHLGlCQUFpQixDQUFDc0csUUFBUSxDQUFDaEksSUFBSSxDQUFDaUksT0FBTyxDQUFDLEdBQzNFbEQsV0FBVyxHQUNYQSxXQUFXLENBQUNwRyxNQUFNLENBQUMsVUFBQ2lLLFNBQWdCO2tCQUFBLE9BQUtBLFNBQVMsQ0FBQy9KLElBQUksS0FBSyxPQUFPO2dCQUFBLEVBQUM7Z0JBQUFtSSxnQkFBQSxHQUFBNUcsY0FBQSxDQUVyRDJHLGVBQWUsTUFBN0I5QyxVQUFVLEdBQUErQyxnQkFBQTtnQkFDakIsSUFBSS9DLFVBQVUsSUFBSSxFQUFBNkMsc0JBQUEsR0FBQXZGLG9CQUFvQixDQUFDNkMsT0FBTyxjQUFBMEMsc0JBQUEsdUJBQTVCQSxzQkFBQSxDQUE4QjFFLEVBQUUsTUFBSzZCLFVBQVUsQ0FBQzdCLEVBQUUsRUFBRTtrQkFDcEViLG9CQUFvQixDQUFDNkMsT0FBTyxHQUFHSCxVQUFVO2tCQUN6Q3JFLFdBQVcsQ0FBQ3FFLFVBQVUsQ0FBQztnQkFDekI7Y0FDRixDQUFDLE1BQU0sSUFBSVUsYUFBYSxLQUFBaUMsYUFBQSxHQUFJN0IsV0FBVyxjQUFBNkIsYUFBQSxlQUFYQSxhQUFBLENBQWFySCxNQUFNLEVBQUU7Z0JBQ3pDd0gsaUJBQWUsR0FDbkJjLE1BQU0sQ0FBQ0MsMkJBQTJCLElBQUksQ0FBQ3BHLGlCQUFpQixDQUFDc0csUUFBUSxDQUFDaEksSUFBSSxDQUFDaUksT0FBTyxDQUFDLEdBQzNFbEQsV0FBVyxHQUNYQSxXQUFXLENBQUNwRyxNQUFNLENBQUMsVUFBQ2lLLFNBQWdCO2tCQUFBLE9BQUtBLFNBQVMsQ0FBQy9KLElBQUksS0FBSyxPQUFPO2dCQUFBLEVBQUM7Z0JBQUFzSSxpQkFBQSxHQUFBL0csY0FBQSxDQUU1QzJHLGlCQUFlLE1BQXRDSyxtQkFBbUIsR0FBQUQsaUJBQUE7Z0JBQzFCLElBQUlDLG1CQUFtQixJQUFJLEVBQUFILHNCQUFBLEdBQUExRixvQkFBb0IsQ0FBQzZDLE9BQU8sY0FBQTZDLHNCQUFBLHVCQUE1QkEsc0JBQUEsQ0FBOEI3RSxFQUFFLE1BQUtnRixtQkFBbUIsQ0FBQ2hGLEVBQUUsRUFBRTtrQkFDdEZiLG9CQUFvQixDQUFDNkMsT0FBTyxHQUFHZ0QsbUJBQW1CO2tCQUNsRHhILFdBQVcsQ0FBQ3dILG1CQUFtQixDQUFDO2dCQUNsQztjQUNGO1lBQ0Y7WUFFQTNHLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFBQWlILFFBQUEsQ0FBQUMsSUFBQTtZQUFBO1VBQUE7WUFBQUQsUUFBQSxDQUFBMUYsSUFBQTtZQUFBd0YsR0FBQSxHQUFBRSxRQUFBO1lBRWpCekcsUUFBUSxDQUFDdUcsR0FBQSxZQUFlcUIsS0FBSyxHQUFHckIsR0FBQSxDQUFJcEUsT0FBTyxHQUFHLDJCQUEyQixDQUFDO1lBQzFFM0MsVUFBVSxDQUFDLEtBQUssQ0FBQztVQUFBO1lBQUFpSCxRQUFBLENBQUExRixJQUFBO1lBRWpCUixlQUFlLENBQUM0QyxPQUFPLEdBQUcsS0FBSztZQUMvQjBFLFVBQVUsQ0FBQyxZQUFNO2NBQ2YsSUFBSSxDQUFDdEgsZUFBZSxDQUFDNEMsT0FBTyxFQUFFO2dCQUM1QjNDLGNBQWMsQ0FBQzJDLE9BQU8sR0FBRyxJQUFJO2NBQy9CO1lBQ0YsQ0FBQyxFQUFFLEdBQUcsQ0FBQztZQUFBLE9BQUFzRCxRQUFBLENBQUFxQixNQUFBO1VBQUE7VUFBQTtZQUFBLE9BQUFyQixRQUFBLENBQUFzQixJQUFBO1FBQUE7TUFBQSxHQUFBdEUsT0FBQTtJQUFBLENBRVY7SUFBQSxpQkFBQXVFLEVBQUE7TUFBQSxPQUFBM0UsS0FBQSxDQUFBNEUsS0FBQSxPQUFBakcsU0FBQTtJQUFBO0VBQUEsS0FDRCxDQUFDckQsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLEtBQUssRUFBRVUsT0FBTyxDQUN2QyxDQUFDO0VBRUQsSUFBTTJJLGNBQWMsR0FBR25MLFdBQVcsY0FBQXVHLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBQyxTQUFBMkUsU0FBQTtJQUFBLElBQUF0RSxhQUFBLEVBQUF1RSxXQUFBLEVBQUFoRCxJQUFBLEVBQUFGLFdBQUEsRUFBQUcsUUFBQSxFQUFBcEcsSUFBQSxFQUFBb0osR0FBQTtJQUFBLE9BQUE5RSxtQkFBQSxDQUFBaUQsSUFBQSxXQUFBOEIsU0FBQTtNQUFBLGtCQUFBQSxTQUFBLENBQUF2SCxJQUFBLEdBQUF1SCxTQUFBLENBQUE1QixJQUFBO1FBQUE7VUFDM0I3QyxhQUFhLEdBQUcsQ0FBQyxDQUFDK0MsTUFBTSxDQUFDQywyQkFBMkIsSUFBSSxDQUFDLENBQUNELE1BQU0sQ0FBQ0Usd0NBQXdDLEVBQy9HO1VBQ01zQixXQUFXLEdBQUd4SixPQUFPLEtBQUssUUFBUSxJQUFJaUYsYUFBYTtVQUFBLE1BQ3JELENBQUN1RSxXQUFXLElBQUksQ0FBQzVLLE1BQU0sQ0FBQzhKLFFBQVEsSUFBSSxDQUFDOUosTUFBTSxDQUFDK0osV0FBVyxJQUFJNUgsV0FBVztZQUFBMkksU0FBQSxDQUFBNUIsSUFBQTtZQUFBO1VBQUE7VUFBQSxPQUFBNEIsU0FBQSxDQUFBM0IsTUFBQTtRQUFBO1VBSTFFL0csY0FBYyxDQUFDLElBQUksQ0FBQztVQUNwQkksUUFBUSxDQUFDLElBQUksQ0FBQztVQUFBc0ksU0FBQSxDQUFBdkgsSUFBQTtVQUtaO1VBQ0EsSUFBSThDLGFBQWEsRUFBRTtZQUNqQnVCLElBQUksOENBQUE3RyxNQUFBLENBQThDZixNQUFNLENBQUMrSixXQUFXLENBQUU7VUFDeEUsQ0FBQyxNQUFNO1lBQ0w7WUFDTXJDLFdBQVcsR0FBRyxJQUFJc0MsZUFBZSxDQUFDLENBQUM7WUFDekN0QyxXQUFXLENBQUN1QyxNQUFNLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQztZQUN6Q3ZDLFdBQVcsQ0FBQ3VDLE1BQU0sQ0FBQyxNQUFNLEVBQUVuSyxVQUFVLENBQUMrQyxJQUFJLENBQUM0RyxRQUFRLENBQUMsQ0FBQztZQUNyRC9CLFdBQVcsQ0FBQ3VDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDO1lBQ2hDdkMsV0FBVyxDQUFDdUMsTUFBTSxDQUFDLFFBQVEsRUFBRWpLLE1BQU0sQ0FBQytKLFdBQVcsQ0FBQzlGLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDM0QyRCxJQUFJLGFBQUE3RyxNQUFBLENBQWEyRyxXQUFXLENBQUN6RCxRQUFRLENBQUMsQ0FBQyxDQUFFO1VBQzNDO1VBQUM2RyxTQUFBLENBQUE1QixJQUFBO1VBQUEsT0FFc0J2SixTQUFTLENBQUM7WUFDL0JpSSxJQUFJLEVBQUpBLElBQUk7WUFDSjhCLE1BQU0sRUFBRTtVQUNWLENBQUMsQ0FBQztRQUFBO1VBSEk3QixRQUFRLEdBQUFpRCxTQUFBLENBQUFuQixJQUFBO1VBQUFtQixTQUFBLENBQUE1QixJQUFBO1VBQUEsT0FLS3JCLFFBQVEsQ0FBQytCLElBQUksQ0FBQyxDQUFDO1FBQUE7VUFBNUJuSSxJQUFJLEdBQUFxSixTQUFBLENBQUFuQixJQUFBO1VBRVY7VUFDQS9ILFNBQVMsQ0FBQyxVQUFBMkIsSUFBSSxFQUFJO1lBQ2hCLElBQUk4QyxhQUFhLEVBQUU7Y0FDakI7Y0FDQTtjQUNBLElBQU0wRSxtQkFBbUIsR0FBR3hILElBQUksQ0FBQzlCLElBQUksQ0FBQ3ZCLE1BQU0sQ0FBQyxVQUFDQyxFQUFTO2dCQUFBLE9BQUtBLEVBQUUsQ0FBQ0MsSUFBSSxLQUFLLE9BQU87Y0FBQSxFQUFDOztjQUVoRjtjQUNBLElBQU00SyxZQUFXLEdBQUcsSUFBSUMsR0FBRyxDQUFDMUgsSUFBSSxDQUFDOUIsSUFBSSxDQUFDdkIsTUFBTSxDQUFDLFVBQUNDLEVBQVM7Z0JBQUEsT0FBS0EsRUFBRSxDQUFDQyxJQUFJLEtBQUssT0FBTztjQUFBLEVBQUMsQ0FBQ2lFLEdBQUcsQ0FBQyxVQUFDbEUsRUFBUztnQkFBQSxPQUFLQSxFQUFFLENBQUN3RCxFQUFFO2NBQUEsRUFBQyxDQUFDOztjQUUzRztjQUNBLElBQU11SCxVQUFTLEdBQUd6SixJQUFJLENBQUNBLElBQUksQ0FBQ3ZCLE1BQU0sQ0FBQyxVQUFDQyxFQUFTO2dCQUFBLE9BQUtBLEVBQUUsQ0FBQ0MsSUFBSSxLQUFLLE9BQU8sSUFBSSxDQUFDNEssWUFBVyxDQUFDRyxHQUFHLENBQUNoTCxFQUFFLENBQUN3RCxFQUFFLENBQUM7Y0FBQSxFQUFDOztjQUVqRztjQUNBLElBQU1DLFFBQU8sR0FBR21ILG1CQUFtQixDQUFDakssTUFBTSxNQUFBQyxNQUFBLENBQUFDLGtCQUFBLENBQ2xDK0osbUJBQW1CLEdBQUEvSixrQkFBQSxDQUFLdUMsSUFBSSxDQUFDOUIsSUFBSSxDQUFDdkIsTUFBTSxDQUFDLFVBQUNDLEVBQVM7Z0JBQUEsT0FBS0EsRUFBRSxDQUFDQyxJQUFJLEtBQUssT0FBTztjQUFBLEVBQUMsR0FBQVksa0JBQUEsQ0FBS2tLLFVBQVMsUUFBQW5LLE1BQUEsQ0FBQUMsa0JBQUEsQ0FDMUZ1QyxJQUFJLENBQUM5QixJQUFJLENBQUN2QixNQUFNLENBQUMsVUFBQ0MsRUFBUztnQkFBQSxPQUFLQSxFQUFFLENBQUNDLElBQUksS0FBSyxPQUFPO2NBQUEsRUFBQyxHQUFBWSxrQkFBQSxDQUFLa0ssVUFBUyxFQUFDOztjQUUzRTtjQUNBLElBQU1ySCxXQUFVLEdBQUc5RCxVQUFVLENBQUM2RCxRQUFPLENBQUM7Y0FFdEMsT0FBTztnQkFDTG5DLElBQUksRUFBRW9DLFdBQVU7Z0JBQ2hCaUcsUUFBUSxFQUFFckksSUFBSSxDQUFDcUksUUFBUTtnQkFDdkJDLFdBQVcsRUFBRXRJLElBQUksQ0FBQ3NJO2NBQ3BCLENBQUM7WUFDSDtZQUNBO1lBQ0EsSUFBTWlCLFdBQVcsR0FBRyxJQUFJQyxHQUFHLENBQUMxSCxJQUFJLENBQUM5QixJQUFJLENBQUM0QyxHQUFHLENBQUMsVUFBQ2xFLEVBQVM7Y0FBQSxPQUFLQSxFQUFFLENBQUN3RCxFQUFFO1lBQUEsRUFBQyxDQUFDO1lBQ2hFLElBQU11SCxTQUFTLEdBQUcsQ0FBQ3pKLElBQUksQ0FBQ0EsSUFBSSxJQUFJLEVBQUUsRUFBRXZCLE1BQU0sQ0FBQyxVQUFDQyxFQUFTO2NBQUEsT0FBSyxDQUFDNkssV0FBVyxDQUFDRyxHQUFHLENBQUNoTCxFQUFFLENBQUN3RCxFQUFFLENBQUM7WUFBQSxFQUFDO1lBQ2xGLElBQU1DLE9BQU8sTUFBQTdDLE1BQUEsQ0FBQUMsa0JBQUEsQ0FBT3VDLElBQUksQ0FBQzlCLElBQUksR0FBQVQsa0JBQUEsQ0FBS2tLLFNBQVMsRUFBQzs7WUFFNUM7WUFDQSxJQUFNckgsVUFBVSxHQUFHOUQsVUFBVSxDQUFDNkQsT0FBTyxDQUFDO1lBRXRDLE9BQU87Y0FDTG5DLElBQUksRUFBRW9DLFVBQVU7Y0FDaEJpRyxRQUFRLEVBQUVySSxJQUFJLENBQUNxSSxRQUFRO2NBQ3ZCQyxXQUFXLEVBQUV0SSxJQUFJLENBQUNzSTtZQUNwQixDQUFDO1VBQ0gsQ0FBQyxDQUFDO1VBRUYzSCxjQUFjLENBQUMsS0FBSyxDQUFDO1VBQUEwSSxTQUFBLENBQUE1QixJQUFBO1VBQUE7UUFBQTtVQUFBNEIsU0FBQSxDQUFBdkgsSUFBQTtVQUFBc0gsR0FBQSxHQUFBQyxTQUFBO1VBRXJCcEksbUJBQW1CLENBQUNFLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1VBQ3ZEUixjQUFjLENBQUMsS0FBSyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUEwSSxTQUFBLENBQUFQLElBQUE7TUFBQTtJQUFBLEdBQUFJLFFBQUE7RUFBQSxDQUV4QixJQUFFLENBQUN2SixPQUFPLEVBQUVwQixNQUFNLENBQUM4SixRQUFRLEVBQUU5SixNQUFNLENBQUMrSixXQUFXLEVBQUU1SCxXQUFXLEVBQUVVLElBQUksQ0FBQzRHLFFBQVEsQ0FBQyxDQUFDO0VBRTlFLElBQU0yQixXQUFXLEdBQUcsQ0FBQ3JKLE9BQU8sSUFBSSxDQUFDSSxXQUFXLElBQUksQ0FBQ0ksS0FBSyxJQUFJdkMsTUFBTSxDQUFDeUIsSUFBSSxDQUFDWCxNQUFNLEtBQUssQ0FBQztFQUVsRixPQUFPO0lBQ0xkLE1BQU0sRUFBTkEsTUFBTTtJQUNOK0IsT0FBTyxFQUFQQSxPQUFPO0lBQ1BJLFdBQVcsRUFBWEEsV0FBVztJQUNYSSxLQUFLLEVBQUxBLEtBQUs7SUFDTDZJLFdBQVcsRUFBWEEsV0FBVztJQUNYeEYsZUFBZSxFQUFmQSxlQUFlO0lBQ2Y4RSxjQUFjLEVBQWRBLGNBQWM7SUFDZHJILFFBQVEsRUFBUkEsUUFBUTtJQUNSVSxXQUFXLEVBQVhBLFdBQVc7SUFDWEcsV0FBVyxFQUFYQSxXQUFXO0lBQ1hJLG1CQUFtQixFQUFuQkEsbUJBQW1CO0lBQ25CaUIsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7SUFDaEJELGNBQWMsRUFBZEE7RUFDRixDQUFDO0FBQ0gsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==